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

Материал из ALT Linux Wiki
м Releases/40/su» переименована в «Su»: -многоуровневость)
Нет описания правки
Строка 1: Строка 1:
=== Вопрос: как перейти в режим суперпользователя (переключиться в root)? ===
{{DISPLAYTITLE:su}}
'''Вопрос:''' Как перейти в режим суперпользователя (переключиться в root)?


'''Ответ:''' в терминале наберите команду '''su -'''
'''Ответ:''' В терминале наберите команду {{cmd|su -}}


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


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


Для раздачи ограниченных прав суперпользователя применяется утилита '''sudo''':
Для раздачи ограниченных прав суперпользователя применяется утилита {{prg|[[sudo]]}}:


* [http://core.nix.bofh.ru/docs/noroot1.htm Как обойтись без прав root. Часть 1]
* [http://core.nix.bofh.ru/docs/noroot1.htm Как обойтись без прав root. Часть 1]
* [http://core.nix.bofh.ru/docs/noroot2.htm Как обойтись без прав root. Часть 2]
* [http://core.nix.bofh.ru/docs/noroot2.htm Как обойтись без прав root. Часть 2]
* [http://core.nix.bofh.ru/docs/noroot3.htm Как обойтись без прав root. Часть 3]
* [http://core.nix.bofh.ru/docs/noroot3.htm Как обойтись без прав root. Часть 3]
[[Категория:Пользователю]]

Версия от 12:39, 4 декабря 2008

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

Ответ: В терминале наберите команду su -

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

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

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