Здравствуйте. У меня на компьютере есть 5 учётных записей для локальных пользователей. Недавно мне понадобилось заблокировать 2 из них. Я зашёл в Центр Управления Системой, и у нужных аккаунтов установил интерпритатор команд как /sbin/nologin. Выйдя из своей учётной записи я увидел что они пропали из списка выбора пользователей. Но после перезагрузки они вновь там появились, и под ними можно заходить в систему. Я зашёл в Центр, и проверил стоит ли у них /sbin/nologin. Всё стояло правильно. Чтоб снова из заблокировать мне пришлось выбрать в качестве интерпритатора /bin/bash, а затем снова /sbin/nologin. Тогда они исчезли. Но опять до следующей перезагрузки :(
Смотрите, устанавливается ли интерпретатор в /etc/passwd.
Да. Вот пример строки одного проблемного аккаунта nastya:x:502:502::/home/nastya:/sbin/nologin При этом я спокойно переключаю пользователя и захожу под этим этим логином. Забыл сказать, в ЦУПе галочки "Входит в группу администраторов" у этих аккаунтов не стоит
Имеем большую дырку в безопасности в KDM и GDM, когда пускает пользователей в графическую среду (правда, не даёт возможность воспользоваться эмулятором терминала). Спасибо за найденную уязвимость. Из всех DM не подвержен этому поведению XDM.
man usermod: -L Lock a user's password. This puts a '!' in front of the encrypted password, effectively disabling the password. You can't use this option with -p or -U.
(In reply to comment #3) > Имеем большую дырку в безопасности в KDM и GDM, когда пускает пользователей в > графическую среду (правда, не даёт возможность воспользоваться эмулятором > терминала). Спасибо за найденную уязвимость. > > Из всех DM не подвержен этому поведению XDM. DESCRIPTION pam_shells is a PAM module that only allows access to the system if the users shell is listed in /etc/shells. It also checks if /etc/shells is a plain file and not world writable. [altlinux@eeelive ~]$ sudo grep -i shell /etc/pam.d/* /etc/pam.d/vsftpd:auth required pam_shells.so [altlinux@eeelive ~]$ cat /etc/shells /bin/sh /bin/bash /bin/ash /bin/bsh /bin/csh /bin/tcsh /bin/ksh /bin/zsh
(В ответ на комментарий №5) > /etc/pam.d/vsftpd:auth required pam_shells.so Да, именно строку auth required pam_shells.so нужно добавить в /etc/pam.d/gdm.
I'll take care of this.
gdm-2.30.2-alt1 -> sisyphus: * Tue Jun 22 2010 Alexey Shabalin <shaba@altlinux> 2.30.2-alt1 - 2.30.2 - ldv@: /etc/pam.d/gdm: Added pam_shells to auth stack (closes: #23643).