V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FaiChou
V2EX  ›  Apple

macOS 共享文件夹权限问题

  •  
  •   FaiChou · 2023-06-01 15:49:29 +08:00 · 1160 次点击
    这是一个创建于 545 天前的主题,其中的信息可能已经有所发展或是发生改变。

    打开了设置-通用-文件共享,将用户名的 PublicFolder 共享出去后,局域网内其他设备可以用 smb 访问,smb://192.168.31.2 输入我电脑的用户名和密码就可以访问。

    但是这样登录会有全盘访问的权限,硬盘里任何位置都有读写权限。

    于是我在用户和群组里创建了一个新的用户(mini),专门用来登录访问共享文件夹,这个用户是 sharing only 的。

    但是现在需要在 PublicFolder 右击 Apply Permissions 才有读写的权限。

    a

    而且当 mini 用户创建新的文件到 PublicFolder 里面时候,我的主用户是没有读写权限的。

    b

    应该如何设置才可以让主用户和 mini 用户对整个文件夹下都有读写权限?包括新建的文件,其他用户也自动有读写权限?

    一个一个的 chmod 太麻烦了,因为每天都有很多新增文件。

    第 1 条附言  ·  2023-06-01 17:06:19 +08:00
    脚本解决方案:

    安装 fswatch: brew install fswatch

    新建脚本 ~/bin/watch_and_chmod_public_folder_items.sh

    ```
    #!/bin/bash

    # 指定共享文件夹路径
    DIRECTORY=/Users/YOURUSERNAME/Public/

    # 使用 fswatch 监视 DIRECTORY 目录,检测新文件的创建
    fswatch -0 $DIRECTORY | while read -d "" NEWFILE
    do
    # 当有新文件创建时,使用 chmod 命令更改其权限
    if [ -f "$NEWFILE" ]; then
    sudo chmod 755 "$NEWFILE"
    fi
    done

    ```

    chmod u+x watch_and_chmod_public_folder_items.sh

    ./watch_and_chmod_public_folder_items.sh & # 挂起脚本


    使用 `sudo visudo` 给 chmod 加上不需要密码的权限:

    YOURUSERNAME ALL = (ALL) NOPASSWD: /bin/chmod


    可以参考: https://osxdaily.com/2014/02/06/add-user-sudoers-file-mac/
    第 2 条附言  ·  2023-06-03 09:42:05 +08:00
    使用过程中遇到了几个问题,更新了一下脚本:

    https://gist.github.com/FaiChou/5f84c452328ac12a0015f5859d07fecd
    5 条回复    2023-06-02 10:38:48 +08:00
    colinlikepotatos
        1
    colinlikepotatos  
       2023-06-01 16:03:50 +08:00
    同求解决方案。我昨天有这个需求,用 go 写了个文件监听,发现新增就自动执行 chmod ,但是我觉得不应该这个样子
    FaiChou
        2
    FaiChou  
    OP
       2023-06-01 16:16:43 +08:00
    @colinlikepotatos 嗯 Apply Permissions to Enclosed Items 应该是 chmod 755 PublicFolders/* 将所有文件给了权限,但新增的文件还是文件所有者有读写权限,其他用户没有读写权限。写脚本这个方法应该不是最好的解决方案。
    jorneyr
        3
    jorneyr  
       2023-06-01 16:45:59 +08:00
    可以安装个 MINIO 之类的,让从网页上上传下载文件。
    colinlikepotatos
        4
    colinlikepotatos  
       2023-06-01 16:53:40 +08:00
    @FaiChou 是的 主要就是别的用户新建的 主用户没有修改的权限,只能读,导致本地其它处理程序权限错误。
    0x2CA
        5
    0x2CA  
       2023-06-02 10:38:48 +08:00
    一样的需求,觉的权限管理很弱。。。,很智障,我也能将就一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1238 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:07 · PVG 02:07 · LAX 10:07 · JFK 13:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.