Я использую 12.04 на своем сервере.
Я создал нового пользователя, используя adduser me
и passwd me
, и добавил его в sudo.
Когда я вхожу, это то, что я вижу.
Could not chdir to home directory /home/me: No such file or directory
$
Я печатаю bash
, и он начинает выглядеть «нормально»
$ bash
me@server:/$
Как можно избежать ввода bash
при каждом входе в систему?
adduser
слишком простой и не устанавливает значения по умолчанию должным образом. Рекомендуется использовать useradd
, когда это возможно. Вы можете удалить нового пользователя и создать его снова с помощью useradd -D me
или починить его самостоятельно:
sudo mkdir /home/me
sudo usermod --shell /bin/bash --home /home/me me
sudo chown -R me:me /home/me
cp /etc/skel/.* /home/me/
Если вы использовали getent passwd me
, как предположил Флориан, вы должны были увидеть что-то вроде этого:
sudo getent passwd me
boggus:x:1002:1002::/home/me:/bin/sh
И ls /home
не будет отображать каталог пользователя как вашу ошибку:
Could not chdir to home directory /home/me: No such file or directory
Вы можете установить домашний каталог пользователя с помощью команды usermod -d _homedir_ username
.
Например:
usermod -d / sudouser
устанавливает домашний каталог sudouser
в корневой каталог.
Однако, корневой каталог не является хорошим выбором, особенно если вы входите в систему с интерактивной оболочкой. Оболочки могут создавать свои собственные файлы, когда вы входите в систему, и любые дополнительные файлы на корневом уровне не очень хорошая вещь.