it-swarm.com.ru

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

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

172
Ibrahim Quraish

Комментарий Ибрагима к другому ответу является правильным способом изменить домашний каталог существующего пользователя. usermod - команда для редактирования существующего пользователя. -d (сокращение от --home) изменит домашний каталог пользователя. Добавление -m (сокращение от --move-home также переместит содержимое из текущего каталога пользователя в новый каталог.

usermod -m -d /newhome/username username
297
STW

From Linux меняет домашний каталог пользователя по умолчанию при добавлении нового пользователя :

Просто откройте этот файл с помощью текстового редактора, введите:

vi /etc/default/useradd

Домашний каталог по умолчанию, определенный переменной HOME, найдите строку, которая выглядит следующим образом:

HOME=/home

Заменить:

HOME=/iscsi/user

Сохраните и закройте файл. Теперь вы можете добавить пользователя с помощью обычной команды useradd:

# useradd vivek
# passwd vivek

Проверьте информацию о пользователе:

# finger vivek
27
Maximin

Принятый ответ неверен, так как содержимое из исходной пользовательской папки не перемещается с его помощью. Я собираюсь добавить еще один ответ, чтобы исправить это:

Sudo usermod -d /newhome/username -m username

Вам не нужно создавать папку с именем пользователя, и это также переместит ваши файлы из начальной папки пользователя в папку/newhome/username.

16
Sukrit Gupta

В случае, если другие читатели ищут информацию о команде adduser.

Изменить /etc/adduser.conf

Установить переменную DHOME

4
rafaelvalle

Обнаружил, что это нарушает некоторые приложения, лучший способ сделать это

В дополнение к 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
2
Wilken