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表示没有错误,其他任何值表明有错误。

   欢迎取用:

方法/步骤mount -t cifc "windows共享文件夹" "Linux /mnt路径"

i.e. mount -t cifs //16.187.190.60/test /mnt/

Linux 会要求输入访问Windows 共享文件夹上的密码。

注意:

Linux中提示:

Unable to find suitable address.

说明远程共享文件夹路径不存在。请仔细检查,并更正目录路径。

mount -t cifc "windows共享文件夹" "Linux /mnt路径"

i.e. mount -t cifs //16.187.190.50/test /mnt/

注意:

Linux中提示:

mount error(13): Permission denied

Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

解决方案:将访问Windows共享目录的用户名和密码直接加入到命令中。

mount -t cifs -o username=WindowsLogin,password="passwordinWindows"

//16.187.190.50/test /mnt/

注意:该命令中,username为windows上的用户;password为window用户对应的密码

步骤3的命令也可以使用以下方式实现:

mount.cifs -o username="Administrator",password="PasswordForWindows" //16.187.190.50/test /mnt/

通过步骤3和步骤4可以成功将windows共享文件夹挂载在/mnt目录下。不过由于mount命令只能由root权限用户使用。其挂载文件夹的默认owner和group都为root,并且不能通过chmod命令更改权限。

使用mount命令,给挂载共享文件夹指定owner和group.

mount.cifs -o username="Administrator",password="PasswordForWindows",uid=Mysa,gid=Mysa //16.187.190.50/test /mnt/

检查/mnt/中文件夹的owner和group。

更改文件夹权限。给mount共享文件夹所在组的写权限。

1、mount挂载

首先创建被挂载的目录:

$ mkdir windows

将共享文件夹挂载到windows文件夹:

$ sudo mount -t cifs -o username=share,password=share //192.168.66.198/share ./windows

其中几个参数表示含义:

cifs:Common Internet File System,可以理解为网络文件系统。

usrname:访问共享文件夹的用户名

password:访问密码

//192.168.66.198/share:表示网络文件夹的地址,注意这里最后不能加/,如果是//192.168.66.198/share/则会报如下错误:mount: //192.168.66.198/share/ is not a valid block device

Tips:使用mount挂载的方法在系统重新启动后就会失效,如果希望开机时自动挂载,将下面设置加入/etc/fstab文件最后面就可以了。

//192.168.66.198/share /home/windows cifs defaults,username=share,password=share 0 2

其中/home/windows表示挂载点,就是上面windows目录的完整路径。

2、使用samba连接

samba就是让windows和unix系列os之间的文件可以互相访问的软件。使用samba访问windows的共享文件夹,需要安装smbclient。

$ sudo apt-get install smbclient

安装好后,就可以访问共享的文件了。

$ smbclient --user=share //192.168.66.198/share

Enter share's password: (输入密码回车)

smb: \>

此时进入了smb的命令 *** 作空间,可以使用help来查看命令的使用。

smb: \>help

......省略若干命令......

exit getgetfaclgeteas hardlink

help historyiosize lcdlink

......省略若干命令......

也可以使用help查看单个命令的使用方式

smb: \>help get

HELP get:

[local name] get a file

小结

使用mount命令相对来说简单一些,基本linux系统都会带有这个命令;使用samba的话从windows也能访问linux的共享文件。


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

原文地址: https://outofmemory.cn/yw/6156558.html

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

发表评论

登录后才能评论

评论列表(0条)

保存