Как root может записывать в файл sudoers с разрешениями, установленными на 440?

Аргумент - exclude-dir - это шаблон, который сопоставляется с базовым именем каталога, то есть частью без ведущих родительских каталогов. Например, - exclude-dir = nesteddir исключает как dir / nesteddir , так и otherdir / nesteddir (и их подкаталоги).

Невозможно исключить один каталог без исключения других каталогов с тем же именем, используя только GNU grep. Вам нужно использовать более сложный метод выбора файлов, например GNU find:

find -path dir/nesteddir -prune -o -type f -exec grep -H 'pattern' {} +
2
03.11.2016, 15:52
3 ответа

Пользователь root всегда имеет полный доступ на запись к любому файлу, независимо от его режима.

Возможно, лучшим примером является / etc / shadow , который соответствует режиму 000, но, конечно, может быть изменен пользователем root:

[root@centos7 ~]# ls -pl /etc/shadow
----------. 1 root root 1353 Oct 26 07:40 /etc/shadow
1
27.01.2020, 22:10

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

Владелец файла всегда может изменить разрешения любого файла, которым он владеет (в то время как root может сделать это для всех существующих файлов).

Если вы обычный пользователь, это зависит от того, как вы пытаетесь изменить read-only-файл:

  • откройте файл с помощью vi и измените его -> вы можете записать изменения с помощью ":w!"
  • try #echo "test" >> read-only-file there is a permission denied.

Если вы являетесь пользователем root, вы можете перезаписывать и изменять любой файл, но программа vi будет учитывать разрешение только для чтения и попросит подтверждения.

Файл /etc/sudoers всегда должен изменяться командой "visudo", которая открывает содержимое реального файла во временном файле и делает несколько проверок перед сохранением изменений. Как пользователь root-User изменения могут быть записаны, несмотря на права только для чтения.

1
27.01.2020, 22:10

Попробуйте использовать visudo вместо vi

sudo visudo
1
27.01.2020, 22:10

Теги

Похожие вопросы