Su: различия между версиями
м («Releases/40/su» переименована в «Su»: -многоуровневость) |
Нет описания правки |
||
(не показаны 23 промежуточные версии 13 участников) | |||
Строка 1: | Строка 1: | ||
[[en:su]] | |||
{{DISPLAYTITLE:su}} | |||
'''Вопрос:''' Как перейти в режим суперпользователя (переключиться в root)? | |||
'''Ответ:''' | '''Ответ:''' В терминале наберите команду (для читающих по диагонали: '''минус важен!'''): | ||
<div style="font-size: 180%"><source lang="bash">su -</source></div> | |||
''Пояснения:'' при переходе в режим суперпользователя командой {{prg|su}} происходит просто вызов командного интерпретатора с правами root. При этом значения переменных окружения, в частности {{path|$PATH}}, остается таким же, как у пользователя. То есть в переменной {{path|$PATH}} не окажется каталогов {{path|/sbin}}, {{path|/usr/sbin}}, и без указания полного имени будут недоступны команды {{prg|route}}, {{prg|lilo}}, {{prg|mkswap}} и другие. Более того, переменная {{path|$HOME}} будет указывать на каталог пользователя и все программы, запущенные в режиме суперпользователя, сохранят свои настройки с правами рута в каталоге пользователя, что в дальнейшем может вызвать проблемы. | |||
Чтобы избежать этого, следует использовать {{cmd|su -}}. В этом режиме {{prg|su}} запустит командный интерпретатор в качестве login shell (подробнее см. {{cmd|man bash}} {{term|/INVOCATION}}), и он будет вести себя в точности так, как если бы в систему залогинился root. | |||
Для раздачи ограниченных прав суперпользователя применяется утилита {{prg|[[sudo]]}}. | |||
* [ | |||
* [http://core.nix.bofh.ru/docs/ | Ввиду наличия псевдонима работает также | ||
<div style="font-size: 180%"><source lang="bash">su-</source></div> | |||
<source lang="bash">$ alias su- | |||
alias su-='su -'</source> | |||
== Ограничения запуска == | |||
'''Проблема''' | |||
При попытке переключиться в администратора в терминале появляется следующая ошибка: | |||
<source lang="Bash">$ su - | |||
bash: /bin/su: Отказано в доступе</source> | |||
'''Решение''' | |||
Штатно пользователю для этого нужно быть в группе '''wheel''' (что автоматически выполняется для первого пользователя, заведённого при установке, и настраивается в Центре управления системой). Другие режимы регулируются командой [[control]]: | |||
<source lang="Bash">$ /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: | |||
#</source> | |||
Также можно разрешить для всех: | |||
control su public | |||
(залогиниться первым пользователем или в консоли {{button|Ctrl}}+{{button|ALT}}+{{button|F2}} самим [[root]]. | |||
== Ошибки, возникающие при неправильном использовании su == | |||
Чаще всего пользователь, который неправильно запускал su сталкивается с некорректной работой различных программ - не сохраняются конфигурационные файлы, не работают настройки, происходят произвольные сообщения об ошибках записи. | |||
Рекомендуется проверить домашний каталог на наличие файлов, принадлежащих пользователю root командой: | |||
<source lang="Bash"> | |||
$ find $HOME -user root | |||
</source> | |||
если ваша система исправна, то список файлов будет пустой. | |||
== Ссылки == | |||
* [https://bugzilla.altlinux.org/23700 Bug 23700: Совместимость по параметрам и поведению с версией из Red Hat] | |||
* [[Получение_прав_root]] | |||
* [[sudo|Настройка sudo]] | |||
* [http://web.archive.org/web/20081204101725/core.nix.bofh.ru/docs/noroot2.htm Как обойтись без прав root. Часть 2] | |||
{{Category navigation|title=root|category=root|sortkey={{SUBPAGENAME}}}} | |||
[[Категория:Безопасность (для сборника статей)]] |
Текущая версия от 00:00, 3 июля 2024
Вопрос: Как перейти в режим суперпользователя (переключиться в 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
если ваша система исправна, то список файлов будет пустой.