Я добавил нового пользователя Linux, выполнив
useradd -d /var/www/mywebsite.com -m newuser
passwd newuser
Я проверил учетную запись, войдя на сервер с помощью следующей команды
ssh newuser@mywebsite.com
После входа в систему оболочка не позволяет мне выполнять автозаполнение вкладок. Например, я набрал бы / var / www / myweb {tab}, но кнопка табуляции только вводит пробел в оболочку. Кроме того, нажатие клавиш со стрелками вверх и вниз не дает мне последних введенных команд оболочки.
Все отлично работает, когда я ssh войти в систему как root. Но это не работает, когда я ssh войти как newuser.
Я что-то пропустил?
Спасибо
На моей системной вкладке автозаполнение добавлено:
в .bashrc. Bashrc не создается для новых пользователей, поскольку он не существует в / etc / skel. Создайте .bashrc в / etc / skel с указанным выше кодом, и он будет работать для новых пользователей. Затем скопируйте файл новому пользователю, которого вы только что создали, чтобы он работал и для них.
источник
Вы проверили, что у вашего нового пользователя такая же оболочка, что и у пользователя root? Кажется, что ваш пользователь root имеет bash, что-то вроде этого, и у вашего нового пользователя есть ksh или что-то подобное. Посмотрите файл / etc / passwd или переменную среды SHELL.
источник
Когда вы добавляете пользователя,
useradd
специальная оболочка не добавляется.Вы можете увидеть это с помощью команды:
cat /etc/passwd
Вы можете видеть, что у пользователя
test1
есть оболочка,/bin/bash
но у пользователяtest3
нет добавленной оболочки.Чтобы это исправить, вы можете изменить оболочку пользователя
test3
с помощью этой команды:Или, когда вы создаете нового пользователя, вы можете использовать опцию s:
источник
Существовала ли папка /var/www/mywebsite.com до создания учетной записи?
Можете ли вы проверить, что содержимое / etc / skel копируется в домашний каталог /var/www/mywebsite.com?
Получил ли новый аккаунт другую оболочку, которая не поддерживает автозаполнение?
источник