ypchsh não muda para alguns shells

ypchsh não muda para alguns shells

Atualmente estou no bash, mas quero mudar meu shell para tcsh. Usei ypchsh, digitei minha senha quando solicitado e alterei o shell de login para/bin/tcsh. E pareceu que funcionou porque recebi uma mensagem que diz "O shell de login foi alterado em [domínio]". Então eu saí e entrei novamente. Fiz echo $0 para verificar meu shell atual, mas ele diz que ainda estou em/bin/bash. No entanto, quando faço echo $SHELL recebo /bin/tcsh. E quando faço ps, isso mostra que o bash está rodando em vez do tcsh.

Outras etapas de solução de problemas tomadas: Tentei seguir as mesmas etapas para mudar para shells diferentes, como sh e ksh, que funcionam. No entanto, mudar para csh me dá o mesmo resultado que tentar mudar para tcsh. Verificado /etc/shells e tcsh está listado. Eu também tentei exec tcsh, mas o sistema ainda está executando o bash.

Estou tentando fazer isso em uma conta escolar, então talvez haja um problema de permissão. Embora um dos meus colegas tenha conseguido fazer com que sua conta mudasse de shell. Se não houver permissão, existe um arquivo que preciso configurar?

[user@machine ~]> echo $0
/bin/bash
[user@machine ~]> echo $SHELL
/bin/tcsh
[user@machine ~]> ypchsh
Changing NIS account information for user on machine
Please enter password:

Changing login shell for user on machine
To accept the default, simply press return. To use the
system's default shell, type the word "none".
Login shell [/bin/tcsh]: /bin/tcsh

The login shell has been changed on machine

[user@machine ~]> logout

[user@machine ~]> echo $0
/bin/bash
[user@machine ~]> echo $SHELL
/bin/tcsh
[user@machine ~]> FOO=BAR
[user@machine ~]> ps
  PID TTY          TIME CMD
14549 pts/21   00:00:00 bash
14780 pts/21   00:00:00 ps
[user@machine ~]> exec /bin/tcsh
[user@machine ~]> echo $0
/bin/bash
[user@machine ~]> echo $SHELL
/bin/tcsh
[user@machine ~]> FOO=BAR
[user@machine ~]>

[user@machine ~]> uname -a
Linux machine 2.6.32-696.3.2.el6.i686 #1 SMP Tue Jun 20 00:48:23 UTC 2017 i686 i686 i386 GNU/Linux
[user@machine ~]> /bin/ls -ld
drwx--s--x 49 user group 4096 Sep  1 13:08 .
[user@machine ~]> /bin/*sh
/bin/csh: /bin/csh: cannot execute binary file
[user@machine ~]> /usr/bin/*sh
Usage: amuFormat.sh <Card Type> <drive>
<Card Type> has to be defined in amuFormat.sh itself
<drive> has to be defined in mtools.conf

Responder1

A razão pela qual meu shell continua voltando para o bash e até me impedindo de usar exec para entrar no tcsh foi porque no arquivo .cshrc havia uma linha que dizia exec /bin/bash -llá. Para corrigir isso, removi essa linha e, a partir desse ponto, posso trocar de shell.

informação relacionada