pergunta simples sobre sudo su -

1

O que há de errado com o seguinte?

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

Em resposta a um dos comentários:

[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
    
por javadba 05.12.2014 / 03:22

2 respostas

3

Você está tentando su para um usuário cujo shell é /bin/false . /bin/false sempre sai com o código 1, então você nunca é esse usuário:

$ sudo su - dnsmasq
$ echo $?
1

Se você deseja iniciar um shell com esse usuário desativado, use sudo :

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

Note que dnsmasq normalmente tem /sbin/nologin versão de false ) como o shell, então o mesmo princípio se aplica.

    
por muru 05.12.2014 / 09:20
0

Hmmm, sudo su - [user] parece funcionar aqui,

$ sudo su - jerk
jerk ~ $ whoami
jerk

mesmo que a página da web diga que - deve ser a última opção

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

Se eu tentar receber esses erros, mas ainda funcionar para fazer o login como [usuário]:

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

O sudo funciona normalmente? Talvez não esteja funcionando ...?

    
por Xen2050 05.12.2014 / 04:01