su
Материал из ALT Linux Wiki
Ilis (обсуждение | вклад) |
м (вычитка) |
||
(12 промежуточных версий не показаны.) | |||
Строка 2: | Строка 2: | ||
'''Вопрос:''' Как перейти в режим суперпользователя (переключиться в root)? | '''Вопрос:''' Как перейти в режим суперпользователя (переключиться в root)? | ||
- | '''Ответ:''' В терминале наберите команду | + | '''Ответ:''' В терминале наберите команду |
- | ''Пояснения:'' при переходе в режим суперпользователя командой {{prg|su}} происходит просто вызов командного интерпретатора с правами root. При этом значения переменных окружения, в частности {{path|$PATH}}, остается таким же, как у пользователя. То есть в переменной {{path|$PATH}} не окажется каталогов {{path|/sbin}}, {{path|/usr/sbin}}, и без указания полного имени будут недоступны команды {{prg|route}}, {{prg|lilo}}, {{prg|mkswap}} и другие. Более того, переменная {{path|$HOME}} будет указывать на каталог пользователя | + | <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. | Чтобы избежать этого, следует использовать {{cmd|su -}}. В этом режиме {{prg|su}} запустит командный интерпретатор в качестве login shell (подробнее см. {{cmd|man bash}} {{term|/INVOCATION}}), и он будет вести себя в точности так, как если бы в систему залогинился root. | ||
- | Для раздачи ограниченных прав суперпользователя применяется утилита {{prg|[[sudo]]}}: | + | Для раздачи ограниченных прав суперпользователя применяется утилита {{prg|[[sudo]]}}. |
+ | |||
+ | Ввиду наличия псевдонима работает также | ||
+ | |||
+ | <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 | ||
+ | (залогиниться первым пользователем или в консоли [Ctrl+Alt+F2] самим {{path|root}}). | ||
+ | == Ссылки == | ||
+ | * [[Получение_прав_root]] | ||
+ | * [[sudo|Настройка 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] | ||
- | + | {{Category navigation|title=root|category=root|sortkey={{SUBPAGENAME}}}} |
Текущая версия на 15:58, 17 мая 2017
Вопрос: Как перейти в режим суперпользователя (переключиться в 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).