
Допустим, у меня есть пользователь по именипанорамыи его домашний каталог находится в /home/panos
. Затем я создаю другого пользователя с именемТом:
adduser Tom
Он создает пользователяТому кого есть домашний каталог:/home/Tom
Вопрос: что если я хочу создать нового пользователя и дать ему в качестве домашнего каталога домашний каталог другого пользователя. Например, давайте создадим пользователяДжеррии передайте ему в качестве домашнего каталога домашний каталог пользователяПанос:
adduser -d /home/panos Jerry
но есть ошибка:
adduser: warning: the home directory already exists.
Not copying any file from skel directory into it.
Однако, если вы взглянете на /etc/passwd
файл:
tail -n 3 /etc/passwd
anthony:x:501:501::/home/anthony:/bin/bash
panos:x:502:502::/home/panos:/bin/bash
Jerry:x:503:503::/home/panos:/bin/bash
кажется, это сработало. Но когда я попытался войти как Джерри:
[root@LinuxAcademy ~]# su Jerry
bash-4.1$ bash: /home/panos/.bashrc: Permission denied
bash-4.1$
он не позволяет мне войти в систему как Джерри, а также изменяет мою подсказку (ПС1).
Итак, как мне это сделать? Возможно ли это?
решение1
Вы создали пользователя с уже существующим домашним каталогом.
adduser: предупреждение: домашний каталог уже существует.
Не копируются в него файлы из каталога skel.
Это не ошибка, это предупреждение. Обычно причина не создавать домашний каталог — пользователь, домашний каталог которого не должен существовать. Здесь он есть, что с большой вероятностью может быть ошибкой системного администратора (например, неудачное копирование-вставка или глючный скрипт). Поскольку вы на самом деле хотели использовать существующий домашний каталог, проигнорируйте это предупреждение.
[root@LinuxAcademy ~]# su Jerry
bash-4.1$ bash: /home/panos/.bashrc: Permission denied
bash-4.1$
Вы вошли как Джерри. Этот bash 4.1 запущен как Джерри. У Джерри нет разрешения на чтение его ~/.bashrc
, либо потому, что файл .bashrc
доступен только для чтения panos
(и, возможно, для группы, к которой Джерри не принадлежит), либо потому, что /home/panos
сам каталог недоступен ( x
разрешение) для Джерри. Поэтому bash сообщает вам, что не может прочитать свой файл запуска, и отображает приглашение по умолчанию.
Наличие нескольких пользователей с одним и тем же домашним каталогом — явление весьма необычное (исключая системные учетные записи, домашний каталог которых не имеет значения). Что вам следует делать с разрешениями, зависит от того, чего вы пытаетесь добиться этим. Вероятно, вы хотите, по крайней мере, разрешить всем этим пользователям читать свой домашний каталог.
решение2
Ну, конечно. Он пытается прочитать и выполнить /home/panos/.bashrc
. Этот файл принадлежит пользователю panos
, и, предположительно, установлен на -rwx------
или что-то в этом роде. Поэтому Jerry
пытается прочитать его и не может. Permission denied
, как и сказано.
Вполне возможно, что Jerry
на самом делеявляетсявошёл в систему. Попробуйте whoami
.
Итак, поместите их в одну группу и сделайте ее group-rx, или world-rx, или что-то в этом роде. И сделайте то же самое для домашнего каталога (исполняемый, для каталога, означает доступный для поиска).
решение3
$ mv /home/jerry /home/xxx
$ userdel -r jerry
$ rm -rf /var/spool/mail/jerry
$ useradd jerry
$ mv /home/xxx /home/jerry
jerry home уже существует, поэтому вы подскажете, как
bash-4.1$ bash
Чтобы избежать изменения существующего домашнего каталога и создания пользователя заново