ฉันจะแชร์โฟลเดอร์ในพาร์ติชัน NTFS บนเครือข่ายได้อย่างไร


16

ฉันใช้ Ubuntu 11.10 และฉันต้องการแชร์โฟลเดอร์ในพาร์ติชัน NTFS แบบอัตโนมัติ ( /dev/sda4) ผ่านเครือข่าย วัตถุประสงค์ของเครือข่ายนี้คือการแชร์ไฟล์ระหว่างคอมพิวเตอร์ส่วนใหญ่จะมีคอมพิวเตอร์ Windows ฉันใช้/dev/sda4พาร์ทิชันนี้ทั้งจาก Windows 7 และ Ubuntu ใช้ Nautilus ฉันคลิกขวาที่ไดเรกทอรีจากนั้นคลิก 'ตัวเลือกการแชร์' จากนั้นฉันทำเครื่องหมายในช่องทำเครื่องหมายสามช่อง เมื่อฉันพยายามใช้การตั้งค่ามันบอกว่า 'ไม่สามารถเปลี่ยนสิทธิ์ของโฟลเดอร์ "foldername"'

ฉันใส่ผลลัพธ์ของsudo blkidและcat /etc/fstabด้านล่าง

sudo blkid

/dev/sda2: LABEL="Windows" UUID="481319C261268D8D" TYPE="ntfs" 
/dev/sda3: UUID="23dac5e8-aae7-43ac-964c-c8a5a033b0d7" TYPE="ext4" 
/dev/sda4: LABEL="Data" UUID="00F1B269675B86AE" TYPE="ntfs" 
/dev/sda5: UUID="6de8b757-f17e-4e36-935c-a3fd6012c628" TYPE="ext4" 
/dev/sda6: UUID="d504bae2-fad6-4f6a-b489-7719ad0fe3b3" TYPE="swap" 

cat /etc/fstab

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda3 during installation
UUID=23dac5e8-aae7-43ac-964c-c8a5a033b0d7 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=d504bae2-fad6-4f6a-b489-7719ad0fe3b3 none            swap    sw              0       0
/dev/sda4 /media/Data ntfs defaults,umask=007,gid=46 0 0 

ฉันจะแชร์โฟลเดอร์นี้ได้อย่างไร?


เมื่อคุณพูดว่า "ผ่านเครือข่าย" คุณหมายถึงอะไรคอมพิวเตอร์ประเภทไหนจะอยู่ที่นั่น Windows? ถ้างั้นคุณต้องใช้ samba, Linux เท่านั้น? ถ้าอย่างนั้นแนะนำให้ NFS ... ให้ข้อมูลเพิ่มเติมกับเรา
Bruno Pereira

1
ฉันคิดว่าสิทธิ์ที่fstabจำเป็นต้องเปลี่ยน ลองใช้ขั้นตอนเดียวกันโดยลบออกgid(อย่าลืมที่จะนับใหม่) และบอกเราว่าช่วยได้หรือไม่
Andrejs Cainikovs

ฉันได้อัปเดตคำถามแล้ว ถอดgidจากทำให้มองบรรทัดสุดท้ายเช่นนี้/etc/fstab ไม่ได้ติดตั้งเมื่อเริ่มต้นให้ผลลัพธ์ต่อไปนี้:/dev/sda4 /media/Data ntfs defaults,umask=007 0 0/dev/sda4sudo mount /dev/sda4 /media/DataMount is denied because the NTFS volume is already exclusively opened. The volume may be already mounted, or another software may use it which could be identified for example by the help of the 'fuser' command.
Exocity-G

คำตอบ:


14

หลังจากการค้นหาเล็กน้อยฉันพบวิธีแก้ปัญหาด้วยตัวเอง:

ก่อนอื่นฉันต้องให้สิทธิ์กับตัวเองมากกว่า/dev/sda4และฉันต้องให้groupและothersอ่านและดำเนินการอนุญาต /etc/fstabฉันไม่ว่าโดยการเปลี่ยนรายการพาร์ทิชันใน

ต้องการทำเช่นนั้นฉันจะต้องรู้ว่าฉันและuid gidดังนั้นสิ่งแรกที่ฉันทำคือเขียนคำสั่งต่อไปนี้ใน Terminal:

id $USER

สิ่งนี้จะให้ผลลัพธ์เช่นนี้

UID=1000(myname) GID=1000(myname) groups=1000(myname),4(adm),24(cdrom), ...

ดังนั้นตอนนี้ผมรู้ว่าทั้งสองของฉันuidและฉันได้gid1000

คุณรู้จักชื่อของพาร์ติชั่น NTFS หรือไม่? หากไม่พิมพ์คำสั่งนี้ใน Terminal:

sudo blkid

และเขียนพาร์ติชัน NTFS ลงบนกระดาษ

ตอนนี้เพื่อเปลี่ยนสิทธิ์ฉันแก้ไข/etc/fstabด้วยnanoโปรแกรมแก้ไขข้อความ ดังนั้นคำสั่งถัดไปที่คุณต้องพิมพ์ใน terminal คือ:

sudo nano /etc/fstab

ลงไปจนสุดแล้วพิมพ์บรรทัดนี้:

/dev/sda4 /media/Data ntfs defaults,umask=0022,uid=YourUIDHere,gid=YourGIDHere 0 0

(คุณควรแทนที่/dev/sda4ด้วยพาร์ติชัน NTFS ที่คุณจดบันทึกไว้ก่อนหน้านี้)

คำอธิบาย: umask=0022ตั้งค่าการdอนุญาตของไดเรกทอรี ( ) drwxr-xr-xเพื่อให้แน่ใจว่าผู้ใช้ (ฉัน) สามารถอ่านเขียนและดำเนินการ ( rwx) ในขณะที่groupและothersสามารถอ่านและดำเนินการ ( r-x) ไดเรกทอรีซึ่งเป็นสิ่งที่ฉันต้องการ

หลังจากนั้นฉันสามารถทำเครื่องหมายที่ช่องทำเครื่องหมายสามช่องโดยไม่มีข้อผิดพลาดใด ๆ และโฟลเดอร์จะถูกแชร์ผ่านเครือข่าย เนื่องจากฉันไม่แน่ใจว่าการตั้งค่าการแชร์จะถูกเก็บไว้หลังจากการรีสตาร์ทหรือไม่ฉันจึงเลือกช่องทำเครื่องหมายและเพิ่มบางบรรทัด/etc/samba/smb.confแทน ฉันทำอย่างนี้:

ในเทอร์มินัลฉันพิมพ์ sudo nano /etc/samba/smb.conf

ฉันเลื่อนลงไปที่บรรทัดสุดท้ายและวางสิ่งต่อไปนี้ที่นั่น:

[MyShare]
    comment = My Share
    path = /media/Data/FolderToBeShared
    browseable = yes
    guest ok = yes
    read only = yes
    create mask = 0755

ฉันบันทึกไฟล์แล้วรีบูตเครื่อง โฟลเดอร์นี้สามารถเข้าถึงได้จากเครือข่ายในขณะนี้


1
สุกใส ในฐานะที่เป็น linux / ubuntu สามเณรที่สมบูรณ์ฉันถูกทุบหัวของฉันกับผนังเป็นเวลา 2 วันเพราะถ้านี่เป็นเครื่องที่ใช้ windows ฉันจะทำเสร็จภายใน 10 นาที
Patrick

คุณสามารถแก้ไขคำตอบนี้ด้วยคำสั่งทั้งหมดที่คุณต้องเขียนได้ไหม? ฉันไม่แน่ใจว่าฉันเข้าใจสิ่งที่คุณหมายถึงด้วย "ให้ตัวเองเป็นเจ้าของมากกว่า/dev/sda4"
Enrique Moreno Tent

แน่นอน แต่หลังจากนั้นโปรดให้ฉันอัปเดตว่าคำแนะนำนั้นเหมาะกับคุณหรือไม่ ฉันไม่ได้ใช้พาร์ติชัน NTFS อีกต่อไปดังนั้นฉันจึงไม่สามารถตรวจสอบได้ด้วยตัวเอง
Exocity-G

0

ทางออกที่ง่ายที่สุดที่ฉันคิดได้คือใช้ symlink ไปยังพาร์ติชัน NTFS

ฉันจะทำสิ่งนี้อย่างไร:

  • สร้างโฟลเดอร์บนพาร์ติชั่น Ubuntu ที่คุณสามารถแชร์ได้
  • เชื่อมโยงโฟลเดอร์บนพาร์ติชัน windows เพื่ออยู่ภายในโฟลเดอร์นี้:
    ln -s /path/to/folder/on/ntfs /path/to/new/location/linkname
  • ตั้งค่าโฟลเดอร์พาเรนต์ที่คุณสร้างเพื่อแชร์ผ่านเครือข่ายโดยเลือกตัวเลือกพิเศษใด ๆ ตามที่คุณต้องการ (เช่นอนุญาตให้แขกรับเชิญ ฯลฯ )
  • คลิก "ใช้การอนุญาตกับไฟล์ที่แนบมา" ในแท็บการอนุญาต แน่นอนว่าจะไม่มีการอนุญาตให้ใช้สิทธิ์ทุกอย่าง แต่การเข้าถึงเพื่ออ่านควรเพียงพอ

ฉันยังไม่ได้ทดสอบตัวเอง แต่ถ้าฉันเข้าใจการแบ่งปันอย่างถูกต้องมันควรจะทำงานได้


นั่นจะเป็นln -sอย่างไร ลองใช้เลย
Execution-G

@ Exocity-G: อ๋อขอโทษสำหรับการพิมพ์
RolandiXor

1
สิ่งนี้ไม่ได้ผลสำหรับฉันขอบคุณ
Execution-G

0

เพียงเมานต์ ntfs dir เป็น:

-o uid=current_user,gid=current_usergroup

รับผู้ใช้ปัจจุบันและกลุ่มผู้ใช้ปัจจุบันที่ชี้โดย Exocity-G:

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