LINUX.ORG.RU
решено ФорумAdmin

Не могу войти в систему

 , ,


0

2

Всем привет!

Накатил на OrangePI PC2 дебиан. Вроде всё более менее работает, но встала одна непреодолимая (надеюсь, пока) проблема: после создания пользователя не могу под ним зайти. Говорит Permission denied на домашнюю директорию и /bin/bash. Права проверил - вроде есть. Проверил ACL. Не везде есть. не может выдать на /bin/bash (setfacl говорит, что Неподдерживаемая операция). мб в uEnv.txt надо какие-то опции еще указать при загрузке ядра (какие и чему равные)?

Вроде всё проверил. Что еще может быть? и как оно правится?

Также, туда отказываются вставать БД - mysql и mariadb (да, я извращенец - ставить на embedded БД). Не могут создаться сокеты, не может войти с паролем рута mysql-upgrade. Тоже пока с ходу не получилось поправить.

Ядро стоит из стандартной поставки (на выходных буду пробовать самосбор, ибо родной конфиг - жуть).

Вот то, что происходит:

# ls -la /home
итого 20
drwxr-xr-x 5 root root 4096 янв 14 16:14 .
drwx----— 21 orangepi orangepi 4096 янв 14 17:50 ..
drwxr-xr-x 2 aido aido 4096 янв 14 16:14 aido
drwxr-xr-x 2 michael michael 4096 янв 14 16:13 michael
drwxr-xr-x 2 orangepi orangepi 4096 янв 1 00:02 orangepi
# getfacl /home/aido
getfacl: Removing leading '/' from absolute path names
# file: home/aido
# owner: aido
# group: aido
user::rwx
group::r-x
other::r-x
# ls -la /bin/bash
-rwxr-xr-x 1 root root 909312 ноя 12 2014 /bin/bash
# date
Пт янв 15 01:42:41 UTC 2016
# getfacl /bin/bash
getfacl: Removing leading '/' from absolute path names
# file: bin/bash
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
# su aido
Cannot execute /bin/bash: Permission denied
# login aido
Пароль: 
Последний вход в систему:Чт янв 14 17:51:49 UTC 2016на pts/0
Linux Orangepi 3.10.65 #3 SMP PREEMPT Tue Nov 15 09:46:50 CST 2016 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Невозможно перейти в каталог «/home/aido»

★★

Последнее исправление: aido (всего исправлений: 1)

вывод комманд

# cat /etc/passwd
# cat /etc/group
приведите на всякий случай

samson ★★
()

А рутом ты как зашёл?

Cannot execute /bin/bash: Permission denied

bash есть в /etc/shells ?

router ★★★★★
()
Ответ на: комментарий от aido

strace сказал, что виноват PAM

Так и сказал?

Раз воспроизводится через su, проще всего посмотреть на /etc/pam.d/su

Если бы у тебя не было рута, я бы сказал что воевать с огороженными системами тот ещё геморрой. Но раз рута дали, то скорее всего при создании пользователя какая-нибудь банальная ошибка. Вроде отсутствия шела в /etc/shells или не созданного домашнего каталога

Ну и хотелось бы увидеть вывод

sestatus
ls -Z /home

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

bash есть в /etc/shells ?

Есть.

strace сказал нечто вот такое:

sendto(4, "p\0\0\0Q\4\5\0\4\0\0\0\0\0\0\0op=PAM:session_o"..., 112, 0, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 112
ppoll([{fd=4, events=POLLIN}], 1, {0, 500000000}, NULL, 0) = 1 ([{fd=4, revents=POLLIN}], left {0, 499994125})
recvfrom(4, "$\0\0\0\2\0\0\0\4\0\0\0\321t\0\0\0\0\0\0p\0\0\0Q\4\5\0\4\0\0\0"..., 8988, MSG_PEEK|MSG_DONTWAIT, {sa_family=AF_NETLINK, pid=0, groups=00000000}, [12]) = 36
recvfrom(4, "$\0\0\0\2\0\0\0\4\0\0\0\321t\0\0\0\0\0\0p\0\0\0Q\4\5\0\4\0\0\0"..., 8988, MSG_DONTWAIT, {sa_family=AF_NETLINK, pid=0, groups=00000000}, [12]) = 36
close(4)                                = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f79aa20d0) = 29906
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], NULL, 8) = 0
rt_sigaction(SIGTERM, {0x555a54716c, [], 0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [ALRM TERM], NULL, 8) = 0
wait4(-1, Cannot execute /bin/bash: Permission denied

проще всего посмотреть на /etc/pam.d/su

Какие аномалии искать?

root@Orangepi:~# cat /etc/pam.d/su
#
# The PAM configuration file for the Shadow `su' service
#

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so

# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

# Uncomment this if you want wheel members to be able to
# su without a password.
# auth       sufficient pam_wheel.so trust

# Uncomment this if you want members of a specific group to not
# be allowed to use su at all.
# auth       required   pam_wheel.so deny group=nosu

# Uncomment and edit /etc/security/time.conf if you need to set
# time restrainst on su usage.
# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
# as well as /etc/porttime)
# account    requisite  pam_time.so

# This module parses environment configuration file(s)
# and also allows you to use an extended config
# file /etc/security/pam_env.conf.
# 
# parsing /etc/environment needs "readenv=1"
session       required   pam_env.so readenv=1
# locale variables are also kept into /etc/default/locale in etch
# reading this file *in addition to /etc/environment* does not hurt
session       required   pam_env.so readenv=1 envfile=/etc/default/locale

# Defines the MAIL environment variable
# However, userdel also needs MAIL_DIR and MAIL_FILE variables
# in /etc/login.defs to make sure that removing a user 
# also removes the user's mail spool file.
# See comments in /etc/login.defs
#
# "nopen" stands to avoid reporting new mail when su'ing to another user
session    optional   pam_mail.so nopen

# Sets up user limits according to /etc/security/limits.conf
# (Replaces the use of /etc/limits in old login)
session    required   pam_limits.so

# The standard Unix authentication modules, used with
# NIS (man nsswitch) as well as normal /etc/passwd and
# /etc/shadow entries.
@include common-auth
@include common-account
@include common-session
aido ★★
() автор топика
Последнее исправление: aido (всего исправлений: 2)
Ответ на: комментарий от aido

clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f79aa20d0) = 29906

Сдаётся мне, самое интересное происходит дальше, в потомке PID 29906. А этот процесс только печатает на экран окончательный диагноз

я обычно запускаю strace с отслеживанием форков ( -f -ff )

strace -f -ff -T -s8192 -o /tmp/strace_${prog} -- ${prog} ${args}

Потом можно просто грепнуть /tmp/strace_{$prog}* по фразе «Permission denied»

Если лень, вот тут есть советы: http://askubuntu.com/questions/307534/unable-to-su-with-root-bin-bash-permiss...

Какие аномалии искать?

если ты считаешь, что дело в pam, проверяй построчно, что делают все перечисленные модули, включая include'ы. Но скорее всего дело не в нём, см. выше

router ★★★★★
()
Ответ на: комментарий от aido

selinux отключен, с этой стороны сюрпризов не будет.

Но есть ещё AppArmor. Как его статус проверить - не знаю

router ★★★★★
()
Ответ на: комментарий от router

пасиб. Оказалось вот такое (но там права 644 на все файлы в /usr/share/locale/ru/LC_MESSAGES... для чтения должно хватать):

execve("/bin/bash", ["bash"], [/* 14 vars */]) = -1 EACCES (Permission denied) <0.000089>
faccessat(AT_FDCWD, "/bin/bash", R_OK|X_OK) = -1 EACCES (Permission denied) <0.000069>
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied) <0.000071>
openat(AT_FDCWD, "/usr/share/locale/ru_RU.UTF-8/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000069>
openat(AT_FDCWD, "/usr/share/locale/ru_RU.utf8/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000069>
openat(AT_FDCWD, "/usr/share/locale/ru_RU/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000069>
openat(AT_FDCWD, "/usr/share/locale/ru.UTF-8/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000069>
openat(AT_FDCWD, "/usr/share/locale/ru.utf8/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000069>
openat(AT_FDCWD, "/usr/share/locale/ru/LC_MESSAGES/shadow.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000073>
dup(2)                                  = 3 <0.000027>
fcntl(3, F_GETFL)                       = 0x20002 (flags O_RDWR|0x20000) <0.000026>
fstat(3, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0 <0.000027>
mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fac681000 <0.000041>
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek) <0.000025>
openat(AT_FDCWD, "/usr/share/locale/ru_RU.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000070>
openat(AT_FDCWD, "/usr/share/locale/ru_RU.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000068>
openat(AT_FDCWD, "/usr/share/locale/ru_RU/LC_MESSAGES/libc.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000069>
openat(AT_FDCWD, "/usr/share/locale/ru.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000068>
openat(AT_FDCWD, "/usr/share/locale/ru.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000068>
openat(AT_FDCWD, "/usr/share/locale/ru/LC_MESSAGES/libc.mo", O_RDONLY) = -1 EACCES (Permission denied) <0.000069>
write(3, "Cannot execute /bin/bash: Permission denied\n", 44) = 44 <0.000085>

aido ★★
() автор топика
Последнее исправление: aido (всего исправлений: 1)
Ответ на: комментарий от router

оказалось, что не было прав на корень... ппц. chmod 755 / && chmod 755 /bin && chmod 755 /lib всё разрешило.

aido ★★
() автор топика
Ответ на: комментарий от aido

Если дистрибутив debian под orange pi собирал не ты, сообщи разработчику, что он рукожоп

З.Ы. Виндузятники и «кул-вебмастеры» любят на автомате делать chmod 777 и вообще не заморачиваются с правами. Возможно, разработчик как раз из таких хакиров

router ★★★★★
()
Последнее исправление: router (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.