Как запретить суперпользователю изменение файла?

Здравствуйте.

Только начинаю изучать linux. Интересует, как можно запретить изменение файла для root'а. Например, как такое стало возможным:

root@ubuntu:~# ls -lh /etc/sysctl.conf
-rw-r--r-- 1 root root 19 Dec 27 17:16 /etc/sysctl.conf
root@ubuntu:~# > /etc/sysctl.conf
-bash: /etc/sysctl.conf: Permission denied
  • Вопрос задан
  • 274 просмотра
Пригласить эксперта
Ответы на вопрос 3
DerNitro
@DerNitro
Инженер техподдержки
На вскидку
1. Selinux
2. ФС в RO.

Но если грамотный root, обойти сможет все :)
Ответ написан
Radjah
@Radjah
У файла нет прав на выполнение (+x), об этом тебе bash и говорит, когда ты его запустить пытаешься.
Ответ написан
driversti
@driversti
.
А что тут невозможного?
- обычный файл (не директория - d, и не линк какой-то - l)
rw- текущий пользователь имеет право на чтений (r) и запись (w), но не может выполнять файл (-)
r-- пользователи из текущей группы (root) имеют право на чтений (r), но не имеют прав на запись (-) и выполнение файла (-)
r--все остальные пользователи (читай - Мир) имеют право на чтений (r), но не имеют прав на запись (-) и выполнение файла (-)
root root текущий пользователь из группы root

Команда
root@ubuntu:~# > /etc/sysctl.conf
не изменяет файл, она его - выполняет (прочитав) :)

P.S. Здесь можно почитать про запрет редактирования файлов даже пользователем root. Но ограничение довольно условное
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы