文件和目录所有权和权限

文件和目录所有权和权限

我在 CentOS 7 上安装了 Windows 共享,但我对它只有读取权限。我需要写入权限。

用于挂载共享的命令...

sudo mkdir /media/shared
sudo chmod 777 /media/shared
sudo vim /etc/fstab
//192.168.16.25/shared /media/shared cifs 
username=XXXX,password=XXXX,uid=1000,gid=1000 0 0

它安装得很好,但现在的所有者是“管理员”,而且它是只读的......

$ ls -lrt
total 8
drwxr-xr-x 2 admin admin 4096 Aug  7 18:11 shared

我无法改变它

$ sudo chown -R root shared
chown: changing ownership of ‘shared/System Volume Information’: 
Permission denied
sudo chown: changing ownership of ‘shared’: Permission denied
$ sudo chmod 777 shared
chmod: changing permissions of ‘shared’: Permission denied

我错过了什么?在 Windows Server 上,该驱动器与“所有人”共享,并具有完全访问权限。

已修复!这是我在 fstab 中更改配置的解决方案...

//192.168.16.25/shared /mnt/shared cifs username=XXXX,password=XXXX,uid=0,gid=0,file_mode=0777,dir_mode=0777 0 0

答案1

请阅读文件所有权和权限mount.cifs 手册,它是 cifs-utils RPM 包的一部分:

文件和目录所有权和权限

核心 CIFS 协议不提供 unix 所有权信息或文件和目录的模式。因此,文件和目录通常看起来归uid=gid=选项设置的任何值所有,并且将权限设置为默认值file_modedir_mode挂载权限。尝试通过 chmod/chown 更改这些值将返回成功,但没有任何效果。

...

基本上,您使用挂载选项uid=1000,gid=1000来强制挂载共享的特定所有者,这会导致您的chown命令失败。
如果您想更改所有者,只需在 uid=?,gid=?挂载选项中挂载具有正确所有者的共享,/etc/fstab 而不是使用chown和使用file_mode=?dir_mode=?而不是chmod

相关内容