Я добавил нового пользователя Linux, выполнив
useradd -d /var/www/mywebsite.com -m newuser
passwd newuser
Я протестировал учетную запись, войдя на сервер с помощью следующей команды
ssh newuser@mywebsite.com
После входа в систему оболочка не позволяет мне выполнять автозаполнение вкладок. Например, я бы набрал / var / www / myweb {tab}, но кнопка табуляции только вводит пробел в оболочку. Кроме того, при нажатии клавиш со стрелками вверх и вниз не отображаются самые последние введенные команды оболочки.
Все работает отлично, когда я вхожу по ssh как root. Но это не работает, когда я вхожу по ssh как новый пользователь.
Я что-то пропустил?
Спасибо
Проверьте, какую оболочку использует newuser. Убедитесь, что он действительно поддерживает завершение табуляции (например, bash или zsh).
Вы можете определить, какую оболочку использует пользователь, используя следующую команду
# getent passwd rodjek
rodjek:x:1001:1001:x:/home/rodjek:/bin/zsh
Вы можете изменить оболочку пользователя с помощью команды chsh
# chsh -s /bin/bash rodjek
На моей системной вкладке автозаполнение добавлено:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
в .bashrc. Bashrc не создается для новых пользователей, так как его нет в / etc / skel. Создайте .bashrc в / etc / skel с указанным выше кодом, и он будет работать для новых пользователей. Затем скопируйте файл новому пользователю, которого вы только что создали, чтобы он работал и с ним.
Когда вы добавляете пользователя с useradd
специальной оболочки не добавлено.
Вы можете увидеть это с помощью команды:cat /etc/passwd
test1:x:1004:1005:,,,:/home/test1:/bin/bash
test3:x:1007:1008::/home/test3:
Вы можете видеть, что пользователь test1
имеет оболочку из /bin/bash
но пользователь test3
не добавлена оболочка.
Чтобы исправить это, вы можете изменить оболочку пользователя test3
с помощью этой команды:
chsh -s /bin/bash test3
Или, когда вы создаете нового пользователя, вы можете использовать параметр s:
useradd -s /bin/bash test4
Вы проверили, что ваш новый пользователь имеет ту же оболочку, что и ваш пользователь root? Похоже, что у вашего пользователя root есть что-то вроде этого, а у вашего нового пользователя есть ksh или что-то подобное. Взгляните на файл / etc / passwd или переменную среды SHELL.
Существовала ли папка /var/www/mywebsite.com до того, как вы создали учетную запись?
Можете ли вы проверить, скопировано ли содержимое / etc / skel в домашний каталог /var/www/mywebsite.com?
Получила ли новая учетная запись другую оболочку, которая не поддерживает автозаполнение?