Когда я сейчас работаю на Linux-сервере (я сисадмин 2), у меня есть 3 следующих варианта использования:
У нас есть 1 учетная запись пользователя для всего (которая настроена с подробными и правильными группами почти для всего) в NIS, и в целом все идет хорошо.
Проблема в том, что сейчас мы открываем корневую оболочку (sudo -i
) для 2 и 3. Это создает риск из-за полного доступа. Также мы сталкиваемся с ошибками от людей с root-доступом, которые переоценивают свои способности (некоммерческая организация, так что обычно это хорошо).
Я хотел бы разделить 2 и 3, правильно предоставив права группам (например, полный доступ команде сайта к apache, но ничего больше). Проблема в том, что я также не хочу предоставлять права учетных записей пользователей, я бы хотел, чтобы они вошли в «режим администратора», как это сделано сейчас, потому что он легко регистрируется и заставляет людей понять, что они могут нанести ущерб сейчас.
Можно ли создать несколько уровней власти вместо обычного разделения на пользователя и root?
Другие предложения, конечно, также приветствуются
Ты можешь использовать su
заставлять людей переходить на повышенного уровня при выполнении действий второй категории.
У каждого пользователя будет две учетных записи: $normal_account
и $admin_account
. Назначьте необходимые разрешения для $admin_account
человек может просто сделать su $admin_account -
чтобы получить доступ к этой учетной записи и выполнять свою административную работу.
Для функций класса 3 я бы сказал, не добавляйте еще одну учетную запись просто прекратить обстрел. Запускайте команды администратора напрямую с помощью sudo <command>
. Если вы хотите быть очень осторожными, отключите кеширование паролей в файле sudoers.
У вас есть два варианта, самый сложный, но самый безопасный - это принудительный контроль доступа (MAC), который может быть выполнен через SELinux. Второй - настроить ваш / etc / sudoers на предоставление подмножества управления.
User_Alias OPERATORS = bob, tippy, george
Runas_Alias OP = root, operator
Host_Alias OFNET = 10.1.2.0/255.255.255.0
Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm
OPERATORS ALL=ALL
# The users in the OPERATORS group can run any command from
any terminal.
linus ALL=(OP) ALL
# The user linus can run any command from any terminal as any
user in the OP group (root or operator).
user2 OFNET=(ALL) ALL
# user user2 may run any command from any machine in the
OFNET network, as any user.
user3 ALL= PRINTING
# user user3 may run lpc and lprm from any machine.
bob ALL=(ALL) ALL
Вы можете найти более подробную информацию на Руководство Sudoers