Показать сообщение отдельно
Старый 24.04.2012, 02:48      #1 (ссылка на пост)
levinkv
Активный пользователь
 
Аватар для levinkv
 
Регистрация: 23.01.2012
Сообщений: 54
levinkv скоро придёт к известности
Информация

По умолчанию Команда su в Linux

Всем привет!

В этой статье речь пойдет о команде su в Linux. Команда su используется для того, чтобы пользователь имел возможность стать другим пользователем в текущей сессии. Если su вызывается без имени пользователя, то это по умолчанию делает пользователя суперпользователем. Необязательный параметр “-” можно использовать для воссоздания рабочей среды, такой же как если бы настоящий пользователь выполнял вход в систему.

Как стать другим пользователем

Команда su (сокращение от switch user – переключение пользователя, и вопреки бытующему мнению, отнюдь не super user – суперпользователь) позволяет одному пользователю временно работать от имени другого пользователя.

Выполнить команду su несложно. Достаточно ввести ее имя, а затем указать пользователя, от имени которого вы собираетесь выступить.

Код:
$ pwd
/home/hub-lex

$ whoami
hub-lex

$ su testing
Пароль:

$ pwd
/home/hub-lex

$ whoami
testing

В этом примере встретилась команда whoami, которая используется нечасто и сообщает пользователю, кем он является с точки зрения оболочки. В данном примере мы применяем ее для того, чтобы убедиться, что команда su работает так, как мы того ожидаем.

Команда pwd отображает рабочий каталог пользователя.

Как превратиться в другого пользователя и использовать его переменные окружения

Для этого можно воспользоваться опцией -l (или –login), как показано ниже:

Код:
$ pwd
/home/hub-lex

$ whoami
hub-lex

$ su -l testing
Пароль:

$ pwd
/home/testing

$ whoami
testing

На первый взгляд, все происходит точно так же, как и в предыдущем примере, но на самом деле различия огромны. Уже тот факт, что вы находитесь в рабочем каталоге пользователя testing, говорит о том, что что то изменилось. Опция -l сообщает su о необходимости использовать оболочку, предусмотренную в процедуре регистрации. Т.е. поступать так, как будто testing на самом деле прошел регистрацию в системе.

Теперь вы не только носите имя testing, вы используйте его переменные окружения, находитесь в его рабочем каталоге, одним словом, чувствуйте себя так же, как пользователь testing после регистрации в системе.

Как превратиться в пользователя root

Вы уже знаете, что команда su чаще всего используется для временного получения полномочий root. Для решения этой задачи вы можете задать команду su root или, еще лучше su -l root. Однако существует более быстрый способ, как показано ниже:

Код:
$ whoami
hub-lex

$ su
Пароль: 

# whoami
root

Как стать пользователем root и использовать его переменные окружения

Команда su эквивалентна команде su root. Выполнив ее, вы получаете полномочия root, но этим ваши возможности исчерпываются. Вы по прежнему работаете с переменными окружения другого пользователя.

Код:
$ pwd
/home/hub-lex

$ whoami
hub-lex

$ su
Пароль: 

# whoami
root

# pwd
/home/hub-lex

Добавив дефис после команды su -, вы получите тот же результат, что и от выполнения команды su -l root:

Код:
$ pwd
/home/hub-lex

$ whoami
hub-lex

$ su -
Пароль:

# pwd
/root

# whoami
root
Теперь вы носите имя root и работайте с его переменными окружения, т.е. становитесь полноценным суперпользователем. Все, что может делать суперпользователь root, доступно так же и вам. Но помните, что работать под суперпользователем root нужно очень и очень аккуратно! Одна ошибка может стоить вам потерянных данных.
levinkv вне форума   Ответить с цитированием
Этот пользователь сказал Спасибо levinkv за это полезное сообщение:
Xura (03.03.2013)
 
Время генерации страницы 0.08366 секунды с 15 запросами