Linux上挂载windows共享目录

Linux上挂载windows共享目录,第1张

    笔者最近经常需要在windows和树莓派之前来回拷贝文件,最开始是使用U盘,然后使用VNC自带的文件传输工具,支持来回传输文件。也有一些SSH工具支持传递文件,但是频繁拷贝来说确实繁琐了些。windows的开发平台和工具用起来更加的和谐友好,比如写php文件,笔者一般在windows写好再上传到服务器,传递也很耗时间。最近闲逛才知道可以linux可以挂载windows共享目录,孤陋寡闻的认为只能挂载硬盘、U盘等。那我们开始吧。

    1、在linux下要挂载windows的共享文件,需要安装cifs-utils软件包。

    dpkg -l|grep cifs-utils可以查看是否安装了这个软件包,which mount.cifs可以查看这个软件包安装在哪里。sudo apt-get install cifs-utils可以安装软件包。

2、建立一个目录用来作挂载点。

    笔者准备将共享目录挂载在mnt目录下,在mnt目录下建立share目录,sudo mkdir share 。

3、window共享share文件夹

    文件夹上右键属性,设置共享属性。

4、挂载 *** 作

    sudo mount -t cifs -o username=Administrator,password=123456  //192.168.31.33/share /mnt/share。

    192.168.31.33为windows的IP地址,Administrator为windows的用户名,123456为用户密码。在测试时,笔者不会不设置密码会出现告警,“mount error(13): Permission denied;Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)“,设置windows的用户名密码后才能挂载成功。还有注意用户名Administrator第一个字母有可能是是大写的,所以一定要对应好用户名。

5、测试大功告成

    在windows新建修改文件,在linux可以自由查看,修改就需要root权限了。

6、取消挂载

    sudo umount /mnt/share 。当然,重启linux后挂载自动会取消。需要重新挂载。

7、脚本控制来挂载共享文件夹

    为了方便起见,在开启linux后需要重新挂载共享文件夹,这一串命令可要让人头疼了,那么脚本来帮助!执行效果如下。如果挂载路径不一样,可要修改脚本用参数定位到新路径,那笔者就不尝试了。$? 执行上一个指令的返回值 ,显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

   欢迎取用:

在linux客户端挂接(mount)NFS磁盘共享之前,必须先配置好NFS服务端。\x0d\x0a1、Solaris系统NFS服务端配置方法如下:\x0d\x0a (1)修改 /etc/dfs/dfstab, 增加共享目录\x0d\x0ashare -F nfs -o rw /export/home/sunky\x0d\x0a (2)启动nfs服务\x0d\x0a# /etc/init.d/nfs.server start\x0d\x0a (3)NFS服务启动以后,也可以使用下面的命令增加新的共享\x0d\x0a# share /export/home/sunky1\x0d\x0a# share /export/home/sunky2\x0d\x0a 注:/export/home/sunky和/export/home/sunky1是准备共享的目录\x0d\x0a\x0d\x0a2、linux系统NFS服务端配置方法如下:\x0d\x0a (1)修改 /etc/exports,增加共享目录\x0d\x0a/export/home/sunky 10.140.133.23(rw)\x0d\x0a/export/home/sunky1 *(rw)\x0d\x0a/export/home/sunky2 linux-client(rw)\x0d\x0a 注:/export/home/目录下的sunky、sunky1、sunky2是准备共享的目录,10.140.133.23、*、 linux-client是被允许挂接此共享linux客户机的IP地址或主机名。如果要使用主机名linux-client必须在服务端主机 /etc/hosts文件里增加linux-client主机ip定义。格式如下:\x0d\x0a 10.140.133.23 linux-client\x0d\x0a (2)启动与停止NFS服务\x0d\x0a /etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)\x0d\x0a /etc/rc.d/init.d/nfs start 启动NFS服务\x0d\x0a /etc/rc.d/init.d/nfs stop 停止NFS服务\x0d\x0a 注:若修改/etc/export文件增加新的共享,应先停止NFS服务,再启动NFS服务方能使新增加的共享起作用。使用命令exportfs -rv也可以达到同样的效果。\x0d\x0a3、linux客户端挂接(mount)其他linux系统或UNIX系统的NFS共享\x0d\x0a # mkdir _p /mnt/nfs\x0d\x0a 注:建立一个目录用来作挂接点(mount point)\x0d\x0a #mount -t nfs -o rw 10.140.133.9:/export/home/sunky /mnt/nfs\x0d\x0a 注:这里我们假设10.140.133.9是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。/export/home/sunky为服务端共享的目录。\x0d\x0a如此就可以在linux客户端通过/mnt/nfs来访问其它linux系统或UNIX系统以NFS方式共享出来的文件了。以上 *** 作在 redhat as server 3、redflag server4.1、suse server 9以及Solaris 7、Solaris 8、Solaris 9 for x86&sparc环境下测试通过。\x0d\x0a权限问题:\x0d\x0a假设 server 端的使用者 jack, user id 为 1818, gid 为 1818, client 端也有一个使用者 jack,但是 uid 及 gid 是 1818。client 端的 jack 希望能完全读写 server 端的 /home/jack 这个目录。server 端的 /etc/exports 是\x0d\x0a这样写的:\x0d\x0a /home/jack *(rw,all_squash,anonuid=1818,anongid=1818)\x0d\x0a这个的设定档的意思是,所有 client 端的使用者存取 server 端 /home/jack 这\x0d\x0a目录时,都会 map 成 server 端的 jack (uid,gid=1818)。我 mount 的结果是\x0d\x0a1. client 端的 root 可以完全存取该目录, 包括读、写、杀??等\x0d\x0a2. client 端的 jack (uid,gid=1818) 我可以做:\x0d\x0a rm -rf server_jack/*\x0d\x0a cp something server_jack/\x0d\x0a mkdir server_jack/a

1. 主机安装Cygwin(还有一个http://ftp.iij.ad.jp/pub/cygwin/之类的release包),安装release包时,确保勾选安装libbz2_1,sunrpc和nfs-sever,cygrunsrv。

2. 安装好后,运行/bin/nfs-server-config脚本.脚本运行后,生成export文件。

3. 编辑etc/export文件。可分行输入需要挂载的目录,如在根目录下:

/sharefolder [IP/submask] (rw,no_root_squash)

编辑etc/hosts.allow, 增添 nfsd: ALL 一行

4. 启动NFS服务。

cygrunsrv -S portmap

cygrunsrv -S nfsd

cygrunsrv -S mountd

运行usr/sbin/showmount.exe 测试

5. 客户机 *** 作:

mount -t nfs -o nolock 192.168.*.*:/sharefolder /mnt

sharefolder即是NFS服务器上的共享文件夹,挂载点在客户机/mnt目录下

6. 测试

cd /mnt

vi test.txt 随便输入内容,然后在主机找到 C:/cygwin/sharefolder,如果发现有test.txt并且内容和刚才输入的一致,则说明挂在成功。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7120910.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-01
下一篇2023-04-01

发表评论

登录后才能评论

评论列表(0条)

    保存