Я хотел бы узнать, есть ли какая-либо простая команда оболочки для изменения домашнего каталога пользователя в Linux/Unix (аналогично chsh, который меняет стандартную оболочку для входа существующего действительного пользователя) без касаясь файла /etc/passwd
. Благодаря
Команда изменить домашний каталог по умолчанию для пользователя
Ответ 1
Комментарий Ибрагима к другому ответу - это правильный способ изменить существующий домашний каталог пользователя.
Измените домашний каталог пользователя:
usermod -d /newhome/username username
usermod
- команда для редактирования существующего пользователя.
-d
(сокращение от --home
) изменит домашний каталог пользователя.
Изменить домашний каталог пользователя + Переместить содержимое текущего каталога пользователя:
usermod -d -m /newhome/username username
-m
(сокращение от --move-home
) переместит содержимое из текущего каталога пользователя в новый каталог.
Ответ 2
Из Linux Изменить домашний каталог пользователя по умолчанию при добавлении нового пользователя:
Просто откройте этот файл с помощью текстового редактора, введите:
vi /etc/default/useradd
Домашний каталог по умолчанию, определяемый переменной HOME, найдите строку, которая следующим образом:
HOME=/home
Заменить на:
HOME=/iscsi/user
Сохраните и закройте файл. Теперь вы можете добавить пользователя, используя обычный useradd Команда:
# useradd vivek # passwd vivek
Проверьте информацию о пользователе:
# finger vivek
Ответ 3
Принятый ответ неверен, так как содержимое из исходной пользовательской папки не перемещается с его помощью. Я собираюсь добавить еще один ответ, чтобы исправить это:
sudo usermod -d /newhome/username -m username
Вам не нужно создавать папку с именем пользователя, и это также переместит ваши файлы из начальной папки пользователя в папку /newhome/username.
Ответ 4
Если другие читатели ищут информацию о команде adduser
.
Изменить /etc/adduser.conf
Установить DHOME
переменную
Ответ 5
Обнаружил, что это нарушает некоторые приложения, лучший способ сделать это
В дополнение к symlink в более свежих дистрибутивах и файловых системах в качестве пользователя root также можно использовать bind-mount:
mkdir /home/username
mount --bind --verbose /extra-home/username /home/username
Это полезно для предоставления доступа "через" каталог /home к подкаталогам через демоны, которые в противном случае настроены так, чтобы избежать прохождения по символическим ссылкам (apache, ftpd и т.д.).
Конечно, вы должны помнить (или сценарий инициализации), чтобы связываться при перезагрузках.
Пример сценария инициализации в /etc/fstab
:
/extra-home/username /home/username none defaults,bind 0 0