Permissão de gravação em arquivos binários/executáveis: são necessárias?

Permissão de gravação em arquivos binários/executáveis: são necessárias?

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/kwritefosse um executivo binário enquanto /opt/firefox/firefoxera 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/kwritecomo root, pois todos wos bits de gravação são

desativado -rwxr-xr-xpara 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 .sharquivos no formato /usr/bin. Eles poderiam ser editados pelo root, se necessário.

informação relacionada