Запрет passwd (как запретить пользователью команду passwd?)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Kagen
Сообщения: 68

Запрет passwd

Сообщение Kagen »

доброго времени суток.. не подскажите, как запретить пользователю (а лучше группе) выполнять команду passwd?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Запрет passwd

Сообщение sash-kan »

всем кроме суперпользователя:
# chmod u-s $(which passwd)
выборочно — отдельная очень длинная история.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Kagen
Сообщения: 68

Re: Запрет passwd

Сообщение Kagen »

sash-kan писал(а):
24.12.2007 18:39
всем кроме суперпользователя:
# chmod u-s $(which passwd)
выборочно — отдельная очень длинная история.


спасибо, так вполне устроит (=
это как я понимаю для любой команды актуально? ))
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Запрет passwd

Сообщение sash-kan »

Kagen писал(а):
24.12.2007 18:44
это как я понимаю для любой команды актуально?
нет.
«это» убирает у файла suid-бит, благодаря которому при выполнении этой команды она получает права суперпользователя для возможности записи в /etc/passwd и /etc/shadow. суперпользователь, запуская эту программу, и так имеет необходимые права.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Kagen
Сообщения: 68

Re: Запрет passwd

Сообщение Kagen »

sash-kan писал(а):
24.12.2007 19:00
Kagen писал(а):
24.12.2007 18:44
это как я понимаю для любой команды актуально?
нет.
«это» убирает у файла suid-бит, благодаря которому при выполнении этой команды она получает права суперпользователя для возможности записи в /etc/passwd и /etc/shadow. суперпользователь, запуская эту программу, и так имеет необходимые права.

спасибо буду знать))
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Запрет passwd

Сообщение drBatty »

sash-kan писал(а):
24.12.2007 18:39
отдельная очень длинная история.

А почему нельзя chmod 510 /usr/bin/passwd
разве тогда никто кроме группы рута не сможет запустить это файл?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Запрет passwd

Сообщение sash-kan »

drBatty писал(а):
24.12.2007 19:18
группы рута
а что, многочисленная группа? я знаю только одного из этой группировки ;)
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Запрет passwd

Сообщение drBatty »

sash-kan писал(а):
24.12.2007 20:51
drBatty писал(а):
24.12.2007 19:18
группы рута
а что, многочисленная группа? я знаю только одного из этой группировки ;)
Я тоже. Но разве нельзя сделать ещё одного? (вот нет у меня желания на такие эксперименты, но интересно).
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Запрет passwd

Сообщение nesk »

Kagen писал(а):
24.12.2007 18:38
доброго времени суток.. не подскажите, как запретить пользователю (а лучше группе) выполнять команду passwd?

По моему, можно просто запретить пользователю менять себе пароль, без запрета запускать команду passwd.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
Аватара пользователя
stannum
Сообщения: 322
Статус: Свободолюбитель
ОС: Debian GNU/Linux unstable

Re: Запрет passwd

Сообщение stannum »

Если нужно чтобы юзеры из определенной группы(например, root) могли изменять свой пароль, нужно:
1. поместить юзера в соответствующую группу
2. снять suid бит с $(which passwd)
3. дать права на запись соответствующей группе в файлы /etc/passwd и /etc/shadow
Должно работать, сам не проверял.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Запрет passwd

Сообщение sash-kan »

stannum писал(а):
25.12.2007 15:32
3. дать права на запись соответствующей группе в файлы /etc/passwd и /etc/shadow
ничего себе совет.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Запрет passwd

Сообщение DaemonTux »

stannum писал(а):
25.12.2007 15:32
3. дать права на запись соответствующей группе в файлы /etc/passwd и /etc/shadow

И тогда юзеры смогут править записи как хотят. :crazy:
Vladivostok Linux User Group
Спасибо сказали:
Аватара пользователя
Folderx
Сообщения: 296
ОС: fedora, mandriva

Re: Запрет passwd

Сообщение Folderx »

Kagen писал(а):
24.12.2007 18:38
доброго времени суток.. не подскажите, как запретить пользователю (а лучше группе) выполнять команду passwd?


-r-s--x--x 1 root root 15540 Июн 21 2004 /usr/bin/passwd

делаем так

-r-s-----x 1 root noexecute 15540 Июн 21 2004 /usr/bin/passwd

дальше создаём группу noexecute и включаем в неё пользователей которым запрещено запускать программу
(ну это с любой программой будет работать, владелец программы запустит если разрешено)
Спасибо сказали:
Аватара пользователя
stannum
Сообщения: 322
Статус: Свободолюбитель
ОС: Debian GNU/Linux unstable

Re: Запрет passwd

Сообщение stannum »

sash-kan писал(а):
25.12.2007 18:05
stannum писал(а):
25.12.2007 15:32
3. дать права на запись соответствующей группе в файлы /etc/passwd и /etc/shadow
ничего себе совет.



Признаю ошибку, как-то не подумавши сказал :blush:
Но зато в man shadow есть кое чего что не было здесь высказано, а именно - запретить смену пароля юзеру можно с помощью параметра MIN_DAYS:

Код: Выделить всё

#passwd -n 99999 <username>

После чего пользователь сможет сменить пароль только через 99999 дней, т.е. не в этой жизни, это точно :)
Спасибо сказали:
spielmann
Сообщения: 105
ОС: Linux

Re: Запрет passwd

Сообщение spielmann »

Хм. А если так:

/etc/pam.d/passwd

Код: Выделить всё

#%PAM-1.0
auth       include      system-auth
account    include      system-auth
password   include      system-auth


Используя модуль pam_succeed_if:

Код: Выделить всё

#%PAM-1.0
auth       include      system-auth
account    include      system-auth
password   required     pam_succeed_if.so quiet use_uid uid eq 0
password   include      system-auth


Это позволит менять пароли только пользователю с UID = 0. Остальные получат:

Код: Выделить всё

[test@home ~]$ passwd
Changing password for user test.
Changing password for test
(current) UNIX password:
passwd: Authentication failure

на этапе проверки текущего пароля.

Действует, естественно, только если используется PAM.
Спасибо сказали: