
Eu pensei:
echo hello world > /usr/bin/firefox
exibiria a mensagem no navegador. Nada aconteceu. Então eu tentei:
echo hello world > /usr/bin/kwrite
para ver se o kwrite abre com 'hello world' digitado antes. Novamente, nada aconteceu. Depois de tentar executar os dois comandos:
computer:~$ kwrite
/usr/bin/kwrite: line 1: hello: command not found
computer:~$ firefox
/usr/bin/firefox: line 1: hello: command not found
Fazendo ls -l /usr/bin/
:
-rwxr-xr-x 1 root root 182576 2012-08-21 06:42 apt-ftparchive
-rwxr-xr-x 1 root root 116996 2012-08-21 06:41 apt-get
-rwxr-xr-x 1 root root 2151596 2011-10-20 21:45 aptitude
-rwxr-xr-x 1 root root 1939 2011-10-20 21:45 aptitude-create-state-bundle
-rwxr-xr-x 1 root root 3007 2011-10-20 21:45 aptitude-run-state-bundle
-rwxr-xr-x 1 root root 7336 2012-08-21 06:41 apt-key
lrwxrwxrwx 1 root root 20 2012-12-29 10:41 /usr/bin/firefox -> /opt/firefox/firefox
-rwxr-xr-x 1 root root 5476 2010-11-17 04:58 /usr/bin/kwrite
-rwxr-xr-x 1 root root 181104 2010-02-16 01:40 zip
-rwxr-xr-x 1 root root 1184 2011-01-21 23:49 zxpdf
Os arquivos binários /usr/bin
(e outras pastas bin) em meu sistema tinham pelo menos a permissão de gravação do usuário em (?). Então o que eu efetivamente fiz foiescreverpara os executáveis 'hello world', embora /usr/bin/kwrite
fosse um executivo binário enquanto /opt/firefox/firefox
era um script de shell
Portanto, está claro que os arquivos executáveis estão sujeitos a esse tipo de acidente. Então, quero perguntar se a permissão de gravação é necessária. Quero desligá-lo, mas quero ter certeza de que não estou perdendo nada aqui.
Responder1
Primeiro, você deve ter tentado echo hello world > /usr/bin/kwrite
como root, pois todos w
os bits de gravação são
desativado -rwxr-xr-x
para usuário e grupo. Para sua segunda pergunta, apenas o root tem permissão correta para escrever para
a maioria dos arquivos binários, a menos que tenha sido compilado e instalado por um usuário normal.
Você também deve atualizar as notações de permissão de arquivo. aqui está um ótimolink
Responder2
Os arquivos binários têm permissão de gravação do usuário, porqueo usuário é root. Somente root pode gravar em arquivos /usr/bin
.
Você realmente deveria se lembrar de não fazer coisas simples (como usar navegadores e processadores de texto) como root. Consulte Limitando os danos aqui: http://www.howtogeek.com/124950/htg-explains-why-you-shouldnt-log-into-your-linux-system-as-root/
Além disso, você provavelmente notará que há vários .sh
arquivos no formato /usr/bin
. Eles poderiam ser editados pelo root, se necessário.