Windows上访问linux的共享文件夹
简介:
访问Linux服务器,类似于通信过程,需要进行文件传输。有许多文件传输协议,在这里,选用SMB协议。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
目录
用的工具:samba
流程:在Linux中安装samba软件,创建一个共享目录,修改目录权限;配置/etc/samba/smb.conf文件。
具体实现步骤:
1)在Linux上安装Samba:
sudo apt-get install samba samba-common
(过程中会询问你y or n,输入y)
2)进入home目录下,创建文件夹share(创建共享目录)
cd home/ #进入home目录
sudo mkdir share #管理员权限创建share文件夹,需要你输入你的linux的密码(后面操作就不需要了)
3) 更改share文件夹的权限(方面我们的读、写、执行权限)
sudo chmod 777 share #把share文件夹的权限更改为所有人可操作
4)创建samba账户
sudo touch /etc/samba/smbpasswd #创建文件
sudo smbpasswd -a 你的用户名 #设置samba账户
(例如:sudo smbpasswd -a xaioli)
5)修改samba的配置文件
sudo vi /etc/samba/smb.conf #打开samba配置文件
在最后面添加如下内容:
[share]
path = /home/share
available = yes
valid users = xiaoli,zhangsan,lisi
browseable = yes
public =yes
writable = yes
参数说明:
(a)path:共享的目录
(b)browseable:是否允许在工作组里面(no:网上邻居看不到你的; yes:可浏览,网上邻居能搜索到)
(c)public:yes:匿名任何人都能访问,不用账号的密码; no:需要是valid users的用户才能访问;
(d)writetable:是否有可写权限,yes:具有写的权限;on:没有写的权限;
(e)valid users :只允许哪些用户登录
注意:
write list=chen //只允许chen用户写入
说明:writable=yes允许写入,当我们需要限制只有被允许用户有写入权限时,这条命令就要删除,因为该条命令权限大于你对单个用户的限制。
总结常见的samba配置及说明:
valid users = user, @group # 指定能够使用该共享资源的用户和组
invalid users = user, @group # 指定不能够使用该共享资源的用户和组
read list = user, @group # 指定只能读取该共享资源的用户和组
write list = user, @group # 指定能读取和写该共享资源的用户和组
admin list = user, @group # 指定能管理该共享资源(包括读写和权限赋予等)的用户和组
hide dot files = yes|no # 指明是否像UNIX那样隐藏以“.”号开头的文件
create mode = 0755 # 指明新建立的文件的属性,一般是0755
directory mode = 0755 # 指明新建立的目录的属性,一般是0755
sync always = yes|no # 指明对该共享资源进行写操作后是否进行同步操作
short preserve case = yes|no # 指明是否区分文件名大小写
preserve case = yes|no # 指明是否保持大小写
case sensitive = yes|no # 指明是否对大小写敏感,一般选no,不然可能引起错误
mangle case = yes|no # 指明混合大小写
default case = upper|lower # 指明缺省的文件名是全部大写还是小写
force user = testuser # 强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= testuser强制建立文件的属主是testuser,同时限制create mask = 0755,这样guest就不能删除了
wide links = yes|no # 指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用
max connections = 100 # 设定最大同时连接数
delete readonly = yes|no # 指明能否删除共享资源里面已经被定义为只读的文件。
参考:https://blog.csdn.net/spy_h/article/details/80921711
详细可以看下如下具体意义:
6) 重启samba(配置文件更改了,需要重启才能生效)
sudo /etc/init.d/smbd restart #重启软件
7) windows访问
在Linux端查询IP地址,使用命令:ifconfig
在windows打开“运行”,快捷键win+R,输入以下(注意:两个反斜杠+ip),确定
然后就是按提示,输入这个用户名和密码;出现创建的share文件夹,恭喜你啊成功创建共享目录:
希望对你有帮助。