如何在Linux下访问Windows共享文件夹?

Windows共享文件夹

如果局域网中有Windows主机,请将指定的文件夹设置为共享文件夹,则可以在局域网中访问它。

如果要从Linux访问该怎么办?

使用mount.cifs

Windows共享文件夹使用的协议是SMB / CIFS。 因此,您可以在Linux下使用smbclient在命令行上进行操作。

如果要在图形桌面环境中更方便地使用它,可以使用mount.cifs命令将共享文件夹安装到指定位置,然后可以像访问本地文件夹一样访问它。

首先安装依赖包

使用mount.cifs需要cifs-utils软件包(以及cifs-utils依赖的软件包)。

$ sudo apt install cifs-utils

(插入一句话:现在apt安装可以直接使用apt代替apt-get)

挂载共享文件夹

可以使用以下两个命令(效果相同)

sudo mount.cifs //[address]/[folder] [mount point] -o user=[username],passwd=[pw]

或者

sudo mount -t cifs //[address]/[folder] [mount point] -o user=[username],passwd=[pw]

共享文件夹的地址是Windows主机的地址加上文件夹名称,可以在Windows主机上看到。 例如//192.168.0.100/share

挂载点是Linux上的空文件夹。

以下选项指定用户名和密码。

文件操作

成功挂载后,您可以通过图形文件管理器直接对其进行操作。 复制,粘贴,删除等

但是,但是。。。您很快就会发现此文件夹可读且不可写! 您只能复制到外部,不能创建新文件或复制到内部。

检查文件夹属性后,您会发现在安装原始文件夹之后,所有者成为根用户。 怎么做? 每次需要sudo时都不能复制文件吗? 然后,您必须打开命令行,这既不直观也不麻烦。

不用担心,mount.cifs还提供了一个选项,即在安装后指定所有者! 用法如下:

sudo mount.cifs //[address]/[folder] [mount point] -o user=[username],passwd=[pw],uid=[UID]

在选项中指定用户的UID就可以了。
查看某个用户UID的方法:

id -u [username]

之后就可以正常操作了!

卸载

最后如果要卸载共享文件夹,使用umount即可

sudo umount [mount point]

Enjoy!

可能的问题

使用过程中可能会遇到各种问题,其结果通常是相同的:无法访问目标文件夹。 这是一些可能的问题以及可能的原因和解决方案。

1.目标主机在某个域中

通常,个人计算机不使用域管理(Windows PC版本根本没有域管理服务),但是在企业或组织中,可以使用Windows服务器的域管理功能统一管理内部Windows计算机。 登录域中的计算机时,域名将显示在登录界面上。

使用以上命令,无法登录到域中计算机的共享文件夹,并且可能的错误是输入/输出错误。

解决方法:

使用domain选项来指定域名:

sudo mount.cifs //[address]/[folder] [mount point] -o domain=[domain_name],user=[username],passwd=[pw],uid=[UID]

2、希望免密码登录

有些时候,为了方便起见希望不使用密码登录。

解决方法

使用guest选项。

sudo mount.cifs //[address]/[folder] [mount point] -o user=[username],guest,uid=[UID]

但是,应该注意的是,如果要使用密码登录,不仅必须更改客户端的登录说明,而且更重要的是,必须在目标主机上进行相关设置才能允许来宾帐户登录 或允许无密码登录。 此处不涉及具体的设置方法,它与Windows系统版本有关,但是类似。

3、账户密码正确,但连接失败

错误信息是mount error(13): Permission denied。遇到这种错误请首先确定用户名和密码是否正确。

其他导致这种情况的原因有(1)安全协议不匹配(2)在Linux系统中,你没有挂载权限;(3)Windows目标主机访问时权限不足

解决方法

情况1:可使用sec=选项指定安全协议。如果Linux内核版本低于3.8.则默认的安全协议是sec=ntlm,而3.8及以后的版本使用sec=ntlmssp作为默认安全协议。对于版本较低的Windows(如Windows XP),可能不支持新的ntlmssp,此时需要指明使用ntlm协议。可使用man mount.cifs查看详细说明。

情况2:请使用有挂载权限的账户操作,比如root。

情况3:请进入Windows共享文件设置相关界面进行设置。因为可能原因是(1)你使用的账户不能访问这个文件夹;(2)Windows针对当前的网络连接关闭了文件共享;(3)其他配置原因。

4.断开连接时假死

如果在成功连接后断开网络连接,则此时已装载的共享文件夹的任何操作(包括读取和卸载)将导致动画暂停(恢复可能需要1-2分钟)。 这取决于网络文件系统(NFS)的特性。 修改安装指令不能优化此问题。

如果是命令行操作,则必须等待。 如果在应用程序中使用它,建议使用多线程操作,并打开一个临时线程来卸载已安装的文件夹。 临时线程的暂停动画不会影响主线程。

阅读已结束,喜欢的话就点个赞吧
注册坚果云网盘
还有其他问题,可以咨询小坚果咨询小坚果
赞(0)
网站部分内容和图片来源于网络如有侵权请联系我们删除:好用的网盘坚果云 » 如何在Linux下访问Windows共享文件夹?
分享到: 更多 (0)
如何在Linux下访问Windows共享文件夹?

本文链接:如何在Linux下访问Windows共享文件夹?https://content.jianguoyun.com/32173.html

评论 抢沙发

评论前必须登录!

 

坚果云 便捷、安全的网盘产品

免费试用下载客户端