我正在尝试更改文件夹的某些权限。我正在运行 FreeNAS 并使用 Windows 权限设置(不是 Unix)。如果我右键单击该文件并转到“属性”,然后转到“安全性”,它会显示唯一可以进行更改的人是:root(Unix 用户\root)。
笔记:由于明显的原因,我无法使用 root 用户登录 Windows 共享。
那么我该如何更改设置以允许我的帐户更改权限呢?
答案1
对于 NTFS
在研究这个问题时,我发现了这个 AskUbuntu 问答,标题为:如何在 NTFS(或 FAT32)分区上使用“chmod”?。根据这个线程,有几种方法可以解决这个问题。
方法
控制挂载时的权限。
$ sudo mount -t ntfs -o \ rw,auto,user,fmask=0022,dmask=0000 /dev/whatever /mnt/whatever
使用用户映射文件
与大多数人的看法相反,NTFS 是一个 POSIX 兼容的文件系统,并且可以使用 NTFS 上的权限。
咨询ntfs-3g 手册页以及这个 ntfs-3g 文档高级所有权和权限。本主题涵盖了用户映射,标题为:用户映射。
然后您可以生成一个用户映射文件,如下所示:
对于 CIFS
在您的情况下,您正在处理 CIFS(通过 挂载的共享mount.cifs
),因此上述内容不适用。在这种情况下,您可以使用命令行工具获取cifsacl&设定值。的手册页setcifsacl
包含以下示例:
$ setcifsacl -a "ACL:CIFSTESTDOM\user2:DENIED/0x1/D" <file_name>
$ setcifsacl -a "ACL:CIFSTESTDOM\user1:ALLOWED/OI|CI|NI/D" <file_name>
删除 ACE
$ setcifsacl -D "ACL:S-1-1-0:0x1/OI/0x1201ff" <file_name>
修改 ACE
$ setcifsacl -M "ACL:CIFSTESTDOM\user1:ALLOWED/0x1f/CHANGE" <file_name>
设置ACL
$ setcifsacl -S "ACL:CIFSTESTDOM\Administrator:0x0/0x0/FULL,
ACL:CIFSTESTDOM\user2:0x0/0x0/FULL," <file_name>