Как-то это сработало для меня:
root @ kaiser: ~ # vim / etc / ssh / sshd_config
Измените эту строку от «да» до «нет» 28 «StrictModes no
Повторите попытку
sysadmin @ suselinux1: ~> con sysadmin kaiser Добро пожаловать в Ubuntu 12.04.1 LTS (GNU / Linux 3.2.0-25-generic i686)
Документация: https://help.ubuntu.com/Последний вход: Пт ноя 9 15:40:11 2012 от 10.1.3.25 sysadmin @ kaiser: ~ $ date vie nov 9 17:53:11 CST 2012 sysadmin @ kaiser: ~ $
В соответствии с руководством sudoers:
It is generally not effective to "subtract" commands from ALL using the
’!’ operator. A user can trivially circumvent this by copying the
desired command to a different name and then executing that. For
example:
bill ALL = ALL, !SU, !SHELLS
Doesn’t really prevent bill from running the commands listed in SU or
SHELLS since he can simply copy those commands to a different name, or
use a shell escape from an editor or other program. Therefore, these
kind of restrictions should be considered advisory at best (and
reinforced by policy).
Вот почему ваша политика sudoers не работает.
Если вы хотите запретить пользователю получать права root и изменять его пароль, попробуйте выполнить эту процедуру:
Предполагая, что ваши sudoers содержат эту директиву: root ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) ALL
Предполагая, что ваше имя пользователя foo, его группы - foo и sudo. Вывод команды groups: foo sudo
Удалить пользователя foo из sudo группы: gpasswd -d foo sudo после этого, пользователь foo не может выполнить любую команду с помощью sudo. Отредактируйте файл sudoers. Используйте эту команду: sudo visudo -f /etc/sudoers.d/foo
Определите прав пользователя foo, например: foo ALL=/usr/bin, !/usr/bin/passwd, !/usr/bin/su
Это означает, что пользователь foo может запускать любые команды в каталоге /usr/bin/, кроме команды passwd и su. Примечание. Если пользователь foo хочет изменить свой пароль, он может запустить команду passwd без sudo. Другой пример разрешения пользователя foo: foo ALL =/usr/bin, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
Это означает, что пользователь foo может запускать любые команды в каталоге /usr/bin/ и разрешено изменять пароль пользователя, кроме root на всех машинах. Вы можете определить группы команд с помощью define Cmnd_Aliases и создать «уровни разрешений». Вы можете найти полезные примеры в разделе ПРИМЕР sudoers manual , и вот полезная ссылка о том, как использовать sudoers.
добавить псевдоним команды через visudo:
Cmnd_Alias PASSWD=/usr/bin/passwd
Cmnd_Alias SU=/bin/su
добавить ограничения через visudo:
%nopasswdgroup ALL = ALL, !PASSWD, !SU
добавить пользователя в группу, называемую nopasswdgroup:
usermod -aG nopasswdgroup nopasswduser
В соответствии с руководством sudoers:
It is generally not effective to "subtract" commands from ALL using the
’!’ operator. A user can trivially circumvent this by copying the
desired command to a different name and then executing that. For
example:
bill ALL = ALL, !SU, !SHELLS
Doesn’t really prevent bill from running the commands listed in SU or
SHELLS since he can simply copy those commands to a different name, or
use a shell escape from an editor or other program. Therefore, these
kind of restrictions should be considered advisory at best (and
reinforced by policy).
Вот почему ваша политика sudoers не работает.
Если вы хотите запретить пользователю получать права root и изменять его пароль, попробуйте выполнить эту процедуру:
Предполагая, что ваши sudoers содержат эту директиву: root ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) ALL
Предполагая, что ваше имя пользователя foo, его группы - foo и sudo. Вывод команды groups: foo sudo
Удалить пользователя foo из sudo группы: gpasswd -d foo sudo после этого, пользователь foo не может выполнить любую команду с помощью sudo. Отредактируйте файл sudoers. Используйте эту команду: sudo visudo -f /etc/sudoers.d/foo
Определите прав пользователя foo, например: foo ALL=/usr/bin, !/usr/bin/passwd, !/usr/bin/su
Это означает, что пользователь foo может запускать любые команды в каталоге /usr/bin/, кроме команды passwd и su. Примечание. Если пользователь foo хочет изменить свой пароль, он может запустить команду passwd без sudo. Другой пример разрешения пользователя foo: foo ALL =/usr/bin, /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root
Это означает, что пользователь foo может запускать любые команды в каталоге /usr/bin/ и разрешено изменять пароль пользователя, кроме root на всех машинах. Вы можете определить группы команд с помощью define Cmnd_Aliases и создать «уровни разрешений». Вы можете найти полезные примеры в разделе ПРИМЕР sudoers manual , и вот полезная ссылка о том, как использовать sudoers.
добавить псевдоним команды через visudo:
Cmnd_Alias PASSWD=/usr/bin/passwd
Cmnd_Alias SU=/bin/su
добавить ограничения через visudo:
%nopasswdgroup ALL = ALL, !PASSWD, !SU
добавить пользователя в группу, называемую nopasswdgroup:
usermod -aG nopasswdgroup nopasswduser