วิธีติดตั้งการแชร์ SMB ที่ทุกคนสามารถเข้าถึงได้บน Mac OS X El Capitan


9

ฉันจะเมาท์แชร์เครือข่าย SMB ที่ทุกคนสามารถเข้าถึงได้อย่างไร นี่คือสิ่งที่ฉันพยายาม:

การใช้คำสั่ง mount

me$ sudo mkdir /Multimedia
me$ sudo chmod 777 /Multimedia
me$ sudo mount -t smbfs -o nosuid,-d=777 //user:password@qnap/Multimedia /Multimedia/

แล้วก็

me$ cd /Multimedia      
-bash: cd: /Multimedia: Permission denied

ได้รับอนุญาตบน / มัลติมีเดียหลังจากติดตั้ง

drwxrwxrwx   1 root  wheel  16384 Nov  8 11:04 Multimedia

ยังใช้งานได้

root# cd /Multimedia

TL; DR เฉพาะ root เท่านั้นที่สามารถเข้าถึงการแชร์ที่เมาท์ได้

ใช้ automount

ใน /etc/auto_master

#
# Automounter master map
#
+auto_master            # Use directory service
/net                    -hosts          -nobrowse,hidefromfinder,nosuid
/home                   auto_home       -nobrowse,hidefromfinder
/Network/Servers        -fstab
/-                      -static
### SMB shares
/-                      /etc/automounts/smb -nosuid,noowners

ใน /etc/automounts/smb

/Multimedia        -fstype=smbfs,soft,noowners,noatime,nosuid ://user:password@qnap/Multimedia

แล้วก็

me$ sudo automount -vc
automount: /net updated
automount: /home updated
automount: /Multimedia mounted
automount: no unmount

หลังจากนั้น

me$ cd /Multimedia
me$ ls -ld /Multimedia/
drwx------  1 me  staff  16384 Nov  8 11:04 /Multimedia/

ธิ! แต่น่าเสียดายที่ผู้ใช้รายอื่นไม่มีสิทธิ์เข้าถึง

otheruser$ cd /Multimedia 
-bash: cd: /Multimedia: Permission denied

แต่ถ้าฉัน

me$ umount /Multimedia

แล้ว

otheruser$ cd /Multimedia
otheruser$ ls -ld /Multimedia 
drwx------  2 otheruser  staff  1 Nov  8 15:17 /Multimedia

ธิ! แต่

me$ cd /Multimedia
-bash: cd: /Multimedia: Permission denied

และยัง

root# cd /Multimedia

ธิ!

TL; DR เฉพาะผู้ใช้ที่ทำให้ automount และ root เท่านั้นที่สามารถเข้าถึงการแชร์ได้


ตรวจสอบวิธีการแรกของคุณและพบว่าไม่มีปัญหา ฉันสามารถเมานต์และเข้าถึงการแชร์ด้วยรูทฉันและผู้ใช้อื่น หลังจากติดตั้งโดยไม่คำนึงถึง noowners หรือ nosuid ตั้งค่าสถานะฉันได้รับผู้ใช้ปัจจุบันเป็นเจ้าของและ staff เป็นกลุ่มบนจุดเมานท์ (btw คุณพิมพ์ผิด nowness ใน /etc/auto_master )
techraf

@ techraf จับที่ดี! ขอบคุณที่ยืนยันมันแปลกมากที่คุณได้ผลลัพธ์ที่แตกต่าง การอนุญาตให้แบ่งปันนั้นอาจเกี่ยวข้องกับเรื่องนี้หรือไม่? ฉันจะพยายามยุ่งกับมันคืนนี้
Rytis I

สวัสดี @Rytis l ฉันมีปัญหาเดียวกัน - คุณทำสิ่งนี้ออกมาหรือไม่?
HankCa

@HankCa ไม่ยังมีปัญหานี้ :(
Rytis I

ฉันสงสัยว่าคุณคิดวิธีแก้ปัญหานี้หรือไม่?
The Lazy Log

คำตอบ:


3

ทำให้ SMB แชร์เมานท์ในฐานะแขกจากนั้นจะถูกเมาท์ด้วยสิทธิ์ที่ถูกต้อง

ฉันมีปัญหาเดียวกันที่แน่นอนและสิ่งนี้ใช้ได้กับฉันใน High Sierra:

/ etc / auto_nfs:

Public -fstype=smbfs,soft,noowners,noatime,nosuid smb://guest@192.168.1.1/Public

และหลังจากเมานต์มันจะมีสิทธิ์ drwxrwxrwx และฉันสามารถเรียกดูจากผู้ใช้ที่แตกต่าง


0

ฉันมีคำถามที่อาจเป็นคำตอบ ...
ทำไมคุณไม่ใช้ "การแชร์" ในการตั้งค่าระบบ?
จากนั้นคุณเลือก File Sharing ตั้งค่าโฟลเดอร์และผู้ใช้และภายใต้ปุ่ม "options" คุณจะพบ SMB
ที่ควรทำเคล็ดลับและง่ายกว่า CLI


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

ตกลงดังนั้น "การแชร์" จะแชร์โฟลเดอร์จาก mac กับผู้อื่น สิ่งที่ฉันพยายามคือการบรรลุคือสิ่งที่ตรงกันข้าม ฉันกำลังพยายามเชื่อมต่อเครือข่ายที่มีอยู่กับ mac ของฉัน
Rytis I

เอาล่ะคุณต้องการแชร์โฟลเดอร์จาก Linux หรือไม่? ถามฉันกำลังดูผิดปรกติ ^ _ ^ ฉันทำอย่างนั้นในระบบเดเบียนด้วย ฉันอาจขี้เกียจเกินไป แต่แทนที่จะเป็น CLI ฉันก็ใช้แผงการตั้งค่าของ Gnome แทนเพื่อเปิดใช้งานการแชร์ในโฟลเดอร์
Marc Augier

0

ดูเหมือนว่า macOS จะไม่อนุญาตให้ผู้ใช้เชื่อมต่อไดรฟ์เครือข่าย SMB ด้วยบิต uid / gid ที่กำหนดเอง และอนุญาตให้ผู้ใช้ที่เมานท์ไดรฟ์เท่านั้น เพื่อเข้าถึงไดรฟ์ ฉันไม่รู้ว่า Apple ใส่ใจหรือไม่ เกี่ยวกับความปลอดภัยหรือเป็นเพียงบั๊ก แต่น่าเสียดายที่มันเป็นเวลาหลายปี ฉันได้ทดสอบหลายกรณีในไดรฟ์ที่แชร์ของ macOS-to-macOS:

    known-user@a-server:~% sudo ls -l
    -rw-r-----  1 known-user    known-group    0 Jun 13 10:50 a-file
    -rw-r-----  1 known-user    unknown-group  0 Jun 13 10:50 b-file
    -rw-r-----  1 unknown-user  known-group    0 Jun 13 10:50 c-file
    -rw-r-----  1 unknown-user  unknown-group  0 Jun 13 10:50 b-file

    who-mount@my-desktop:~% sudo ls -l
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 a-file
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 b-file
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 c-file
    -rw-r-----  1 who-mount     whose-group  0 Jun 13 10:50 d-file

    who-mount@my-desktop:~% cat a-file
    who-mount@my-desktop:~% echo hello > a-file

    who-mount@my-desktop:~% cat b-file
    who-mount@my-desktop:~% echo hello > b-file

    who-mount@my-desktop:~% cat c-file
    who-mount@my-desktop:~% echo hello > c-file
    zsh: permission denied: c-file

    who-mount@my-desktop:~% cat d-file
    cat: d-file: Permission denied
    who-mount@my-desktop:~% echo hello > d-file
    zsh: permission denied: d-file
  1. uid / gid ของไฟล์ / โฟลเดอร์ที่แชร์อยู่เสมอ who-mount:whose-group
  2. บิตการอนุญาตเหมือนกันบนเซิร์ฟเวอร์ที่ใช้ร่วมกัน a-server
  3. เซิร์ฟเวอร์ปฏิบัติต่อ who-mount เช่น known-user:known-group (ที่นี่ known-group เป็นกลุ่มเริ่มต้นของ know-user )

ข้อเสนอแนะอย่างหนึ่งคือการใช้ ฟิวส์สำหรับ macOS . มันให้ ตัวเลือกบิต uid / gid ที่กำหนดเองและสิทธิ์ด้วย -o ธง; เช็คเอาท์ bindfs ซึ่งเมานต์ FUSE ไดรฟ์และแก้ไขสิทธิ์ ด้วย bindfs คุณสามารถเมานต์ เรียกใช้ smb ไดรฟ์ที่ได้รับอนุญาตหลังจากติดตั้งไดรฟ์ smb ในทาง คุณพูดถึง

แต่ฉันคิดว่าสิ่งที่ดีที่สุดคือผู้ใช้แต่ละคนมีไดรฟ์ที่ใช้ร่วมกันของตัวเอง

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