Назад | Перейти на главную страницу

Linux: как создать суперпользователя?

У меня три пользователя:

Есть два каталога,

Я хочу, чтобы мой user_super мог изменять эти файлы и возвращать их в исходное состояние.

user_1 и user_2 не могут читать / изменять файлы друг друга и помещаются в свои корневые папки.

Как мне это сделать?

PS: user_super не должен иметь прав root, user_super будет запускать apache на сервере, поэтому он должен быть как можно ближе к пользователю www-data (Apache).

Вы можете попробовать использовать sudo.

Создайте записи в файле sudoers, чтобы позволить user-super стать владельцем файлов в / root / user-1 и / root / user-2, а также вернуть права собственности на user-1 и user-2.

Затем user-super запускал первую команду sudo chown, редактировал файл, а затем запускал вторую команду sudo chown, чтобы изменить его. Не разрешайте неограниченное использование sudo chown, но укажите шаблоны.

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

создать групповую супергруппу с пользователем user_super в ней, затем

/root/user_1 (chown -R user_1:supergroup)
/root/user_2 (chown -R user_2:supergroup)

Проблема с этой настройкой: в большинстве реализаций chown может быть выполнен только суперпользователем. Непривилегированные (обычные) пользователи, которые хотят изменить группу принадлежащего им файла, могут использовать chgrp. Таким образом, вы могли бы подумать: отлично, я позволю user_super изменить группу обратно на группу user_1 или user_2, но chgrp позволяет пользователю user_super сменить владельца только на одну группу, членом которой он является.

Полагаю, user_super не root?

Установите групповой липкий бит (chmod g + s) в каталоге, чтобы вновь созданные файлы унаследовали групповое владение и разрешения группы. Это поможет, если вы имеете дело с хостингом apache и несколькими ftp-пользователями.

Мы обходим эту проблему на наших серверах в apache и ftp-users, запустив apache с mod_itk и настроив vhosts для запуска с разрешениями владения ftp.