URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 71501
[ Назад ]

Исходное сообщение
"Помогите разобраться с PAM"

Отправлено VladimirX , 17-Янв-07 02:17 
Здраствуйте!

Такая проблема: Apache2+CGI. Написал web-морду, заполняя через web-интерфейс форму и нажимая submit, вызывается cgi-скрипт, создающий системную учетную запись.(Апач крутится под учетной записью nobody)
Пробую жать на эту кнопку - ничего не получается, тогда как запуская скрипт из-под рута всё делается на ура. Посмотрел логи - там несколько упоминаний про PAM.

Заглядываю в /etc/pam.d, там есть файл useradd, а я собственно в cgi этой командой и пользовался. Содержимое файла небольшое:

auth      sufficient    pam_rootok.so
auth      required      pam_permit.so
account   include       system-auth
password  required      pam_permit.so

Содержимое system-auth:

auth      required      pam_env.so
auth      sufficient    pam_unix.so likeauth nullok
auth      required      pam_deny.so
account   required      pam_unix.so
password  required      pam_cracklib difok=2 minlen=8 dcredit=2 .....
password  sufficient    pam_unix.so
password  required      pam_deny.so
session   required      pam_limits.so
session   required      pam_unix.so

Попробовал изменить конфиг для useradd на банально простой:
auth  required pam_permit.so
account required pam_permit.so
password required pam_permit.so
session required pam_permit.so

Не разрешает простому смертному юзеру выполнять useradd(а мне нужно чтоб nobody мог это делать). Выдает такую вот ругань:
useradd: unable to lock password file

Менял и разрешения на /etc/passwd и владельцев - ничего не помогает.

Спасайте, люди добрые.

Спасибо.

Содержание

Сообщения в этом обсуждении
"Помогите разобраться с PAM"
Отправлено bass , 17-Янв-07 06:39 
>Здраствуйте!
>
>Такая проблема: Apache2+CGI. Написал web-морду, заполняя через web-интерфейс форму и нажимая submit,
>вызывается cgi-скрипт, создающий системную учетную запись.(Апач крутится под учетной записью nobody)
>
>Пробую жать на эту кнопку - ничего не получается, тогда как запуская
>скрипт из-под рута всё делается на ура. Посмотрел логи - там
>несколько упоминаний про PAM.
>
>Заглядываю в /etc/pam.d, там есть файл useradd, а я собственно в cgi
>этой командой и пользовался. Содержимое файла небольшое:
>
>auth      sufficient    pam_rootok.so
>auth      required      
>pam_permit.so
>account   include       system-auth
>password  required      pam_permit.so
>
>Содержимое system-auth:
>
>auth      required      
>pam_env.so
>auth      sufficient    pam_unix.so likeauth
>nullok
>auth      required      
>pam_deny.so
>account   required      pam_unix.so
>password  required      pam_cracklib difok=2 minlen=8 dcredit=2
>.....
>password  sufficient    pam_unix.so
>password  required      pam_deny.so
>session   required      pam_limits.so
>session   required      pam_unix.so
>
>Попробовал изменить конфиг для useradd на банально простой:
>auth  required pam_permit.so
>account required pam_permit.so
>password required pam_permit.so
>session required pam_permit.so
>
>Не разрешает простому смертному юзеру выполнять useradd(а мне нужно чтоб nobody мог
>это делать). Выдает такую вот ругань:
>useradd: unable to lock password file
>
>Менял и разрешения на /etc/passwd и владельцев - ничего не помогает.
>
>Спасайте, люди добрые.
>
>Спасибо.

возможно есть более грамотное решение, но как вариант:
добавить этого пользователя в группу sudo (чтоб не спрашивал пароль), в /etc/sudoers прописать что ему можно делать. useradd заменить на sudo useradd


"Помогите разобраться с PAM"
Отправлено VladimirX , 17-Янв-07 21:27 
Насколько я знаю, PAM как раз и появилась с целью избавиться от некоторых недостатков suid-программ. И если useradd собрана с поддержкой PAM, то ее так просто не выкинешь.
Я пробовал удалить конфиг useradd из /etc/pam.d - не дало результатов, так же PAM Auth error.
Да и просто хотелось бы разобраться с этим злосчастным памом.

"Помогите разобраться с PAM"
Отправлено Zerot , 18-Янв-07 14:35 
не есть гуд ваше решение
более правильно - ваш скрипт просто пишет очередную строчку-задание в доступный неруту файлик
а другой скрипт, работающий из под рута, по крону файлик проверяет и выполняет задания

"Помогите разобраться с PAM"
Отправлено Sergey , 01-Фев-07 10:54 
>Насколько я знаю, PAM как раз и появилась с целью избавиться от
>некоторых недостатков suid-программ. И если useradd собрана с поддержкой PAM, то
>ее так просто не выкинешь.
>Я пробовал удалить конфиг useradd из /etc/pam.d - не дало результатов, так
>же PAM Auth error.
Выбрасывание ничего не даст так как при этом срабатывает other из /etc/pam.d
Он всегда срабатывает при отсутствии конфигурации для определенной службы.
Таким образом запрещается выполнение неизвестного сервиса.