วิธีเมาท์ไดเร็กทอรีเก่า / โฮมหลังจากการล้างข้อมูลบน OS ใหม่ติดตั้งใหม่ได้อย่างไร?


8

ก่อนติดตั้ง Ubuntu 12.04 LTS อีกครั้งฉันเลิกเมานท์ไดเรกทอรี / home หลังจากทำความสะอาดติดตั้งใหม่ฉันสร้างผู้ใช้บางส่วนและติดตั้งแพคเกจ ubuntu บนเดสก์ท็อปจากนั้นติดตั้งไดเรกทอรีเก่า / โฮมอีกครั้ง เอกสารทั้งหมดได้รับการกู้คืนและฉันไม่มีปัญหาตราบใดที่ฉันเข้าสู่ระบบด้วยเชลล์ อย่างไรก็ตามเมื่อฉันพยายามเข้าสู่ GUI มันเพิ่งโหลดหน้าจอเข้าสู่ระบบอีกครั้ง นี้ได้เกิดขึ้นนับตั้งแต่ผมรวมไดเรกทอรีเก่า / /etc/fstabบ้านใน

พยายามติดตามวิธีแก้ปัญหาที่นี่ฉันค้นหาไฟล์. Xauthority ใน/homeไดเรกทอรีของผู้ใช้ทุกคนและสังเกตเห็นบางสิ่งที่แปลกผู้ใช้ดูเหมือนจะสับสน ตัวอย่างเช่นls -lah | grep Xauthorityใน/home/bobจะแสดงเป็น:

-rw-------  1 emily emily   53 Nov 29 10:19 .Xauthority

และอื่น ๆ ฉันเดาว่าฉันไม่ได้สร้างผู้ใช้ใหม่ในลำดับเดียวกับในระบบเก่าดังนั้นสิ่งต่าง ๆ ก็แปลกเมื่อฉันติดตั้ง/homeไดเรกทอรีเก่า แต่! ฉันต้องสามารถเสียบ/homeไฟล์ไดเรกทอรีเก่าได้เนื่องจากมันเป็น TB หลายตัวและฉันไม่มีที่ว่างสำหรับการถ่ายโอนที่นี่และที่นั่นอย่างอิสระและฉันไม่อนุญาตให้ลบอะไรเลย ฉันควรทำอย่างไรเพื่อแก้ไขปัญหานี้

เป็นความคิดที่ดีหรือไม่ที่จะแทนที่ไฟล์ที่ซ่อนอยู่ใน/home/userไดเรกทอรีเก่าด้วยไฟล์ใหม่?

[ข้อมูลเพิ่มเติม]

เนื้อหาของls -l /home(หลังจากติดตั้งเก่า/home); หมายเหตุ: lost+foundไม่ควรเป็นผู้ใช้

total 36
drwxr-xr-x 22 bob   bob    4096 Mar 11 12:23 alice
drwxr-xr-x 44 marc  marc   4096 Mar 11 12:21 emily
drwxr-xr-x 23 1004  1004   4096 Jul 29  2013 bob
drwxr-xr-x  4 1005  1005   4096 Jul 30  2013 ken
drwx------  2 root  root  16384 Mar 27  2012 lost+found
drwxr-xr-r 40 emily emily  4096 Mar 11 12:49 marc

เนื้อหาของcat /etc/passwd(จำกัด เฉพาะผู้ใช้ที่ระบุไว้ข้างต้น):

root:x:0:0:root:/root:/bin/bash
marc:x:1000:1000:marc,,,:/home/marc:/bin/bash
emily:x:1001:1001:emily,,,:/home/emily:/bin/bash
bob:x:1002:1002:bob,,,:/home/bob:/bin/bash
ken:x:1003:1003:ken,,,:/home:ken:/bin/bash

หมายเหตุ: ผู้ใช้aliceไม่ได้ถูกสร้างขึ้นใหม่หลังจากติดตั้งระบบปฏิบัติการใหม่เนื่องจากไม่จำเป็นต้องใช้บัญชีอีกต่อไป

ผลลัพธ์ของlsblk:

NAME        MAJ:MIN RM  SIZE        RO  TYPE    MOUNTPOINT
sda     8:0     0   931.5G  0   disk
+sda1   8:1     0   285M        0   part    
+sda2   8:2     0   1K      0   part
+sda5   8:5     0   18.6G       0   part
+sda6   8:6     0   93.1G       0   part    /home
+sda7   8:7     0   93.1G       0   part
+sda8   8:8     0   698.4G          0   part    /home/marc/Data
+sda9   8:9     0   9.3G        0   part    [SWAP]
+sda10  8:10        0   18.6G       0   part    /   
sr0     11:0        1   1024M       0   rom
sdb     8:16        0   1.8T        0   disk
+sdb1   8:17        0   1.8T        0   part    /home/marc/Data2
sdc     8:32        0   1.8T        0   disk
+sdc1   8:33        0   200M        0   part    
+sdc2   8:34        0   465.8G          0   part    /home/marc/USB_Disk/Disk1
+sdc3   8:35        0   465.8G          0   part    /home/marc/USB_Disk/Disk2
+sdc4   8:36        0   465.8G          0   part    /home/emily/Data
+sdc5   8:37        0   465.6G          0   part    /var/www
sdf     8:80        0   3.7T        0   disk
+sdf1   8:81        0   1.8T        0   part    /home/ken
+sdf2   8:82        0   1.8T        0   part    /home/bob
sde     8:64        1   29.8G       0   disk
+sde1   8:65        1   29.8G       0   part    [SWAP]

อย่างที่คุณเห็นผู้ใช้marcมีเอกสารแตกเกินจำนวนดิสก์และพาร์ติชันที่แตกต่างกัน


สาเหตุที่เป็นไปได้ของ.Xauthorityการเป็นเจ้าของไฟล์ของผู้ใช้ที่มีการปะปนกัน โปรดลองสำรองข้อมูลไฟล์นั้น (ทำเพื่อผู้ใช้รายแรกก่อน) โดยดูที่โพสต์นี้และรีบูตระบบจากนั้นลงชื่อเข้าใช้กับผู้ใช้นั้นโดยที่ระบบจะสร้าง.Xauthorityไฟล์ใหม่ อย่าลบหรือเปลี่ยนความเป็นเจ้าของเพียงแค่ย้ายในตอนแรกและดู :)
AzkerM

ขอบคุณ ฉันได้รับข้อความ 'xauth: หมดเวลาในการล็อกไฟล์ /home/user/.Xauthority' จากนั้นมีสิ่งต่าง ๆ มากมายปรากฏขึ้นในแฟลชซึ่งฉันไม่มีเวลาอ่านและจากนั้นฉันก็มีหน้าจอสีดำ ฉันลองกดctrl+ alt+ delแล้วก็Enterไม่มีอะไรเกิดขึ้น
biohazard

ฉันขอให้ส่งออกสำหรับls -l /home/& ถ้าเป็นไปได้cat /etc/passwdโดยให้ฉันเห็นบรรทัดผู้ใช้เพื่อดูว่าไดเรกทอรีบ้านถูกตั้งค่าอย่างถูกต้อง ชื่อผู้ใช้เริ่มต้นจากUID:GID1,000 ถ้าฉันไม่ผิด
AzkerM

ฉันเพิ่มข้อมูลที่ร้องขอไปยังโพสต์ดั้งเดิมของฉัน ขอบคุณที่ให้ความสนใจ :) ทุกอย่างดูยุ่งเหยิง ฉันไม่รู้ว่าlost+foundโฟลเดอร์ในโฟลเดอร์เก่า/homeคืออะไร แต่แน่นอนว่าไม่ใช่ผู้ใช้ rootแต่ตอนนี้ก็ระบุว่าเป็น
biohazard

ไม่ต้องห่วง. ตามข้อผิดพลาดที่คุณระบุฉันคาดว่าจะดีกว่าที่จะมอบหมายสิทธิ์ซ้ำให้กับผู้ใช้แต่ละรายในโฟลเดอร์หลักของผู้ใช้เนื่องจากการกำหนดค่านั้นดูดีสำหรับฉัน ก่อนที่เราจะทำเช่นนั้นฉันขอด้วยเช่นกันสำหรับผลลัพธ์ของsudo blkid& cat /etc/fstabเกินไป :)
AzkerM

คำตอบ:


3

ln -nจะแสดงให้คุณเห็นว่า filesytem คิดว่า UID และ GID สำหรับผู้ใช้ควรเป็นอย่างไร นี่คือตัวอย่างจากระบบของฉัน

$ ls -ln /home/
total 12
drwxr-xr-x  5  111  120 4096 Mar 15 10:11 hts
drwxr-xr-x 11 1000 1000 4096 Mar 15 12:34 oli
drwxr-xr-x  4 1001 1001 4096 Mar 13 08:46 test

ในระบบนี้oliมี UID ที่ถูกต้องเป็น 1,000 แต่ถ้าฉันทำอะไรบางอย่างเพื่อให้เป็นแบบ1001นั้นฉันก็สามารถใช้usermodเพื่อต่อยได้ สมมติว่าฉันต้องการแลกเปลี่ยนoliและโพtestสต์ของ UID เกมนี้เป็นเกมแบบสามฮอปเนื่องจากผู้ใช้สองคนไม่สามารถแชร์ UID ได้ พวกเขาสามารถแบ่งปันกลุ่มได้

sudo usermod -u 1099 -g 1000 test
sudo usermod -u 1001 -g 1001 oli
sudo usermod -u 1000 test

One note : หากผู้ใช้ปัจจุบันของคุณเป็นหนึ่งในผู้ใช้ใน changearound sudo suก่อนที่คุณจะเริ่มและรันทุกอย่างในฐานะรูท เพียงจำไว้ว่าความปลอดภัยปิด คุณไม่ต้องการผ่านกระบวนการนี้ไปครึ่งทางและให้สิทธิ์การใช้งาน sudo ของคุณบกพร่อง

คุณจะต้องเล่นบัลเล่ต์ประเภทนี้จนกว่าชื่อผู้ใช้ใน / home / line up ด้วย UID ของพวกเขา (ดังที่แสดงในls -ln /home) อีกวิธีหนึ่งคุณสามารถแก้ไขไฟล์ทั้งหมดด้วยการfindโทรเพียงไม่กี่ครั้งแต่โดยส่วนตัวแล้วฉันคิดว่านี่เป็นการเสียเวลามาก มันง่ายกว่าเร็วกว่าและทำลายน้อยกว่าที่จะแก้ไขจุดศูนย์กลางนี้ผ่านระบบผู้ใช้

ครั้งต่อไปอย่าลืมตรวจสอบ UIDs ล่วงหน้า การ--uid nnnโต้เถียงในadduserจะทำให้เจ็บปวดนี้


นี่เป็นการแก้ไขปัญหาของฉัน! ฉันสามารถเรียกใช้ startx หลังจากแก้ไข UID และ GID ขอบคุณ :)
biohazard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.