ค่าที่ใช้~
จะพิจารณาจากค่าที่คุณได้รับจากฐานข้อมูลการดูแลระบบ ( getent passwd
) ซึ่งโดยปกติจะอยู่ใน/etc/passwd
ไฟล์สำหรับโฮมไดเร็กตอรี่ของผู้ใช้แต่ละคนที่กำหนดไว้ที่นั่น
$ 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
คอลัมน์ที่ 6 ในไฟล์นี้เป็นค่าที่ใช้เมื่อมีคนcd ~
มาจากประเภท
nsswitch
คุณสามารถเห็นสิ่งที่ระบบจะใช้สำหรับโฮมไดเร็กทอรีของผู้ใช้โดยใช้คำสั่ง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
ว่า "ฐานข้อมูล" ที่ให้เหล่านี้จะถูกควบคุมผ่านระบบของคุณ Resolver, /etc/nsswitch.conf
ที่กำหนดไว้ใน
$ grep passwd /etc/nsswitch.conf
#passwd: db files nisplus nis
passwd: files
ไฟล์ด้านบนหมายถึง/etc/passwd
แต่ "ฐานข้อมูล" อาจมาจาก LDAP, NIS หรือตำแหน่งอื่น ๆ ผ่านเครือข่าย
การย้าย / Redefining?
ในการดำเนินการนี้เป็นเรื่องยุ่งยากเล็กน้อยหลังจากสร้างบัญชีแล้ว หากคุณกำลังสร้างบัญชีจากศูนย์แล้วมันเป็นเรื่องไม่สำคัญที่จะกำหนดตำแหน่งของผู้ใช้ของโฮมไดเร็กตอรี่ของพวกเขาใหม่ เมื่อรันuseradd
คำสั่งคุณสามารถระบุตำแหน่งที่จะใช้สำหรับโฮมไดเร็กทอรีของผู้ใช้
ตัวอย่าง
$ useradd -d /ext1/acheong ...
ตัดตอนมาจากหน้าคน
-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.
สำหรับบัญชีที่มีอยู่
สิ่งนี้กลายเป็นเรื่องของการผ่าตัดมากขึ้นเนื่องจากบ่อยครั้งที่พา ธ ของโฮมไดเร็กตอรี่ของผู้ใช้ถูกรวมไว้ในไฟล์การกำหนดค่า, ทำให้มันยุ่งยาก
ตัวอย่าง
$ grep home /home/sam/.*
/home/sam/.gtkrc-1.2-gnome2:include "/home/sam/.gtkrc.mine"
เหล่านี้อย่างใดอย่างหนึ่งจะต้องได้รับการแก้ไขหรือคุณจะต้องให้เชื่อมโยงจากไปยังสถานที่ใหม่/home/sam
/ext1/sam
ย้ายเมื่อ "ฐานข้อมูล" ไม่ได้ /etc/passwd
หากระบบจะได้รับบ้านจากไดเรกทอรี LDAP, NIS ฯลฯ แล้วคุณจะต้องย้ายถิ่นฐาน peform ในระบบเหล่านั้นและประสานงานกับการย้ายไฟล์จากไป/home/sam
/ext1/sam
อ้างอิง
~
ไปยังสิ่งอื่นนอกเหนือจากโฮมไดเร็กตอรี่จริง?