Как я могу установить общий сетевой ресурс 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 может получить доступ к смонтированному ресурсу
Используя автомонтирование
в /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 только пользователь, вызвавший автомонтирование и root, имеет доступ к общему ресурсу
macos
mac
permissions
smb
osx-el-capitan
Ритис я
источник
источник
noowners
илиnosuid
флагов у меня всегда текущего пользователя в качестве владельца и вstaff
качестве группы на точку монтирования. (Кстати , у вас есть опечаткаnowness
в/etc/auto_master
)Ответы:
Сделайте общий ресурс SMB монтируемым в качестве гостя, тогда он будет подключен с соответствующими разрешениями.
У меня была точно такая же проблема, и это работает для меня в Высокой Сьерре:
/ и т.д. / auto_nfs:
И после монтирования у него будут права drwxrwxrwx, и я могу просматривать его от разных пользователей.
источник
Кажется, что macOS не позволяет пользователям монтировать сетевой диск SMB с пользовательскими битами uid / gid. И это только позволяет пользователю, который монтирует диск, получить доступ к диску. Я не знаю, заботится ли Apple о безопасности или это просто ошибка. Но, к сожалению, это годами. Я протестировал несколько случаев на общем диске macOS-to-macOS:
who-mount:whose-group
a-server
who-mount
какknown-user:known-group
(здесьknown-group
группа по умолчаниюknow-user
)Одно из предложений - использовать Fuse для macOS . Он предоставляет пользовательские опции uid / gid и биты разрешений с
-o
флагом; проверьте bindfs, который монтирует диск FUSE и изменяет разрешение. С помощью bindfs вы можете смонтировать диск smb, полученный с разрешения, после монтирования диска smb, как вы упомянули.Но, думаю, лучше всего то, что у каждого пользователя есть свои общие диски.
источник
У меня есть вопрос, который может быть ответом ...
Почему вы не используете «Общий доступ» в Системных настройках?
Затем вы выбираете Общий доступ к файлам, настраиваете папки и пользователей, и под кнопкой «Опции» вы найдете SMB.
Это должно сработать, и гораздо проще, чем с CLI.
источник