ไม่สามารถเปลี่ยนสิทธิ์ / ความเป็นเจ้าของ / กลุ่มของฮาร์ดไดรฟ์ภายนอกบน Ubuntu


12

ฉันมีฮาร์ดไดรฟ์ภายนอกที่เชื่อมต่อกับกล่อง Linux ของฉัน ฉันต้องการตั้งค่าเว็บเซิร์ฟเวอร์เพื่อเข้าถึงไฟล์ในนั้น แต่การอนุญาตในไฟล์และไดเรกทอรีทั้งหมดในไดรฟ์นั้นrwxสำหรับเจ้าของซึ่งเป็นชื่อล็อกอินในเครื่องของฉันและกลุ่มคือrootกลุ่ม

ฉันต้องการไฟล์ที่ผู้ใช้ apache สามารถอ่านได้ฉันพยายามตั้งค่าไฟล์ทั้งหมดให้เป็นchmod a+rwx -R *แต่สิ่งนี้ไม่ได้ทำอะไรเลย (ไม่มีข้อผิดพลาดไม่มีผล) ฉันพยายามเปลี่ยนกลุ่มโดยchgrpใช้กลุ่มผู้ใช้ของฉัน แต่ มันใช้งานไม่ได้มันทำให้ฉันมีข้อผิดพลาดที่ฉันไม่ได้รับอนุญาตแม้เมื่อฉันเรียกใช้คำสั่งเหล่านั้นทั้งหมดsudo!

เกิดอะไรขึ้นกับฮาร์ดไดรฟ์นี้ ??? sudo chmod a+rwx *ควรทำงานกับอะไรใช่มั้ย

คำตอบ:


19

ตรวจสอบประเภทของระบบไฟล์ที่ใช้ครั้งแรกด้วยdf -T:

sys @ p: ~ $ df -T
ชนิดระบบแฟ้ม 1K- บล็อกที่ใช้พร้อมใช้งานใช้% เมานท์บน
ext3 ext3 19222656 1050948 17195164 6% /
tmpfs tmpfs 1684988 0 1684988 0% / lib / init / rw
udev tmpfs 10240 64 10176 1% / dev
tmpfs tmpfs 1684988 0 1684988 0% / dev / shm

หากติดตั้งไว้/mnt/externalเช่นคุณจะเห็นว่าในคอลัมน์ด้านขวาสุด คุณสามารถดูประเภทระบบไฟล์ในคอลัมน์ที่สอง ถ้าเป็น NTFS คุณจะต้องการNTFS-3G (อาจจะติดตั้งอยู่แล้วหากไม่ได้sudo apt-get install ntfs-configแล้วgksu ntfs-config) ลินุกซ์แล้วมีการสนับสนุน FAT สำหรับการอ่านและการเขียนถึงแม้ว่าพวกเขาไม่สนับสนุนสิทธิ์

หากคุณต้องการให้พาร์ติชัน NTFS ถูกเมาท์โดยมีความเป็นเจ้าของที่ใช้กับผู้ใช้ / กลุ่มเฉพาะให้ระบุในสวิตช์เมาท์:

Mount -o uid = ชื่อผู้ใช้ gid = groupname / dev / sdc / path / to / mount

หากคุณเปลี่ยนเป็น ext3 ตามที่แนะนำไว้ข้างต้นคุณสามารถใช้chown:

chown -R user *
chown -R user .

4

ดังที่คิมกล่าวว่าคุณจะได้รับอนุญาตจาก Unix และเป็นเจ้าของระบบไฟล์ Unix เท่านั้น ext3 เป็นตัวเลือกที่ดี

หากคุณต้องใช้ไดรฟ์นี้โดยไม่ต้องฟอร์แมตใหม่คุณสามารถทำได้โดยใช้ตัวเลือกmountคำสั่งที่ระบุเจ้าของกลุ่มและ / หรือสิทธิ์การอ่าน / เขียน ตัวเลือกเหล่านี้มีผลกับไฟล์ทั้งหมดในไดรฟ์ (ดูคำตอบของ John T สำหรับวิธีพิจารณา FSTYPE):

# list files as owned by X, use numerical UID as found in /etc/passwd
$ mount -t <FSTYPE> -o uid=X /dev/?? /path/to/mount/point

# list files as owned by group Y, use numerical GID found in /etc/passwd
$ mount -t <FSTYPE> -o gid=Y /dev/?? /path/to/mount/point

# list files as accessible per umask 
#   (022 gives rwx permissions to owner, r-x permissions to everyone else)
$ mount -t <FSTYPE> -o umask=022 /dev/?? /path/to/mount/point

# combine all of the above:
$ mount -t <FSTYPE> -o uid=X,gid=Y,umask=022 /dev/?? /path/to/mount/point

2

ฉันทำสิ่งนี้และใช้งานได้:

sudo umount /dev/sda3 /media/windows1
sudo umount /dev/sda5 /media/windows2

แล้ว

sudo mount -o rwx /dev/sda3 /media/windows1
sudo mount -o rwx /dev/sda5 /media/windows2

โปรดทราบว่าฉันกำลังใช้อูบุนตู 11.10 และsda3เป็นของ Windows C:, คือsda5G:


2

ดังนั้นฉันมีเวลาเล็กน้อยเนื่องจากฉันมีการสำรองข้อมูลจากหลายเครื่องในไดรฟ์เดียวกัน ฉันต้องติดตั้งอรรถประโยชน์ hdfsplus (hfsprogs) จากนั้นติดตั้งไดรฟ์และในที่สุดก็เปลี่ยนความเป็นเจ้าของของโฟลเดอร์ที่เกี่ยวข้องโดยใช้ทั้งชื่อผู้ใช้และกลุ่ม

หมายเหตุ: คุณสามารถแสดงรายการจุดเชื่อมต่อและอุปกรณ์โดยพิมพ์mountที่เทอร์มินัล

ครั้งแรก:

sudo apt-get install hfsprogs

จากนั้นให้ยกเลิกการต่อเชื่อมไดรฟ์หากติดตั้งแล้ว:

sudo umount /media/user/mount_point

(Re) เมานต์ไดรฟ์โดยใช้ args ต่อไปนี้:

sudo mount -t hfsplus -o force,rw /dev/sdb# /media/user/mount_point

นำทางไปยังไดเรกทอรีที่มีโฟลเดอร์ปัญหา จากนั้นทำ:

chmod -R your_user_group:your_user_name ./target_directory

หวังว่าจะช่วย


นี่เป็นโซลูชั่นเดียวที่เหมาะกับฉัน พยายามทั้งหมดของคนอื่น ๆ ขอบคุณ!
SolStack

1

อาจจัดรูปแบบเป็น FAT ซึ่งไม่รองรับการอนุญาตไฟล์ ใช้ ext3 แทน

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