Altere a permissão dessas pastas como esta e agora você pode su para outro usuário.
chmod 755 /
chmod 755 /bin
chmod 755 /lib
root@frankfurt:~# sudo adduser newuser Adding user 'newuser' ... Adding new group 'newuser' (1001) ... Adding new user 'newuser' (1001) with group 'newuser' ... Creating home directory '/home/newuser' ... Copying files from '/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for newuser Enter the new value, or press ENTER for the default Full Name []: new Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y root@frankfurt:~# su newuser Cannot execute /bin/bash: Permission denied root@frankfurt:~#
Obrigado.
Altere a permissão dessas pastas como esta e agora você pode su para outro usuário.
chmod 755 /
chmod 755 /bin
chmod 755 /lib
Verifique as permissões da pasta /bin
# ls -ld /bin
drwxr-xr-x 2 root root 4096 May 27 21:39 /bin
Verifique as permissões de todos os shells disponíveis
# ls -l /bin/*sh
-rwxr-xr-x 1 root root 1037464 Sep 1 2015 /bin/bash
-rwxr-xr-x 1 root root 154072 Feb 17 21:25 /bin/dash
lrwxrwxrwx 1 root root 4 Sep 1 2015 /bin/rbash -> bash
lrwxrwxrwx 1 root root 4 Feb 17 21:25 /bin/sh -> dash
lrwxrwxrwx 1 root root 7 Aug 19 2015 /bin/static-sh -> busybox
Alguns são links que devemos checar seus alvos
# ls -lL /bin/*sh
-rwxr-xr-x 1 root root 1037464 Sep 1 2015 /bin/bash
-rwxr-xr-x 1 root root 154072 Feb 17 21:25 /bin/dash
-rwxr-xr-x 1 root root 1037464 Sep 1 2015 /bin/rbash
-rwxr-xr-x 1 root root 154072 Feb 17 21:25 /bin/sh
-rwxr-xr-x 1 root root 1964536 Aug 19 2015 /bin/static-sh
Tente outro shell
O melhor é busybox
porque é uma construção estática (é necessária a biblioteca No .so)
su newuser -s /bin/static-sh
Em seguida, dash
, baixas dependências e instaladas por padrão
su newuser -s /bin/dash
Verifique as permissões das bibliotecas e suas pastas pai, você pode obter lista usando ldd
# ldd /bin/bash
linux-vdso.so.1 => (0x00007ffdefb5a000)
libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f714bbbd000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f714b9b9000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f714b5ef000)
/lib64/ld-linux-x86-64.so.2 (0x000055c6bc494000)
# ls -ld /lib /lib/x86_64-linux-gnu /lib64
drwxr-xr-x 26 root root 4096 May 15 07:41 /lib
drwxr-xr-x 2 root root 4096 May 14 15:52 /lib64
drwxr-xr-x 3 root root 16384 May 27 21:39 /lib/x86_64-linux-gnu
# ls -l /lib/x86_64-linux-gnu/libtinfo.so.5 /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2
lrwxrwxrwx 1 root root 32 Apr 14 23:16 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.23.so
lrwxrwxrwx 1 root root 12 Apr 14 23:16 /lib/x86_64-linux-gnu/libc.so.6 -> libc-2.23.so
lrwxrwxrwx 1 root root 13 Apr 14 23:16 /lib/x86_64-linux-gnu/libdl.so.2 -> libdl-2.23.so
lrwxrwxrwx 1 root root 15 Feb 19 09:23 /lib/x86_64-linux-gnu/libtinfo.so.5 -> libtinfo.so.5.9
Eles são apenas links que precisamos para verificar os arquivos de destino
# ls -lH /lib/x86_64-linux-gnu/libtinfo.so.5 /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2
##or
# ls -lL /lib/x86_64-linux-gnu/libtinfo.so.5 /lib/x86_64-linux-gnu/libdl.so.2 /lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2
-rwxr-xr-x 1 root root 162632 Apr 14 23:16 /lib64/ld-linux-x86-64.so.2
-rwxr-xr-x 1 root root 1864888 Apr 14 23:16 /lib/x86_64-linux-gnu/libc.so.6
-rw-r--r-- 1 root root 14608 Apr 14 23:16 /lib/x86_64-linux-gnu/libdl.so.2
-rw-r--r-- 1 root root 167240 Feb 19 09:23 /lib/x86_64-linux-gnu/libtinfo.so.5
Você provavelmente tem um problema com permissões de arquivos dentro de / lib (ou / lib64) e / ou arquivos dentro de / dev.
Verifique se eles pertencem ao root e que pelo menos alguns dos arquivos dentro do diretório de lib são executáveis por todos os usuários. Tente comparar com um SO "limpo" para verificar quais precisam ser executáveis por todos.
Você pode verificar as permissões e o proprietário dos arquivos que fazem ls -l /lib
, por exemplo.
Ref link: link
só para deixar alguém saber, tive o mesmo problema com essa mensagem de erro e a solução para mim foi:
chmod 755 /
Eu erroneamente tentei alterar as permissões de arquivo de todos os arquivos "ponto" ocultos em uma pasta um nível abaixo da pasta raiz que alterou a permissão de / de 755 para 750 Problema foi:
cd / data; chmod o-rwx. *