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

0

Eu pensei:

echo hello world > /usr/bin/firefox

mostraria a mensagem no navegador. Nada aconteceu. Então eu tentei:

echo hello world > /usr/bin/kwrite

para ver se o kwrite é aberto com 'olá mundo' digitado em frente. Mais uma vez, nada aconteceu. Então, 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 em /usr/bin (e outras pastas bin) no meu sistema, tinham pelo menos a permissão de gravação do usuário em (?). Então, o que eu efetivamente fiz foi escrever nos executáveis 'olá mundo', embora /usr/bin/kwrite fosse um exec binário, enquanto /opt/firefox/firefox era um script de shell

Portanto, é claro que os arquivos executáveis são propensos a esse tipo de acidente. Então, quero perguntar se a permissão de gravação é necessária. Eu quero desligá-lo, mas quero ter certeza de que não estou perdendo alguma coisa aqui.

    
por WikiWitz 29.12.2012 / 08:34

2 respostas

6

Primeiro, você deve ter tentado echo hello world > /usr/bin/kwrite como root, pois todos os w ou bits de gravação são

off -rwxr-xr-x para usuário e grupo. Para sua segunda pergunta, somente o root tem a permissão certa para escrever para

a maioria dos arquivos binários, a menos que tenha sido compilado e instalado pelo usuário normal.

Você também deve atualizar suas anotações de permissão de arquivo. aqui está um ótimo link

    
por 29.12.2012 / 09:10
2

Os arquivos binários têm permissão de gravação do usuário, porque o usuário é root . Apenas root pode gravar em /usr/bin .

Você deve realmente, realmente, não fazer coisas simples (como usar navegadores e processadores de texto) como root. Veja Limitando os danos aqui: link

Além disso, você provavelmente notará que há vários arquivos .sh em /usr/bin . Estes poderiam concebivelmente ser editados pela raiz, se necessário.

    
por 29.12.2012 / 09:31