linux下挂载windows上的共享目录,并设置所有者为非root用户
2018-02-23 09:25
399 查看
==========================================mount -t cifs //10.6.10.113/SHARE /u02 -o noatime -o nodiratime -o username=administrator,password=111111,rw,uid=0,gid=0,dir_mode=0777,file_mode=0777
============================================参考了很多文章,这里总结下我得出来的最优答案(针对我的需求而言)吧,但是还是存在bug,稍后指出!以下是我的bash脚本,防止多次重复挂载,相信看了就能明白: [python] view plain copy[zcm@vm-fedora20 share]$ cat m.sh
#!/bin/bash
src="//192.168.1.77/game"
dest="/home/zcm/share/game"
cmd="mount -t cifs -o rw,username=admin,password=1111,uid=1000,gid=1000,iocharset=cp936,file_mode=0777,dir_mode=0777 $src $dest"
if [ `df | grep share | wc -l` -eq 0 ]; then
echo "not mounted"
echo $cmd
$cmd
else
echo "mounted"
echo umount $dest
umount $dest
fi
通过这种方式挂载后,$dest目录就能属于非root用户zcm了,同时新建的文件或目录的权限都为0777,即同时具有rwx权限。简单说明:admin / 1111为访问windows上共享目录时的用户名和密码, uid和gid后的1000是linux下用户zcm的用户id和组id,可通过"id zcm“看到 bug:我尝试通过cocos new 创建一个HelloWorld工程到$dest目录下,在创建过程中会失败,提示无法获取“$dest"目录下要创建的文件的状态,接下来挂载的目录就无法访问了,只有重启windows后重新挂载才行。 这个问题,还未找到解决办法,提示是"I/O错误",我想是不是与-t cifs这种协议本身有关呢,因为我是在这个共享目录中创建目录的,从结果来看,有部分文件和目录是创建成功了,但是有些却失败,不解。若有解决方案,希望可以交流下。 copy其他普通目录到这个共享目录下,我未作实际测试,因为老要重启windows,下次再试吧。 ==================================================================以上的mount方式,只有执行一次才能挂载上去。如果要让系统启动时自动挂载上去,需要在/etc/fstab文件末尾添加一行挂载项,如:[python] view plain copy//192.168.1.77/game /home/zcm/share/game cifs defaults,username=admin,password=1111,uid=1000,gid=1000 0 2
这里第4列的选项与mount -o 时的内容不一定完全兼容,可能有些在mount中能识别的选项在fstab中无法识别的,如file_mode等。
============================================参考了很多文章,这里总结下我得出来的最优答案(针对我的需求而言)吧,但是还是存在bug,稍后指出!以下是我的bash脚本,防止多次重复挂载,相信看了就能明白: [python] view plain copy[zcm@vm-fedora20 share]$ cat m.sh
#!/bin/bash
src="//192.168.1.77/game"
dest="/home/zcm/share/game"
cmd="mount -t cifs -o rw,username=admin,password=1111,uid=1000,gid=1000,iocharset=cp936,file_mode=0777,dir_mode=0777 $src $dest"
if [ `df | grep share | wc -l` -eq 0 ]; then
echo "not mounted"
echo $cmd
$cmd
else
echo "mounted"
echo umount $dest
umount $dest
fi
通过这种方式挂载后,$dest目录就能属于非root用户zcm了,同时新建的文件或目录的权限都为0777,即同时具有rwx权限。简单说明:admin / 1111为访问windows上共享目录时的用户名和密码, uid和gid后的1000是linux下用户zcm的用户id和组id,可通过"id zcm“看到 bug:我尝试通过cocos new 创建一个HelloWorld工程到$dest目录下,在创建过程中会失败,提示无法获取“$dest"目录下要创建的文件的状态,接下来挂载的目录就无法访问了,只有重启windows后重新挂载才行。 这个问题,还未找到解决办法,提示是"I/O错误",我想是不是与-t cifs这种协议本身有关呢,因为我是在这个共享目录中创建目录的,从结果来看,有部分文件和目录是创建成功了,但是有些却失败,不解。若有解决方案,希望可以交流下。 copy其他普通目录到这个共享目录下,我未作实际测试,因为老要重启windows,下次再试吧。 ==================================================================以上的mount方式,只有执行一次才能挂载上去。如果要让系统启动时自动挂载上去,需要在/etc/fstab文件末尾添加一行挂载项,如:[python] view plain copy//192.168.1.77/game /home/zcm/share/game cifs defaults,username=admin,password=1111,uid=1000,gid=1000 0 2
这里第4列的选项与mount -o 时的内容不一定完全兼容,可能有些在mount中能识别的选项在fstab中无法识别的,如file_mode等。
相关文章推荐
- linux下挂载windows上的共享目录,并设置所有者为非root用户
- Windows磁盘或目录设置共享,Linux识别并挂载
- Linux中挂载Windows共享出来的目录
- 在linux上挂载windows的共享目录
- linux下访问windows共享目录并挂载到linux本地文件夹
- ubuntu设置好samba服务器后,windows登录共享目录时出现“Samba服务器 解决不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接”
- 在Linux下挂载Windows系统共享目录
- linux上挂载windows共享目录
- linux 挂载windows共享文件夹到linux指定目录
- Linux下挂载Windows共享目录
- linux如何挂载windows共享目录
- linux 挂载 windows共享目录
- windows共享目录挂载到linux下
- linux下设置开机自动挂载其他主机的samba共享目录
- Linux挂载windows 共享目录
- Linux操作系统下挂载远程Windows共享目录
- 挂载Windows共享到Linux目录下
- Linux下如何挂载windows下的共享目录
- linux下挂载windows共享目录并创建软链接
- Linux与云计算——第二阶段 第十章:Samba服务器架设—SMB共享目录及多用户SMB挂载