nixp.ru v3.0

16 января 2017,
понедельник,
20:27:34 MSK

DevOps с компанией «Флант»
Ping_Win написал 17 января 2007 года в 00:57 (452 просмотра) Ведет себя неопределенно; открыл 73 темы в форуме, оставил 102 комментария на сайте.

Здраствйте!

Такая проблема: 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 и владельцев — ничего не помогает.

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

Спасибо.

Feuerbach

Я бы sudo использовал, дав этому nobody доступ к минимальному набору команд.

И мы ведь думаем о безопасности, ага? Менять права на /etc/passwd я бы не стал ни при каких.

Anarchist
Feuerbach
Я бы sudo использовал, дав этому nobody доступ к минимальному набору команд.

nobody?!?

Ты в своём уме?!?

Как раз этому пользователю никаких прав выше умолчательных давать не следует!

Правильное решение:

1. Пускать Индейца от специально созданного пользователя.

2. Этому пользователю через sudo дать права на выполнение минимально необходимого набора команд.

3. Помедитировать не предмет логирования действий этого пользователя.

Ping_Win

Да причем тут sudo. Есть софтина собранная с опцией PAM.

PAM ведь ничем не хуже sudo. Да и вопрос-то больше по PAM а не по апачу…

Допустив юзеру Васе Пупкину нужно исполнить команду useradd (без sudo).

Почему мой вариант с повсеместным pam_permit.so не работает?

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.