Самый простой путь состоял бы в том, чтобы поместить sth как это в .bashrc
php script.php
exit
После того, как выполнение оболочки script.php выйдет из сессии.
Но трудно сказать, что точно необходимо сделать и как уровень безопасности Вам нужно.
Это на самом деле очень легко. Если Ваш nsswitch является файлами ldap; просто добавьте запись для них в/etc/passwd и измените любой параметр, который Вы хотите. Если они уже не существуют в/etc/passwd, Вы могли бы сделать getent passwd <username> | sed 's|/home/<username>|/home/remoteusers/<username>|g' >> /etc/passwd
например, для изменения их корневого каталога от корня / размещают к подпапке дома, названного remoteusers. Протест состоит в том, что Вы не можете использовать useradd или usermod, необходимо отредактировать файл с редактором.
Я не полагаю что usermod RHEL (или любые инструменты NSS запаса) поддержки, изменяющие содержание NSS. Необходимо будет, вероятно, на самом деле изменить содержание LDAP, затем переместить его корневой каталог. Возможные инструменты для Вас: diradm
(посмотрите на v2, подцепляют хинду на вилку особенно), ldapvi
, cpu
, ldapscripts
(мог бы быть debian-только),
Я знаю, что эта ветка устарела. Однако я наткнулся на это, пытаясь сделать то же самое в CentOS 7. Я думаю, что процесс такой же. Мне нужно было изменить каталоги нескольких пользователей с /home/USER
на /home/ldap-users/USER
.
Сначала создайте файл ldif с изменениями, которые вы хотите внести. Я назвал свой changehomedirs.ldif
. Возможно, вам придется изменить свое подразделение в зависимости от того, в какое организационное подразделение вы помещаете своих пользователей. Я позвонил своим людям.
Затем я написал сценарий, по существу перебирающий каждого пользователя LDAP по одному, и использовал sed для замены слова USER в файле changehomedirs.ldif
на текущего пользователя в цикле и перенаправления вывода во временный файл с именем tmp..ldif.
Затем я использовал команду ldapmodify
, чтобы внести изменения, используя опцию -f
, чтобы прочитать нужные изменения из файла tmp.ldif. Пример на скриншоте ниже.
Это всего лишь тестовая система, поэтому пароль не является конфиденциальным.