Я создал нового пользователя.
useradd -d / -G www-data dsweb
sudo passwd dsweb
usermod -aG sudo dsweb
Я успешно вошел в систему как этот пользователь, но когда я попытался нажать клавишу вверх, он показал мне что-то вроде ^[[A
вместо команд, которые я набрал всего несколько минут назад. Если войти как пользователь root, все работает нормально.
Как мне это сделать?
решение1
Разработчики git
говорят осантехника(низкий уровень) ифарфор(высокоуровневые) команды.
useradd
это сантехника. Вместо этого нужно было использовать adduser
(=фарфор).
добавить пользователя— это низкоуровневая утилита для добавления пользователей. В 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
.
После ввода команды вам необходимо повторно войти в систему.
Спасибо за этот ответздесь.