Ubuntu — история команд недоступна для вновь созданного пользователя

Ubuntu — история команд недоступна для вновь созданного пользователя

Я создал нового пользователя.

useradd -d / -G www-data dsweb
sudo passwd dsweb
usermod -aG sudo dsweb

Я успешно вошел в систему как этот пользователь, но когда я попытался нажать клавишу вверх, он показал мне что-то вроде ^[[Aвместо команд, которые я набрал всего несколько минут назад. Если войти как пользователь root, все работает нормально.

Как мне это сделать?

решение1

Разработчики gitговорят осантехника(низкий уровень) ифарфор(высокоуровневые) команды. useraddэто сантехника. Вместо этого нужно было использовать adduser(=фарфор).

Отuseradd's manpage:

добавить пользователя— это низкоуровневая утилита для добавления пользователей. В Debian администраторам обычно следует использовать adduser(8).

При использовании useraddвам нужно указать буквально все, например домашний каталог и оболочку входа. adduserс другой стороны, имеет для них разумные значения по умолчанию. Ваш опыт связан либо с тем, что /в качестве домашнего каталога (нет прав на запись) и/или с неправильной оболочкой без входа, как отметил @steeldriver в комментарии. adduserобрабатывает все это. Таким образом:

adduser dsweb           # create user with default settings (like $HOME, $SHELL)
adduser dsweb www-data  # add him to group www-data
adduser dsweb sudo      # ... and sudo

И да, это настоящий беспорядок, что у нас есть две команды adduserи useradd. Я самвсегдапридется посмотреть, что есть что.

Чтобы удалить ранее созданного dswebпользователя, используйте deluser dsweb. Сделайтенетпредусмотрите --remove-homeпереключатель, поскольку вы создали его /как $HOME и не хотите его удалять.

решение2

Мне помогла команда из учетной записи пользователя: chsh -s /bin/bash.

После ввода команды вам необходимо повторно войти в систему.

Спасибо за этот ответздесь.

Связанный контент