如何在Linux(CentOS)上从Windows文件共享创建和编辑文件?


0

我有一个Windows共享驱动器,该驱动器已按照Red Hat说明安装在我的CentOS 7机器上,我现在想在其中创建和编辑文件。但是,我必须被提升才能在驱动器上的任何文件夹上创建和编辑文件。我尝试使用chmod允许所有用户访问,但无济于事,甚至尝试卸载/重新安装驱动器。

如何获得对驱动器的非提升访问权限?

(我正在使用Matlab创建这些文件,而Matlab无法通过来运行sudo,因此仅保持抬高状态是不可行的)。

终端打印输出

[millironx@mymachine ~]$ sudo umount /mnt
[millironx@mymachine ~]$ sudo mount -t cifs -o username=millironx,password=mypassword,domain=AD //files.example.com/shared /mnt
[millironx@mymachine ~]$ cd /mnt/matlab-program
[millironx@mymachine matlab-program]$ touch testfile
touch: cannot touch 'testfile': Permission denied
[millironx@mymachine matlab-program]$ sudo chmod +rwx /mnt/matlab-program
[millironx@mymachine matlab-program]$ touch testfile
touch: cannot touch 'testfile': Permission denied
[millironx@mymachine matlab-program]$ sudo touch testfile
[millironx@mymachine matlab-program]$ ls
testfile
[millironx@mymachine matlab-program]$ rm testfile
rm: remove write-protected regular empty file 'testfile`? y
rm: cannot remove 'testfile': Permission denied
[millironx@mymachine matlab-program]$ sudo rm testfile
[millironx@mymachine matlab-program]$ sudo matlab
sudo: matlab: command not found

Answers:


1

你需要uid=和可能gid=安装选项。见man 8 mount.cifs

uid=arg
设置当服务器不提供所有权信息时将拥有已挂载文件系统上所有文件或目录的uid的uid。它可以指定为用户名或数字uid。如果未指定,则默认值为uid 0。该mount.cifs助手必须在1.10或更高版本支持指定的非数字形式的UID。有关更多信息,请参见下面有关文件和目录所有权和权限的部分。

gid=arg
设置当服务器不提供所有权信息时将拥有已挂载文件系统上所有文件或目录的gid。它可以指定为组名或数字gid。如果未指定,则默认值为gid 0。该mount.cifs助手必须在1.10或更高版本支持指定的非数字形式的GID。有关更多信息,请参见下面有关文件和目录所有权和权限的部分。

[…]

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

本节还提到“客户端和服务器协商unix扩展名”的方案和“也可以在服务器上本地模拟它们的扩展名”的方案。

在你的情况简单的uid=gid=应该足够了。请注意,它们指定Unix用户和组,uid=并且username=不同,并且通常可以采用不同的值。

sudo mount -t cifs -o uid=millironx,gid=users,username=millironx,password=mypassword,domain=AD //files.example.com/shared /mnt

您可能还会发现此问题有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.