Переключать пользователей в unix автоматически - PullRequest
0 голосов
/ 31 января 2011

Это может быть вопрос новичка.Я хотел бы автоматически переключаться между пользователями.Я знаю, что мы можем использовать «ожидаемое» программирование.Есть ли альтернативный способ?

Ответы [ 2 ]

5 голосов
/ 31 января 2011

Использование su уже упоминалось:

su - <username>

Но более ограниченный доступ к другим учетным записям может быть предоставлен с помощью sudo:

sudo -u <username> <command>

Sudo поддерживает множество опций. Смотрите / etc / sudoers и man sudoers.

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

chown <username> <executable>
chmod u+s <executable>
./<executable>

Например:

$ id -un
atnnn
$ cp /usr/bin/id .
$ sudo chown nobody id       
$ sudo chmod u+s id
$ ./id -un
nobody
0 голосов
/ 31 января 2011

Это зависит от того, что вы действительно хотите, и как вы получаете доступ к своей машине. Достаточно легко создать окна (xterms и т. Д.) И настроить для разных терминалов работу разных пользователей - по крайней мере, после того, как вы их создали. Вы можете использовать «su» или (лучше) «sudo», чтобы стать другим пользователем. (Я предполагаю, что вы уполномочены стать этим другим пользователем - это не идентификатор коллеги, а какого-то тестового пользователя, с которым вам нужно поэкспериментировать.)

Если вы хотите переключаться между сеансами терминала как разные пользователи в одном окне, вам придется работать немного усерднее. Для этого есть программы: раньше это было shl (слои оболочки), и я думаю, что современный эквивалент - GNU Screen . Я не использовал экран GNU (и я не использовал shl примерно с 1990 года); Я работаю с разными терминалами, подключенными или работающими как разные пользователи, когда мне нужно работать как несколько пользователей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...