Введение В ubuntu по умолчанию следующие настройки системы: Пароль от суперпользователя (root'a) скрыт от пользователя. Поговаривают, что он меняется при каждом запуске системы. Всё администрирование системы осуществляется от имени пользователя, аккаунт которого был заведён при установке (uid=1000). Для выполнения каких-либо административных действий требуется ввести пароль первого пользователя (uid=1000). Все административные действия в консоли выполняются с помощью команды sudo. Зайти от имени root'а по команде su нельзя, т.к. пароль не установлен. Зайти от имени root'а можно по команде sudo -s. После ввода пароля пользователя на запрос sudo, этот пароль запоминается на 15 минут и в течении этого времени можно выполнять любые команды с помощью sudo - пароль не потребуется.
Что в этом мне не нравится? Я привык, что пользователь - это пользователь, а администратор - это администратор. И кислое с зелёным в одной кастрюле мешать не стоит. А получается, что первый пользователь имеет полные админские права к компу. Я с этим просто категорически не согласен. Это получается как во всем известной ОС, а такой подход - одна из самых больших дыр в её безопасности. Я у себя такую дыру иметь не желаю, поэтому я решил поправить ситуацию, то есть вернуть всё на круги своя - сделать так, как оно есть в подавляющем большинстве NIX систем. Средства1 2 3 4 5 man sudo
man sudoers
man visudo
Решение Первым делом делаем sudo -s, далее passwd и задаём пароль для суперпользователя. Теперь мы можем входить в систему под ним как из консоли, так и по команде su. От рута даём команду visudo и приводим файл в соответствие с предпочтениями.
ВНИМАНИЕ! Крайне не рекомендуется открывать файл sudoers руками. Намного лучше сделать это командой visudo. Описание синтаксиса есть в man sudoers. Не смотря на то, что я очень неплохо знаю английский, мне было тяжело читать этот мануал - как-то очень мудрёно он написан. Поэтому я читал перевод на Opennet'е. Вот какой файл я сворганил себе пока:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 # Переменные
Defaults env_reset
Defaults rootpw
Defaults timestamp_timeout=0
Defaults editor=/usr/bin/vim
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias DAEMON = /etc/init.d/*
# User privilege specification
root ALL=(ALL) ALL
anjolio ALL = DAEMON, /bin/ls, /bin/cat
Разберём для понятности.
В секции Defaults: env_reset - сброс переменных окружения, которые были у пользователя, который дал команду sudo (насколько я понял); rootpw - будет спрашиваться пароль root'а, а не пользователя; timestamp_timeout=0 - введённый пароль не будет храниться, при следующей команде опять попросят ввести пароль; editor=/usr/bin/vim - текстовый редактор, в котором будет открываться файл sudoers по команде visudo.
Cmnd_Alias DAEMON = /etc/init.d/* - я группирую всех демонов в группу DAEMON.
root ALL=(ALL) ALL - root может делать всё. anjolio ALL = DAEMON, /bin/ls, /bin/cat - anjolio может производить операции с демонами и запускать команды ls и cat. Итог Все описанные во введении проблемы решены благополучно. Теперь anjolio - пользователь, который при знании пароля root'а может кое-что покрутить и не более. Root - теперь глава всему, он царь и бог системы. Изначально поставленная цель достигнута.
Источник:http://welinux.ru/post/1111/
|