Простой вопрос на sudo su -

Что не так со следующим?

[cloudera@localhost zookeeper]$ sudo su - zookeeper
[cloudera@localhost zookeeper]$ whoami
cloudera

В ответ на один из комментариев:

[cloudera@localhost zookeeper]$ cat /etc/passwd | grep zook
zookeeper:x:492:488:ZooKeeper:/var/run/zookeeper:/bin/false
[cloudera@localhost zookeeper]$ cat /etc/passwd | grep cloudera
cloudera-scm:x:497:498:Cloudera Manager:/var/run/cloudera-scm-server:/sbin/nologin
cloudera:x:500:500::/home/cloudera:/bin/bash
1
задан 5 December 2014 в 00:42

2 ответа

Вы пробуете к su пользователю, который является оболочкой, /bin/false . /bin/false всегда выходы с кодом 1, таким образом, Вы никогда не что пользователь:

$ sudo su - dnsmasq
$ echo $?
1

, Если Вы хотите запустить оболочку с такого отключенного пользователя, используйте sudo:

$ sudo -u dnsmasq /bin/bash
$ whoami
dnsmasq

Примечание, которое dnsmasq обычно имеет /sbin/nologin (более вежливая версия false) как оболочка, таким образом, тот же принцип применяется.

3
ответ дан 10 November 2019 в 09:20

Hmmm, sudo su - [user], кажется, работает здесь,

$ sudo su - jerk
jerk ~ $ whoami
jerk

даже при том, что в su странице справочника говорится, что - должна быть последняя опция

       When - is used, it must be specified as the last su option. The other forms (-l
       and --login) do not have this restriction.

, Если я пробую это, я получаю эти ошибки, но это все еще работает для входа в систему как [пользователь]:

$ sudo su  [user] -
bash: cannot set terminal process group (-1): Inappropriate ioctl for device
bash: no job control in this shell

обычно Делает работу sudo? Возможно, это не работает...?

0
ответ дан 10 November 2019 в 09:20

Другие вопросы по тегам:

Похожие вопросы: