Kullanılan değer, orada tanımlanan her kullanıcının ana dizini ~
için yönetim veritabanından ( getent passwd
), genellikle /etc/passwd
dosyada aldığınız değerden belirlenir.
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
sam:x:500:500:Sam Mingolelli:/home/sam:/bin/bash
tracy:x:501:501::/home/tracy:/bin/bash
Bu dosyadaki 6. sütun, birisi cd ~
geldiğinde kullanılan değerin bulunduğu yerdir .
nsswitch
Şu komutu kullanarak bir sistemin kullanıcının ana dizini için ne kullanacağını görebilirsiniz getent passwd
:
$ getent passwd
root:x:0:0:root:/root:/bin/bash
sam:x:500:500:Sam Mingolelli:/home/sam:/bin/bash
tracy:x:501:501::/home/tracy:/bin/bash
Bunları sağlayan "veritabanı", sistem tanımlayıcısı tarafından tanımlanır /etc/nsswitch.conf
.
$ grep passwd /etc/nsswitch.conf
#passwd: db files nisplus nis
passwd: files
Yukarıdaki dosyalar anlamına gelir /etc/passwd
, ancak "veritabanı" LDAP, NIS veya ağ üzerindeki diğer konumlardan gelebilir.
Hareketli / yeniden tanımlanması?
Hesaplar oluşturulduktan sonra bu işlemi gerçekleştirmek biraz zordur. Hesapları sıfırdan oluşturuyorsanız, kullanıcının ana dizininin konumunu yeniden tanımlamak önemsizdir. useradd
Komutu çalıştırırken, kullanıcının ana dizini için kullanılacak konumu belirleyebilirsiniz.
Misal
$ useradd -d /ext1/acheong ...
man sayfasından alıntı
-d, --home HOME_DIR
The new user will be created using HOME_DIR as the value for the user’s
login directory. The default is to append the LOGIN name to BASE_DIR and
use that as the login directory name. The directory HOME_DIR does not
have to exist but will not be created if it is missing.
Mevcut hesaplar için mi?
Bir kullanıcının ana dizininin yolunun yapılandırma dosyalarına statik olarak dahil edilmesinden dolayı, daha karmaşık hale geldiği için bu daha cerrahi bir işlem haline gelir.
Misal
$ grep home /home/sam/.*
/home/sam/.gtkrc-1.2-gnome2:include "/home/sam/.gtkrc.mine"
Bunların düzeltilmesi veya /home/sam
yeni konuma bir bağlantı sağlamanız gerekir /ext1/sam
.
"Veritabanı" olmadığında taşıma /etc/passwd
Sistem vb LDAP, NIS, ev dizinleri elde edilirse o zaman bu sistemlerde yer değiştirme peform gerekir ve dosya taşıma ile koordine edeceğiz /home/sam
etmek /ext1/sam
.
Referanslar
~
gerçek giriş dizininden başka bir şeye genişletilmesini mi kastediyorsunuz ?