Кто-нибудь знает, возможно ли, например, иметь домашнюю папку одного пользователя; / home / user1 на внутреннем жестком диске, и когда я захожу с user2 на / home / user2 на внешнем жестком диске?
Пользователь 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
).
У КАЖДОГО пользователя есть файл ~.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/, так как все настройки все еще там.
Спасибо за быстрые ответы.
После размышления о некоторое время я думаю, что решение Rinzwind является самым чистым до сих пор.
Я нашел грязный способ поместить целый профиль user2 на внешний HDD, и он хорошо работает, но он смешивает с firejail на нескольких программах, и я держал пари, что существует еще несколько проблем, выходящих позже. Без диска, включенного, это загружается нормальный, вход в систему на работах user1 хорошо, вход в систему на user2 будет пропущен и возвращается к экрану входа в систему, так как диск будет включен.
Если кому-то интересно бездельничать с:
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