Иметь домашний каталог пользователя на внутреннем жестком диске и user2 'домашнюю директорию на внешнем жестком диске?

Кто-нибудь знает, возможно ли, например, иметь домашнюю папку одного пользователя; / home / user1 на внутреннем жестком диске, и когда я захожу с user2 на / home / user2 на внешнем жестком диске?

2
задан 5 May 2018 в 11:02

3 ответа

Пользователь HOME каталог установлен после пользовательского входа в систему от разделенного поля 6-го двоеточия в пользователе /etc/passwd запись. Например, МОЙ /etc/passwd файл содержит этих пользователей:

walt2:x:1001:1000:Walt2 Sullivan,,,:/home/walt2:/bin/bash
walt:x:1000:1000:Walt Sullivan,,,:/home/walt:/bin/bash

Пользователь walt2 HOME каталог /home/walt2, и walt HOME каталог /home/walt. Они могли быть где угодно, который смонтирован в начале входа в систему пользователя.

Читать man 5 passwd и man vipw (всегда используйте vipw для редактирования passwd - это может использовать любого EDITOR, не только vi).

1
ответ дан 2 December 2019 в 04:44

У КАЖДОГО пользователя есть файл ~.config/users-dirs.dirs в их доме, где можно установить то, что дом путем редактирования файла (принимают во внимание комментарии в файле). У Вас может также каждый быть своя собственная установка "локали":

rinzwind@schijfwereld:~$ more .config/user-dirs.dirs 
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="/discworld/Desktop"
XDG_DOWNLOAD_DIR="/discworld/Downloads"
XDG_TEMPLATES_DIR="/discworld/Templates"
XDG_PUBLICSHARE_DIR="/discworld/Public"
XDG_DOCUMENTS_DIR="/discworld/Documents"
XDG_MUSIC_DIR="/discworld/Music"
XDG_PICTURES_DIR="/discworld/Pictures"
XDG_VIDEOS_DIR="/discworld/Videos"

и

rinzwind@schijfwereld:~$ more .config/user-dirs.locale 
en_US

Это - оригинал, который использует $HOME (т.е./home/$USER/):

XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_VIDEOS_DIR="$HOME/Videos"

Существует также метод командной строки:

xdg-user-dirs-update --set DOWNLOAD "directory"

где каталог должен приспособить комментарии в первом блоке кода в этом ответе.

Сделайте это как это, и можно даже использовать NTFS на внешнем местоположении. У Вас все еще был бы/home/каталог $USER/, но все программное обеспечение будет использовать Ваше внешнее местоположение. "домой" все еще/home/$USER/, так как все настройки все еще там.

0
ответ дан 2 December 2019 в 04:44

Спасибо за быстрые ответы.

После размышления о некоторое время я думаю, что решение Rinzwind является самым чистым до сих пор.

Я нашел грязный способ поместить целый профиль user2 на внешний HDD, и он хорошо работает, но он смешивает с firejail на нескольких программах, и я держал пари, что существует еще несколько проблем, выходящих позже. Без диска, включенного, это загружается нормальный, вход в систему на работах user1 хорошо, вход в систему на user2 будет пропущен и возвращается к экрану входа в систему, так как диск будет включен.

Если кому-то интересно бездельничать с:

  1. Я сделал каталог/mnt/exthome
  2. смонтированный ext4 отформатировал внешний HDD и
  3. добавленный новый user2 с корневым каталогом/mnt/exthome/user2.
  4. и измененный/etc/fsab с флагом опции nofail
mkdir /mnt/exthome

mount /dev/sdb1 /mnt/exthome

adduser user --home /mnt/exthome/user2

получил UUID внешнего диска с blkid и добавил строку в/etc/fstab

UUID=************** /mnt/xhome/   ext4  defaults,nofail    0     2
0
ответ дан 2 December 2019 в 04:44

Другие вопросы по тегам:

Похожие вопросы: