Cách gắn kết chia sẻ SMB có thể được truy cập bởi bất kỳ ai trên Mac OS X El Capitan


10

Làm cách nào tôi có thể gắn kết chia sẻ mạng SMB mà bất kỳ ai cũng có thể truy cập? Đây là những gì tôi đã thử:

Sử dụng lệnh mount

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

sau đó

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

quyền trên / Đa phương tiện sau khi gắn

drwxrwxrwx   1 root  wheel  16384 Nov  8 11:04 Multimedia

nhưng điều này hoạt động

root# cd /Multimedia

tl; dr chỉ root có thể truy cập chia sẻ gắn kết

Sử dụng automount

trong /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

trong /etc/automounts/smb

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

sau đó

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

sau đó

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

Làm! Nhưng thật không may, những người dùng khác không có quyền truy cập

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

Nhưng nếu tôi

me$ umount /Multimedia

và sau đó

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

Làm! Nhưng

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

và chưa

root# cd /Multimedia

Làm!

tl; dr chỉ người dùng gây ra automount và root mới có quyền truy cập vào chia sẻ


Xác minh phương pháp đầu tiên của bạn và tìm thấy không có vấn đề. Tôi có thể gắn kết và truy cập chia sẻ với root, tôi và người dùng khác. Sau khi gắn bất kể noowners hoặc nosuidcờ tôi luôn có người dùng hiện tại là chủ sở hữu và stafftheo nhóm trên một điểm gắn kết. (btw bạn đã có một lỗi đánh máy nownesstrong /etc/auto_master)
techraf

1
@Techraf bắt tốt! Cảm ơn bạn đã xác minh, rất tin tưởng rằng bạn đã có một kết quả khác. Có thể sự cho phép của chính cổ phiếu có liên quan đến nó? Tôi sẽ cố gắng gây rối với nó tối nay
Rytis I

1
Xin chào @Rytis l, tôi có cùng một vấn đề - bạn đã giải quyết vấn đề này chưa?
HankCa

@HankCa không, vẫn có vấn đề này :(
Rytis I

Tôi tự hỏi nếu bạn đã tìm ra một cách để giải quyết vấn đề này?
Nhật ký lười biếng

Câu trả lời:


2

Làm cho chia sẻ SMB có thể gắn kết với tư cách khách, sau đó nó sẽ được gắn với quyền phù hợp.

Tôi đã có cùng một vấn đề và điều này hiệu quả với tôi ở High Sierra:

/ etc / auto_nfs:

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

Và sau khi gắn kết, nó sẽ có quyền drwxrwxrwx và tôi có thể duyệt nó từ những người dùng khác nhau.


1

Có vẻ như macOS không cho phép người dùng gắn ổ đĩa mạng SMB với các bit uid / gid tùy chỉnh. Và nó chỉ cho phép người dùng gắn ổ đĩa truy cập vào ổ đĩa. Tôi không biết liệu Apple có quan tâm đến bảo mật hay đó chỉ là một lỗi. Nhưng thật không may, nó là trong nhiều năm. Tôi đã thử nghiệm một số trường hợp trên ổ đĩa chia sẻ 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. Các uid / gid của các tệp / thư mục được chia sẻ luôn luôn who-mount:whose-group
  2. Các bit cho phép giống nhau trên máy chủ được chia sẻ a-server
  3. Máy chủ xử lý who-mountnhư known-user:known-group (đây known-grouplà nhóm mặc định know-user)

Một gợi ý là sử dụng Fuse cho macOS . Nó cung cấp các tùy chọn uid / gid và bit quyền tùy chỉnh với -ocờ; kiểm tra các bindfs gắn ổ FUSE và thay đổi quyền. Với các bindfs, bạn có thể gắn ổ đĩa smb được cấp phép sau khi gắn ổ đĩa smb theo cách bạn đã đề cập.

Nhưng, tôi nghĩ, tốt nhất là mỗi người dùng có ổ đĩa chung.


-1

Tôi có một câu hỏi có thể là câu trả lời ...
Tại sao bạn không sử dụng "Chia sẻ" trong tùy chọn Hệ thống?
Sau đó, bạn chọn Chia sẻ tệp, thiết lập thư mục và người dùng và trong nút "tùy chọn", bạn sẽ tìm thấy SMB.
Điều đó nên thực hiện các mẹo và dễ dàng hơn nhiều so với CLI.


Không chắc chắn nếu điều này bao gồm trường hợp sử dụng của tôi. Ý tưởng là chia sẻ cần phải được gắn trên hệ điều hành khởi động cho mọi người dùng. Nhưng tôi sẽ dùng thử và báo cáo lại
Rytis I

OK để "Chia sẻ" chia sẻ một Thư mục từ mac cho người khác. Những gì tôi đang cố gắng đạt được thì ngược lại. Tôi đang cố gắn kết chia sẻ mạng hiện có với máy mac của mình.
Rytis I

Được rồi, sau đó bạn muốn chia sẻ một thư mục từ Linux? Xin lỗi, tôi đã tìm kiếm sai mục đích ^ _ ^ Tôi cũng đã làm điều đó trên hệ thống Debian. Tôi có thể quá lười biếng nhưng thay vì CLI, tôi cũng sử dụng bảng ưu tiên Gnome để kích hoạt chia sẻ trên một thư mục.
Marc Augier
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.