
Я хочу создать двух пользователей (например, adm1 и adm2), потому что каждый из них хочет свой пароль, к которому он привык. Однако они будут использовать один и тот же домашний каталог, назовем его admx.
Это возможно?
Если да, то как этого добиться?
(конечно, они оба будут принадлежать к одной и той же группе=admx)
решение1
Я бы не рекомендовал использовать один и тот же домашний каталог для нескольких пользователей, поскольку в домашнем каталоге находятся важные файлы конфигурации. Они читаются и записываются различными программами, что может вызвать конфликты между пользователями. Кроме того, некоторые из этих файлов должны быть доступны только одному пользователю, иначе соответствующая программа откажется работать. Лучше создать подкаталог в домашнем каталоге одного пользователя, который будет использоваться обоими пользователями, и создать символическую ссылку на этот подкаталог в домашнем каталоге другого пользователя. Конечно, подкаталог должен быть доступен для записи группе admx и иметь установленный бит setgid, чтобы оба пользователя могли создавать файлы в этом каталоге, и они будут автоматически назначены группе.
Для удобства вы можете поместить cd
команду, которая переходит в этот подкаталог, в файл каждого пользователя .profile
, и тогда после входа в систему оба пользователя будут начинать работу в этом подкаталоге, а не в своем домашнем каталоге.
решение2
Несмотря на предупреждения в первом решении, я немного поигрался с символической ссылкой после того, как прочитал это ключевое слово.
Это можно сделать так:
Предположим, что оба администратора 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
.