我在 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_mode
和dir_mode
挂载权限。尝试通过 chmod/chown 更改这些值将返回成功,但没有任何效果。...
基本上,您使用挂载选项uid=1000,gid=1000
来强制挂载共享的特定所有者,这会导致您的chown
命令失败。
如果您想更改所有者,只需在 uid=?,gid=?
挂载选项中挂载具有正确所有者的共享,/etc/fstab
而不是使用chown
和使用file_mode=?
和dir_mode=?
而不是chmod
。