Su: различия между версиями

Материал из ALT Linux Wiki
м (сам порой сканирую текст, а не читаю вдумчиво %))
Нет описания правки
 
(не показаны 2 промежуточные версии 2 участников)
Строка 42: Строка 42:
Также можно разрешить для всех:
Также можно разрешить для всех:
  control su public
  control su public
(залогиниться первым пользователем или в консоли [Ctrl+Alt+F2] самим {{path|root}}).
(залогиниться первым пользователем или в консоли {{button|Ctrl}}+{{button|ALT}}+{{button|F2}} самим [[root]].
 
== Ошибки, возникающие при неправильном использовании su ==
Чаще всего пользователь, который неправильно запускал su сталкивается с некорректной работой различных программ - не сохраняются конфигурационные файлы, не работают настройки, происходят произвольные сообщения об ошибках записи.
Рекомендуется проверить домашний каталог на наличие файлов, принадлежащих пользователю root командой:
<source lang="Bash">
$ find $HOME -user root
</source>
если ваша система исправна, то список файлов будет пустой.
 


== Ссылки ==
== Ссылки ==

Текущая версия от 20:25, 6 июля 2023

Вопрос: Как перейти в режим суперпользователя (переключиться в root)?

Ответ: В терминале наберите команду (для читающих по диагонали: минус важен!):

su -

Пояснения: при переходе в режим суперпользователя командой su происходит просто вызов командного интерпретатора с правами root. При этом значения переменных окружения, в частности $PATH, остается таким же, как у пользователя. То есть в переменной $PATH не окажется каталогов /sbin, /usr/sbin, и без указания полного имени будут недоступны команды route, lilo, mkswap и другие. Более того, переменная $HOME будет указывать на каталог пользователя и все программы, запущенные в режиме суперпользователя, сохранят свои настройки с правами рута в каталоге пользователя, что в дальнейшем может вызвать проблемы.

Чтобы избежать этого, следует использовать su -. В этом режиме su запустит командный интерпретатор в качестве login shell (подробнее см. man bash /INVOCATION), и он будет вести себя в точности так, как если бы в систему залогинился root.

Для раздачи ограниченных прав суперпользователя применяется утилита sudo.

Ввиду наличия псевдонима работает также

su-
$ alias su-
alias su-='su -'

Ограничения запуска

Проблема

При попытке переключиться в администратора в терминале появляется следующая ошибка:

$ su -
bash: /bin/su: Отказано в доступе

Решение

Штатно пользователю для этого нужно быть в группе wheel (что автоматически выполняется для первого пользователя, заведённого при установке, и настраивается в Центре управления системой). Другие режимы регулируются командой control:

$ /usr/sbin/control su
wheelonly
$ ls -l `which su`
-rws--x--- 1 root wheel 22316 авг 25  2012 /bin/su
$ groups | grep wheel
cas wheel uucp proc cdrom floppy cdwriter audio radio sambashare vboxusers camera xgrp scanner
$ su -
Password: 
#

Также можно разрешить для всех:

control su public

(залогиниться первым пользователем или в консоли Ctrl+ALT+F2 самим root.

Ошибки, возникающие при неправильном использовании su

Чаще всего пользователь, который неправильно запускал su сталкивается с некорректной работой различных программ - не сохраняются конфигурационные файлы, не работают настройки, происходят произвольные сообщения об ошибках записи. Рекомендуется проверить домашний каталог на наличие файлов, принадлежащих пользователю root командой:

$ find $HOME -user root

если ваша система исправна, то список файлов будет пустой.


Ссылки