Я только что заметил на своей машине с Ubuntu (файловая система ext3), что удаление разрешений на запись из файла не удерживает root от записи в него.
Это общее правило разрешений файлов UNIX? Или специфичный для Ubuntu? Или неверная конфигурация на моей машине?
# Touch ABC # chmod ugo-w abc # питон Python 2.6.4 (r264: 75706, 7 декабря 2009 г., 18:45:15) [GCC 4.4.1] на linux2 Введите «помощь», «авторское право», «кредиты» или «лицензия» для получения дополнительной информации. >>> open ('abc', 'w'). write ('AAA \ n') >>> # кошка азбука AAA
Запись в файл не выполняется (как и ожидалось), если я делаю это из своей обычной учетной записи пользователя.
Это нормальное поведение?
Есть ли способ предотвратить случайную запись root в файл? (Желательно использовать обычные механизмы файловой системы, а не AppArmor и т. Д.)
Пожалуйста, научите меня чему-то, чего я совершенно точно не понимаю.
ПРИМЕЧАНИЕ. Я понимаю, что root имеет полный контроль над системой и может, например, изменять разрешения для любого файла. Мой вопрос заключается в том , применяются ли установленные в настоящее время разрешения для кода, работающего от имени пользователя root . Идея заключается в том, чтобы пользователь root не допустил случайной записи в файл.
ПРИМЕЧАНИЕ: я также понимаю, что для нормальной работы не следует входить в систему как root . Я только заметил это поведение и прошу вас об этом.
источник
chattr
. есть ли в пользовательском режиме средства для установки таких атрибутов?root
так хорошо защитить файл, даже не может удалить его"!CAP_DAC_OVERRIDE
возможность, позволяющую ему игнорировать ACL и разрешения.sudo chflags <s|u>chg <file>
чтобы сделать его неизменным для системы или пользователя, соответственно, иsudo chflags no<s|u>chg <file>
для снятия флага неизменности для системы или пользователя, соответственно.Да, это нормально. Корень это бог.
Да, есть способы предотвратить перезапись файлов пользователем root.
chattr
(+i
sets,-i
Unsets). Требуется доступ с правами root, работает только на ext2 / ext3 (предположительно тоже на ext4), но в остальном практичен.sudo
для доступа к системным функциям.Эти методы логически следуют из # 1. Как вы можете видеть, последние два метода, как правило, бесполезны, так же как защита Windows от вирусов путем отключения от сети, как правило, бесполезна. Вот почему root опасен. [+]
[*] Конечно, не исключая возможность «случайной» записи непосредственно на блочное устройство. Да, root может сделать это. Да, вы можете предотвратить это: отключите устройство.
[+] Это также то, откуда берутся эти мифы о BOFH. Они не все мифы.
источник
Вы также можете ограничить доступ к файлам для пользователя root, используя ядро Linux «Возможности»: http://www.securityfocus.com/infocus/1400
Существует также возможность использования SE-Linux или другого патча ядра, чтобы сделать некоторые файлы неизменяемыми даже для root.
источник
Я думаю, что до тех пор, пока root является суперпользователем, и он может делать все, вы не можете удалить ему какое-либо разрешение, даже если вы являетесь пользователем root. Предполагается, что это желание рута предотвращать или не выполнять операции (например, запись в файл или открытие приложения).
Так что нет, скорее всего, вы бы только деактивировали учетную запись root, чтобы предотвратить ее неправильное использование.
С уважением
[примечание к себе: вы будете скромны ... может быть, вы не правы]
источник