Linux: nem o chsh nem o ypchsh estão funcionando, posso mudar meu shell?

8

Eu sou um cara do Unix da velha guarda, então minhas habilidades com o Linux provavelmente estão um pouco desatualizadas. Mas isso parece que deve ser bastante simples.

Em um sistema Red Hat Linux no qual não tenho raiz (é administrado pelo departamento de TI da empresa), quero poder alterar meu shell de login. Correndo chsh me dá:

$ chsh -s /bin/bash
chsh: can only change local entries; use ypchsh instead.

Então, eu corri o ypchsh:

$ ypchsh userid
ypchsh: can't find the master ypserver: Internal NIS error

O que dá? Alguém tem alguma outra ideia?

    
por Ogre Psalm33 12.05.2011 / 17:26

5 respostas

8
  • NIS: ypchsh

  • LDAP:

    $ ldapmodify <<EOF
    dn: YOUR_DN
    changetype: modify
    replace: loginShell
    loginShell: /bin/bash
    -
    EOF
    

    ( YOUR_DN pode estar no formato uid=$USER,ou=people,dc=example,dc=org ; tente ldapwhoami para ver)

  • Hesiod: Pergunte ao administrador do sistema.

  • Active Directory : pergunte ao administrador do sistema.

por 12.05.2011 / 18:18
5

Eu usei uma solução alternativa para alterar meu shell no login. Acabei de colocar bash , que é usado para alterar o shell no meu arquivo .profile .

Você pode encontrar .profile no diretório pessoal do usuário - use ls -la para vê-lo.

Seu arquivo .profile pode ter algo assim:

PATH=/usr/bin
export PATH
#Add this to go bash at login
bash
#end
    
por 16.11.2012 / 07:02
4

Então, a verdadeira resposta no meu caso é que os administradores do sistema (TI) querem bloquear a configuração padrão, então você precisa perguntar a eles. Mas no processo descobri alguns comandos mais úteis para descobrir sua configuração LDAP (se é que isso acontece como você está configurado), caso seu sistema relate o mesmo erro SASL "ldap_sasl_interactive_bind_s: Unknown authentication method (-6) informações adicionais : SASL (-4): nenhum mecanismo disponível: "

Relacione os métodos de autenticação SASL que seu sistema suporta:

 ldapsearch -x -LLL -s "base" -b "" supportedSASLMechanisms

Os resultados podem ser algo como:

dn:
supportedSASLMechanisms: EXTERNAL
supportedSASLMechanisms: DIGEST-MD5

Você pode então passar o método de autenticação para os comandos LDAP usando a opção -Y da seguinte forma:

ldappasswd -Y DIGEST-MD5
ldapmodify -Y DIGEST-MD5
    
por 17.05.2011 / 14:53
4

Outra solução é simplesmente substituir seu shell YP:

Adicione esta linha ao seu /etc/passwd :

+<USERNAME>::::::/bin/bash

Exemplo:

+psalm33::::::/bin/bash

Adicione o seguinte ao seu /etc/nsswitch.conf :

passwd: compat

passwd_compat: nis
    
por 20.02.2014 / 00:01
0

Outra forma de ver as credenciais para a resposta principal é ldapsearch -x

ldapsearch -x uid=$(whoami)
    
por 18.03.2018 / 20:59

Tags