เชื่อมต่อไดรฟ์ USB พร้อมสิทธิ์เขียนสำหรับทุกคนหรือผู้ใช้เฉพาะ


25

ฉันรู้ว่ามีคำถามที่คล้ายกัน แต่ฉันพบปัญหาบางอย่างที่ฉันไม่สามารถเอาชนะได้

ฉันมี:

  • HDD แบ่งออกเป็นสองพาร์ติชัน และ /dev/sdb1 คือ NTFS และฉันไม่ต้องการมัน ฉันต้องการมันคือ fat32/dev/sdb2sdb1sdb2
  • Ubuntu 12.04.1 LTS (เซิร์ฟเวอร์)

ฉันต้องการ:

ในที่สุดฉันต้อง Perma-mount /dev/sdb2ที่จะ/home/storageมีการเข้าถึงสิทธิ (RW) mediaสำหรับผู้ใช้

ปัญหาที่ฉันเผชิญ:

1) การใช้การเมาท์ด้วยตนเองจากบรรทัดคำสั่ง

ถ้าฉันใช้

server# sudo mount /dev/sdb2 /home/storage

มันเมาท์ แต่/home/storageรับรูตในฐานะเจ้าของและกลุ่มและไม่อนุญาตให้mediaผู้ใช้เขียน

ถ้าฉันใช้mountคำสั่งโดยไม่sudoเป็นผู้ใช้media- ฉันไม่ได้รับอนุญาต บอกว่ารูทเท่านั้นที่สามารถใช้เมานต์ได้

ถ้าฉันใช้mountกับตัวเลือก: server# sudo mount /dev/sdb2 /home/storage -o umask=000ฉันได้สิ่งที่ต้องการ แน่นอนเกินไปเพราะโฟลเดอร์เก็บข้อมูลสามารถเขียนได้สำหรับทุกคน แต่ - นั่นคือการติดตั้งด้วยตนเอง - ตอนนี้ฉันต้องการมันเพื่อประกอบใหม่ในทุกรีบูต

2) การนับใหม่เมื่อรีบูต - โดยใช้ fstab

ดังนั้นฉันคิดว่าฉันจะไม่เป็นไรถ้าฉันใช้fstabเพื่อติดตั้งพาร์ติชันนี้ ( /dev/sdb2) ทุกครั้งที่ฉันรีบูต fstabบรรทัดฉันเพิ่ม:

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8,noauto 0 0

มี uuid blkidกับ fs type autoi เปลี่ยนไปสองสามครั้ง ... ลองvfatด้วย แต่บน reboot ubuntu จะหยุดทุกครั้งเมื่อประมวลผล fstab (อย่างที่ฉันคิด) พร้อมข้อความ (เอามาจากบันทึก):

fsck from util-linux 2.20.1 /dev/sda5: clean, 120559/10969088 files, 19960144/43861504 blocks mount: unknown filesystem type 'static' mountall: mount /etc/fstab: [772] terminated with status 32 mountall: Filesystem could not be mounted: /etc/fstab: Skipping /etc/fstab: at user request

และยัง - sudo mount -aไม่เคยทำอะไรเลย

ผมทำอะไรผิดหรือเปล่า? ฉันสงสัยว่าฉันทำสิ่งสกปรก :)

UPDATE:

อย่างที่เห็น - fstab ควรจะเมาท์สำหรับไดรฟ์แบบคงที่เท่านั้นไม่ใช่ของ usb ทุกอย่าง ฉันงงแล้วว่ามันใช้ได้ผลกับทุกคนที่โพสต์บนเน็ตเรื่องราวความสำเร็จของพวกเขาอย่างไร ...

อย่างไรก็ตาม .. หากนี่เป็นไปไม่ได้ - ฉันต้องการทราบวิธีการติดตั้งยูเอสบีของฉันใหม่ทุกครั้งหลังจากรีบูต ... หากไม่มี fstab - ดีกว่าได้อย่างไร :)


ฉันคิดว่าคุณควรโพสต์ fstab ทั้งหมดเพื่อการตรวจสอบไม่ใช่แค่บรรทัดเดียว ในฐานะที่เป็นสิทธิ์วิ่งid mediaและการใช้งานuid=และgid=และumask=027ตัวเลือก
mikewhething

1
มีเหตุผลที่คุณจำเป็นต้องใช้ FAT หรือไม่? ถ้าไม่ฉันจะสำรองข้อมูลและใช้ระบบไฟล์ดั้งเดิมของ linux จากนั้นคุณสามารถตั้งค่าความเป็นเจ้าของและการอนุญาต
Panther

@mikewhething ขอบคุณ แต่มันทำงานแปลกจริง ... ดี .. ไม่ได้จริงๆ :)
GeekSince1982

@ bodhi.zazen อ่านมากขึ้น ... ตะเข็บเหมือนใน Ubuntu 12 fstab ควรมีเฉพาะ mounts สำหรับไดรฟ์แบบคงที่เท่านั้น ไม่ใช่ usb ใด ๆ ...
GeekSince1982

คำตอบ:


27

ปัญหาของคุณน่าจะเกี่ยวกับการอนุญาตที่คุณตั้งไว้ ไดรฟ์ที่ฟอร์แมตเป็น FAT / FAT32 ไม่รองรับการอนุญาตไฟล์ สิทธิ์สำหรับทุกสิ่งจะถูกกำหนดโดยวิธีการติดตั้งไดรฟ์ เมื่อคุณตั้งค่าการอนุญาตเปิดมันจะทำงานเมื่อคุณ

server# sudo mount /dev/sdb2 /home/storage -o umask=000

ในฐานะที่เป็นมันไม่ได้ติดตั้งอัตโนมัติเมื่อรีบูต

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8, -->noauto<-- 0 0

"noauto" ทำให้สิ่งนี้ไม่ถูกเมาต์โดยอัตโนมัติเมื่อระบบเริ่มทำงานและวิเคราะห์ไฟล์ / etc / fstab ลบตัวเลือกนั้นและมันจะเมานต์เมื่อเริ่มต้น คุณสามารถตั้งค่าการอนุญาตบนจุดเมานต์เมื่อมันถูกเมาท์chmodหรือระบุไว้ใน / etc / fstab

หากคุณต้องการให้ผู้ใช้สื่อเข้าถึงคุณสามารถตั้งค่าการอนุญาตเป็น 764 และเพิ่มลงในกลุ่มความปลอดภัย รูทสามารถเข้าถึงทุกสิ่งได้เสมอ

ดูhttp://www.linux.org/threads/file-permissions-chmod.4094/สำหรับตัวอย่างของการอนุญาตไฟล์ propper

Bodhi.zazen ทำคะแนนได้ดีมีเหตุผลอะไรบ้างที่คุณต้องใช้ FAT? ถ้าไม่ฉันจะสำรองข้อมูลและใช้ระบบไฟล์ดั้งเดิมของ linux จากนั้นคุณสามารถตั้งค่าความเป็นเจ้าของและการอนุญาต


1
-o umask=000ใช่ไหม!! ขอขอบคุณ!
แอนโทนี

4

ยกเว้นว่าถูกแทนที่ด้วยตัวเลือกการเมานต์ GID = หรือ UID = เจ้าของและสิทธิ์ของจุดเมานท์เมื่อทำการเมานท์กลายเป็นของทรีของระบบไฟล์

ดังนั้นหาก / dev / sdb1 มีระบบไฟล์ ext4 (พูดว่าการสำรองข้อมูล) เป็นเจ้าของโดยผู้ใช้ผู้ใช้จะกลายเป็นเจ้าของจุดเชื่อมต่อเมื่อติดตั้งสำเร็จ

เริ่มต้นเรามีโฟลเดอร์ 'สำรอง' ที่ว่างเปล่าเพื่อทำหน้าที่เป็นจุดเชื่อมต่อและเป็นเจ้าของโดยรูท

# ls -alR /mnt
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 root root 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 root root 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..

ตอนนี้เรา mount / dev / sdb1 (อ่านอย่างเดียว)

# mount -o ro /dev/sdb1 /mnt/backup

และช่วยให้ดู ...

# ls -alR
/mnt/:
drwxr-x---  5 root root 4096 May 30 20:59 ./
drwxr-xr-x  3 root root 4096 Dec  5  2015 ../
drwx------  2 user user 4096 Jan  1 07:45 backup/

/mnt/backup:
drwx------  2 user user 4096 Jan  1 07:45 .
drwxr-x---  5 root root 4096 May 30 20:59 ..
-rw-------  1 user user 252076021760 Jun  9 21:11 backup.tar

ตอนนี้ถ้าคุณมีไดรฟ์ที่ว่างเปล่าและคุณต้องการเมานต์สำหรับ 'ผู้ใช้' เป็นส่วนขยายของ 'พื้นที่ดิสก์ของผู้ใช้ให้เมานต์ไดรฟ์เป็นรูท

ครั้งต่อไปที่ระบบไฟล์ถูกเมาท์ (โดยรูทหรือใครก็ตามตาม fstab) เจ้าของไฟล์จะเป็น 'ผู้ใช้'


3

คุณยังสามารถเรียกใช้

sudo chmod 0777 /home/storage

เนื่องจากไดรฟ์ FAT ไม่มีสิทธิ์ linux จึงใช้สิทธิ์ของจุดเชื่อมต่อกับไดรฟ์ทั้งหมด


1
ไม่ต้องใช้สิทธิ์ R + W + X สำหรับผู้ใช้ทุกคน .. นี่จะอนุญาตให้ทุกคนหรือทุกสิ่งที่จะเข้าถึงดำเนินการลบปรับเปลี่ยนการจัดเก็บและเนื้อหาของมัน ....
Angry 84

1
ในระบบปฏิบัติการส่วนใหญ่ไดรฟ์ USB จะเชื่อมต่อเพื่อให้ผู้ใช้สามารถแก้ไขเนื้อหา หากคุณเป็นผู้ดูแลเซิร์ฟเวอร์ในสถานการณ์ที่อาจเป็นปัญหาฉันไม่ต้องบอกคุณว่า 0777 หมายถึงอะไร
Zane Hooper

ไดรฟ์จะไม่ถูกเมานต์ตามค่าเริ่มต้นเพื่ออนุญาตผู้ใช้ทั้งหมดนี่คือสาเหตุที่พวกเขามีกลุ่มและสิทธิ์ ไม่ว่าจะเป็นวิธีที่ปลอดภัยกว่าเสมอในการแสดง mod ความปลอดภัยที่ดีกว่าเพราะผู้คนจะคัดลอกและวางโดยไม่ทราบว่าดีกว่า
Angry 84

-1

หากคุณมีอุปกรณ์จัดเก็บข้อมูลภายนอกเชื่อมต่อกับกล่อง Linux ด้วย NTFS ตรวจสอบให้แน่ใจว่าระบบไฟล์สะอาด

ก่อนที่คุณจะต่อเชื่อมที่เก็บข้อมูลลงในกล่อง Linux

  1. เรียกใช้คำสั่งด้านล่าง

    ntfsfix /dev/storagedevice ( like sdb1 or sdc1 )  
    
  2. รีบูทกล่อง Linux ของคุณ

  3. เมาท์ที่จัดเก็บข้อมูลภายนอกโดยการรันคำสั่ง:

    mount -o rw /dev/storagedevice /media/ 
    

    หรือ

    mount -o rw /dev/storagedevice /mnt/ 
    

    หรือติดตั้งคลังเก็บของผ่าน GUI

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