выполнение команд при первом входе пользователя в систему [закрыто]

Итак, я использую webmin для создания пользователя ldap. Затем я вручную создаю папку public_html и устанавливаю квоту для вновь созданной домашней папки. Есть ли способ выполнять команды, когда пользователь впервые входит в систему, или есть способ автоматически устанавливать квоту и создавать папки, когда пользователь создается через webmin?

0
задан 10 March 2015 в 13:14
3 ответа

Set up Home directory Общий подход заключается в настройке шаблона домашнего каталога вашего нового пользователя в файле /etc/skel.

После включения модуля PAM pam_mkhomedir, который создаст домашний каталог пользователя при первом входе в систему (если его ещё нет), модуль pam_mkhomedir PAM создаст домашний каталог пользователя, если его нет существуют, когда сессия начинается. Это позволяет пользователям присутствовать в центральной базе данных (такие как NIS, kerberos или LDAP) без использования распределенной файловой системы или предварительное создание большого количества каталогов. Каталог скелета (обычно /etc/skel/) используется для копирования файлов по умолчанию, а также устанавливает маску для создания.

где модуль pam_mkhomedir включен, в точности зависит от вашего дистрибутива, но, например, на RHEL6 это будет файл /etc/pam.d/system-auth, в который вы добавите строку

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required    pam_mkhomedir.so skel=/etc/skel/ umask=0022
session     required      pam_unix.so

с правильным каталогом шаблонов (/etc/skel) и маской umask.

Quota Установка квоты зависит от базовой файловой системы, IIRC на файловых системах EXT[2-4] вы должны явно устанавливать квоты для каждого (нового) пользователя, но XFS позволяет установить значение квоты по умолчанию для каждого уникального пользователя в каждой файловой системе XFS.

pam_exec Позволяет pam выполнять определённые команды каждый раз, когда пользователь входит в систему. Вы можете создать скрипт (который заменяет вышеописанные шаги), который проверяет, существует ли домашний каталог пользователей, если не подготавливает домашний каталог, конфигурирует квоту и всё остальное, что вы хотите настроить.

session required pam_unix.so
session required pam_exec.so /sbin/setup_newuser.sh $PAM_USER
1
ответ дан 4 December 2019 в 17:14
  1. Вы можете использовать .bash_profile или .bashrc для выполнения команд в домашнем каталоге пользователя.
    1. Для настройки нового домашнего каталога пользователей вам нужно изменить скелет в /etc/skel .

Используя /etc/skel

0
ответ дан 4 December 2019 в 17:14

Мой ответ не очень похож на webmin, но он сэкономит вам много кликов в будущем из-за автоматизации.

Вы можете автоматизировать весь процесс создания домашних папок и генерации скрипта входа по умолчанию:

Ссылки, которые я дал, предназначены для Ubuntu, но я считаю, что для других основных дистрибутивов он не очень отличается.

.
0
ответ дан 4 December 2019 в 17:14

Теги

Похожие вопросы