Я хочу создать двух пользователей (например, adm1 и adm2), потому что каждый из них хочет свой собственный пароль, чтобы которым он и пользуется. Однако они должны использовать один и тот же домашний каталог, назовем его admx.
Возможно ли это?
Если это возможно: как этого достичь?
(конечно, они оба будут принадлежать к одной группе = admx)
Я бы не рекомендовал использовать один и тот же домашний каталог для нескольких пользователей, потому что важные файлы конфигурации находятся в домашнем каталоге. Они читаются и записываются различными программами, что может вызвать конфликты между пользователями. Кроме того, некоторые из этих файлов должны быть доступны только одному пользователю, иначе соответствующая программа откажется работать. Лучше создать подкаталог в домашнем каталоге одного пользователя, который будет использоваться обоими пользователями, и создать символическую ссылку на этот подкаталог в домашнем каталоге другого пользователя. Конечно, подкаталог должен быть доступен для групповой записи для группы admx и иметь установленный бит setgid, чтобы оба пользователя могли создавать файлы в этом каталоге, и они будут автоматически назначены группе.
Для удобства вы можете поместить команду cd
, которая изменяет этот подкаталог в файле .profile
каждого пользователя, чтобы после входа оба пользователя запускались в этом подкаталоге, а не в своем домашний каталог.
Несмотря на предупреждения в первом решении, я немного поигрался с символической ссылкой после того, как прочитал это ключевое слово.
Это можно сделать так:
Предположим, что оба администратора adm1
и adm2
находятся в одной группе admx
. Предположим, что / home / adm1
- это домашний каталог adm1
, и он правильно настроен. Не нужно выполнять никаких действий, чтобы предоставить adm2
разумные настройки, поскольку его каталог будет заменен программной ссылкой на / home / adm1
:
sudo rm -rf /home/adm2 # remove the original home directory of adm2.
# Note: adm2 must exist before his home directory
# is replaced by a soft link, otherwise owner and
# group of the pointed to directory would change!
sudo chgrp admx /home # intermediate: now /home belongs root:admx
sudo chmod g+ws /home # intermediate: set w and SGID-bit to inherit group
sudo ln -s /home/adm1 /home/adm2 # create adm2's home directory as soft link
# due to SGID-bit, root:admx own the link
sudo chmod g-ws /home # remove rights granted in step 2 and 3
sudo chgrp root /home # back in original state
sudo chown -R adm1:admx /home/adm1 # make sure that adm2 gets access rights through group admx
sudo chmod -R g+s /home/adm1/ # establish group inheritance in favor of admx
sudo chmod -R g+w /home/adm1/.config/* # there might be programs like x-tile wanting to write there
Последние два шага необходимы, потому что adm2
не является владельцем / home / adm1
.
Преимущество этого решения - хотя и более сложного по сравнению с решением выше - заключается в том, что оно позволяет избежать дублирования ./ config
(не упомянутого там) в домашний каталог другого администратора, так что оба имеют одинаковые настройки. . Второй администратор получает всю свою власть через группу admx
. Бит SGID, установленный в конце, гарантирует, что впоследствии созданные каталоги ниже / home / adm1
также унаследуют группу admx
.