Подтвердить что ты не робот

Команда изменить домашний каталог по умолчанию для пользователя

Я хотел бы узнать, есть ли какая-либо простая команда оболочки для изменения домашнего каталога пользователя в Linux/Unix (аналогично chsh, который меняет стандартную оболочку для входа существующего действительного пользователя) без касаясь файла /etc/passwd. Благодаря

4b9b3361

Ответ 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