su - usuário não funciona para usuários sem uma senha

6

Eu criei um usuário no CentOS com useradd -M username . Agora, quero me tornar esse usuário como su - username .

Ele me pede uma senha para esse usuário, mas eu não defini uma senha para esse usuário. Como solução alternativa, tenho que me tornar root, então su - username funciona obviamente.

Primeiro, pensei em pedir uma senha de root, mas não é o caso. Alguma idéia?

    
por fcukinyahoo 15.11.2013 / 21:59

2 respostas

9

Depois de criar a conta com o comando useradd , você precisa executar o seguinte comando como root para definir uma senha para essa conta recém-criada:

$ passwd <username>

Sudo

Se você está absolutamente certo que você, (userZ), quer se tornar um outro usuário (userX) sem fornecer a senha do userX, AND você não quer se tornar root primeiro, então você provavelmente está procurando sudo .

O CentOS Wiki faz um ótimo trabalho cobrindo todo este tópico que você está perguntando aqui neste artigo intitulado: Como Torne-se Root .

Aqui está uma sinopse.

  1. Você quer a capacidade de fazer qualquer coisa como root, como se tornar outros usuários, sem fornecer sua senha. Adicione a seguinte regra ao seu arquivo sudoers, /etc/sudoers . NOTA: Você edita o arquivo sudoers usando o comando visudo as root!

    userZ    ALL=(ALL)       ALL
    

    A abordagem acima ainda irá desafiá-lo para a senha do userZ. Você pode se livrar dessa proteção adicionando essa regra aos sudoers.

    userZ ALL=NOPASSWD: ALL
    
  2. Você deseja dividir a capacidade de somente se tornar um usuário específico usando sudo .

    userZ ALL=(root) NOPASSWD: /bin/su - userX
    

    NOTA: O acima também pode ser feito para que o userZ tenha que usar sua senha para executar o comando su também. Acima, só vamos userZ se tornar userX, nada mais.

por 15.11.2013 / 22:02
1

It asks me for a password for that user

É assim que funciona. Se você não for root, não poderá assumir a identidade de outro usuário sem a senha.

Se o CentOS vier com o sudo instalado, você poderá adicionar

youruserid ALL = (username) NOPASSWD: ALL

com visudo e, em seguida, sudo -u username bash é como su - username

(edit: tentei digitar sudo specs sem verificação)

    
por 15.11.2013 / 23:11