Невозможно выполнить SU с root: `/bin/bash: разрешение отклонено`

root@frankfurt:~# sudo adduser newuser
Добавление пользователя `newuser' ...
Добавление новой группы `newuser' (1001) ...
Добавление нового пользователя `newuser '(1001) с группой` newuser'...
Создание домашнего каталога `/home/newuser' ...
Копирование файлов из `/etc/skel' ...
Введите новый пароль UNIX: 
Повторите ввод нового пароля UNIX: 
passwd: пароль успешно обновлен
Изменение информации о пользователе для newuser
Введите новое значение или нажмите ENTER для значения по умолчанию
    Полное имя []: новый
    Номер комнаты []: 
    Рабочий телефон []: 
    Домашний телефон []: 
    Другой []: 
Является ли информация правильной? [Да / Нет] у
root@frankfurt:~# su newuser
Невозможно выполнить /bin/bash: разрешение запрещено
корень @ франкфурт: ~ # 

Благодарю.

5 ответов

Измените разрешение этих папок, как это, и теперь вы можете su для другого пользователя.

chmod 755 /
chmod 755 /bin
chmod 755 /lib
  1. Проверьте разрешения /bin папка

    # ls -ld /bin
    drwxr-xr-x 2 root root 4096 May 27 21:39 /bin
    
  2. Проверьте разрешения всех доступных оболочек

    # 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
    

    Некоторые ссылки, которые мы должны проверить их цели

    # 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
    
  3. Попробуйте другую оболочку

    Самое лучшее busybox потому что это статическая сборка (не нужна библиотека.so)

    su newuser -s /bin/static-sh
    

    Далее это dash, низкие зависимости и установлены по умолчанию

    su newuser -s /bin/dash
    
  4. Проверьте разрешения библиотек и их родительских папок, вы можете получить список с помощью 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
    

    Это просто ссылки, которые нам нужны для проверки целевых файлов.

    # 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
    

Возможно, у вас проблема с правами доступа к файлам внутри /lib (или /lib64) и / или файлам внутри /dev.

Убедитесь, что они принадлежат пользователю root и что, по крайней мере, некоторые файлы в каталоге lib lib являются исполняемыми всеми пользователями. Попробуйте сравнить с "чистой" ОС, чтобы проверить, какие из них должны быть исполняемыми всеми.

Вы можете проверить разрешения и владельца для файлов, делающих ls -l /lib, например.

Ссылка на ссылку: http://www.tldp.org/LDP/LG/issue52/okopnik.html

Просто чтобы кто-нибудь знал, у меня была та же проблема с этим сообщением об ошибке, и решение для меня было:

CHMOD 755 /

Я по ошибке попытался изменить права доступа ко всем скрытым "точечным" файлам в папке на один уровень ниже корневой папки, что изменило разрешение / с 755 на 750. Проблема была:

кд / данные; chmod o-rwx .*

Была аналогичная проблема, и проблема заключалась в дополнительной записи в /etc/passwd для одного пользователя. Это произошло после некоторых изменений в процессе нашего сервера входа в систему ldap, так что, вероятно, это была просто ввод с ошибкой. Я подумал, что это может помочь другим, поэтому я должен хотя бы упомянуть об этом.

Другие вопросы по тегам