Старт Linux.SU RSS Архив Форум Купить Linux.SU (Knoppix.ru)
Какой Линукс выбрать?

ЛУЧШЕЕ ИЗ ЛУЧШЕГО

ДЛЯ НАЧАЛА: ЖИВЫЕ

- Knoppix -
Линукс за пять минут

- Puppy Linux -
Хороший друг

ДЛЯ ДЕЛА: ПРОФИ

- Debian -
Он такой один

- CentOS -
Копейка рубль бережёт!

- Fedora -
По следам Red Hat

- Ubuntu Linux -
Мы одной крови!

- ASP Linux -
Тотально русский

- Mandriva Linux -
Красота и удобства

- openSUSE -
Настоящее немецкое качество

- Slackware -
Линукс из кубиков

ДЛЯ ДЕЛА: РОЛЛЫ

- ArchLinux -
Гениальное - просто!

- PCLinuxOS -
Просто линукс

- Aptosid -
Почувствуй силу!

ДЛЯ ДЕЛА: СОБЕРИ САМ

- Gentoo -
Каждому своё

- LinuxFromScratch -
Линукс с нуля

ДЛЯ ДЕЛА: ЛЁГКИЕ

- MeeGo -
Повелитель нетбуков

- TinyMe -
Размер имеет значение!

- gOS -
Хороша Маша!

- Deli Linux -
Старость в радость!

ЗАЩИТА

- Openwall -
Не стучите, закрыто!

- BackTrack/WHAX -
Вам, хакеры!

МУЛЬТИМЕДИЯ

- 64 Studio -
Скорость не проблема!

- Planet CCRMA -
Работа со звуком

ПРИЛОЖЕНИЯ

- OpenDisc -
Для несвободных

- Свободный офис -
100% свободный офис

ДЛЯ ЗАБАВЫ

- Линукс Геймер -
Boot & Play!

- VegaStrike -
Каждому по планете!

ЭКСПЕРИМЕНТ

- коЛинуксы -
Не выходя из Виндоус

- GoboLinux -
Очевидно и вероятно

- ReactOS -
Освободите Виндоус!

РОДНЯ

- BSD-семейство -
На плечах гигантов

УСТАРЕВШИЕ

- OpenSolaris -
+ Belenix

До звёзд рукой подать

- Блин -
Живой русский Линукс

- MOPS Linux -
Русская борзая

- Freespire -
Огонь, вода и медные трубы

ДЕКАБРЬ
06 13 20 27
07 14 21 28
01 08 15 22 29
02 09 16 23 30
03 10 17 24 31
04 11 18 25
05 12 19 26

АРХИВ
(2003 - 2011)
Вечно молодой FVWM

Debian sid + XFCE

НАШИ ПРОЕКТЫ

ПИНГВИН В КАРМАНЕ
MATRIX GL
ПОЛЕЗНЫЕ СОВЕТЫ

ЗАКЛАДКИ
ЧаВО
КОНТАКТЫ
RSS

Я - хакер!
RR
Knoppix.ru QR code
su и sudo - запуск системных программ обычным пользователем

  Работать в Линуксе под суперпользователем (рутом) категорически не рекомендуется, но при обычной работе все же иногда необходимо выполнять административные задачи. Для этого существует 3 способа:

  1. В одной из виртуальных консолей или Х-терминалов (xterm, konsole и т.д) залогиниться рутом, а после выполнения нужных команд выйти.
  2. Используя команду su, временно стать рутом на одной из консолей, в которых вы уже вошли как обычный пользователь, после выполнения нужных команд выйти.
  3. Используя команду sudo, просто выполнить нужную команду.

  У этих способов есть свои плюсы и минусы.
  Для 1-го способа нужна свободная виртуальная консоль либо еще один Х-терминал, тогда как 2-й и 3-й способы временно используют имеющуюся.
  1-й и 2-й способы запускают новую командную оболочку, что позволяет выполнить несколько команд, но для выполнения всего одной команды (напрмер, редактирования файла конфигурации или выполнение make install) гораздо удобнее 3-й способ, когда команда вводится сразу, а после ее выполнения не надо делать выход из оболочки.
  А главное достоинство 3-го способа - его очень высокая гибкость и настраиваемость. Правда, сразу после установки системы без настройки команда sudo пользователю недоступна.

  Теперь подробнее.

  Команда su запускает в текущей консоли командную оболочку c правами другого пользователя, по умолчанию - рута. При этом необходимо ввести пароль этого пользователя. Запуск su должен обязательно производиться с дефисом в качестве параметра:

  $ su -

  При этом обновляются переменные окружения $HOME и $PATH, т.е. домашним каталогом становится /root, а в $PATH добавляются /sbin и /usr/sbin. При запуске su без дефиса $HOME остается равным домашнему каталогу пользователя, который запускал эту команду, и в результате работы программ, запущенных из-под su, туда могут быть записаны файлы (например, конфигурации этих программ) с правами рута, что может привести к ошибкам и странностям в дальнейшей работе.

  Чтобы вернуться в оболочку обычного пользователя, нужно дать команду exit, logout или нажать Ctrl-D.

  Команда sudo позволяет запустить одиночную команду с правами другого пользователя (по умолчанию - рута), при этом вводится пароль (если не включен беспарольный запуск) пользователя, который запускает sudo (а не того, от чьего имени запускается команда, в отличие от su). По умолчанию никто не имеет права запускать что-либо. Поэтому для начала пользования sudo необходимо ее настроить. Настройки хранятся в файле /etc/sudoers. Настоятельно рекомендуется редактировать этот файл командой visudo (эта команда проверяет синтаксис файла перед его сохранением). О гибких настройках sudo можно почитать в man sudoers, но мы рассмотрим несколько наиболее простых и интересных примеров.

  ALL ALL = (ALL) ALL

  Самый простой способ настройки sudo, но не самый удачный с т.зр. безопасности. Мы разрешаем всем пользователям запуск любой команды от любого имени. Рассмотрим, как можно ограничить эту свободу.

  1-е поле в строке - это список пользователей и/или групп, к которым применяется данная строка. Может быть ALL (все), имя_пользователя, %имя_группы или #числовой_идентификатор_пользователя.

  %wheel ALL = (ALL) ALL

  Мы разрешаем всем членам группы wheel (надо включить туда себя) запуск любой команды от любого имени. Так более правильно, при этом в группу %wheel включаются только разрешенные пользователи.

2-е поле - имя машины, с которой можно выполнять команды. Имеет значение только при использовании сетевого входа в систему.
3-е поле (в скобках) - список пользователей, от имени которых можно выполнять команду. Поскольку обычно sudo используют для запуска программ от имени рута, это поле используется не очень часто.
4-е поле - команда, которую позволено выполнять. Здесь, как и в остальных полях, можно указывать список команд через запятую.

  Любой пользователь может командой sudo -l узнать, какие команды ему разрешено выполнять.

  При запуске sudo запрашивается пароль (пользователя, запустившего команду). В течение 5 минут (этот интервал можно изменить) после последнего запуска sudo его можно запускать еще раз уже без пароля. Можно в /etc/sudoers в нужных строках поставить после знака = тэг NOPASSWD:, тогда команды, указанные в этой строке, могут выполняться без пароля.

  ALL ALL = NOPASSWD: (ALL) /sbin/shutdown, /sbin/reboot

  Позволяет выключать и перезагружать компьютер любому пользователю без указания пароля, командами sudo /sbin/shutdown и sudo /sbin/reboot соответственно (другие способы выполнения этого будут рассмотрены в следующей статье).

  По умолчанию, все успешные и неуспешные попытки выполнения команды sudo (включая имя пользователя и полную команду) регистрируются в системном журнале и могут быть отправлены по почте системному администратору.

  При настройке su и sudo в плане ограничения доступа пользователям надо быть осторожным, т.к. неправильно настроенное sudo может позволить пользователю запустить с правами рута любую команду. В частности, даже при отсутствии у пользователя прав на su возможны такие команды, как sudo bash, sudo su, sudo mc или запуск какой-либо программы, позволяющей временный выход в оболочку (например, vi и команда :sh).

Вернуться к оглавлению

При частичной или полной перепечатке, переводе, переработке
материалов cайта ссылка на Knoppix.ru обязательна
(c) Knoppix.ru 2003 - 11