Разрешение на запись в двоичные / исполняемые файлы: они необходимы?

Я думал:

echo hello world > /usr/bin/firefox

будет отображать сообщение в браузере. Ничего не случилось. Тогда я попробовал:

echo hello world > /usr/bin/kwrite

чтобы увидеть, открывается ли kwrite с помощью "hello world", набранного впереди. Опять ничего не случилось. Затем после попытки выполнить обе команды:

computer:~$ kwrite
/usr/bin/kwrite: line 1: hello: command not found
computer:~$ firefox
/usr/bin/firefox: line 1: hello: command not found

дела 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

Бинарные файлы в /usr/bin (и другие папки bin) в моей системе, по крайней мере, имели права пользователя на запись (?). Итак, что я сделал, так это записал в исполняемый файл "Hello World", хотя /usr/bin/kwrite был бинарным в то время как /opt/firefox/firefox был сценарий оболочки

Итак, ясно, что исполняемые файлы подвержены этому типу аварий. Поэтому я хочу спросить, нужно ли разрешение на запись. Я хочу выключить его, но хочу убедиться, что я здесь ничего не пропустил.

2 ответа

Решение

Во-первых, вы должны были попробовать echo hello world > /usr/bin/kwrite как корень, так как все w или биты записи

от -rwxr-xr-x для пользователя и группы. На ваш второй вопрос только root имеет право писать

большинство двоичных файлов, если они не были скомпилированы и установлены обычным пользователем.

Вы также должны освежить свои записи о правах доступа к файлам. вот отличная ссылка

Двоичные файлы имеют разрешение на запись пользователя, поскольку пользователь является пользователем root. Только root может писать в /usr/bin,

Вы должны действительно, действительно освежиться в том, чтобы не делать простые вещи (такие как использование браузеров и текстовых процессоров) как root. См. Ограничение ущерба здесь: http://www.howtogeek.com/124950/htg-explains-why-you-shouldnt-log-into-your-linux-system-as-root/

Кроме того, вы, вероятно, заметите, что есть ряд .sh файлы в /usr/bin, Они могут быть отредактированы пользователем root при необходимости.

Другие вопросы по тегам