- 一、安装软件包
- 二、修改系统配置
- 1、关闭SELINUX
- 2、开通防火墙端口
- 3、启用smb服务
- 三、Samba服务的参数文件
- 四、配置任何人都可以访问的共享文件系统
- 1、创建测试目录和文件
- 2、配置/etc/samba/smb.conf文件
- 3、重启samba服务,验证结果
- 4、注意事项
- 五、配置需要用户名/密码才能访问的共享文件系统
- 六、smb.conf文件详解
- 七、版权声明
我们知道Windows系统之间可以共享文件系统和打印机,Linux系统采用Samba来实现共享文件系统和打印机的功能。通过SMB协议,Windows和Linux系统之间的文件系统和打印机可以互相访问。
SMB(Server Messages Block)协议是一种在局域网上共享文件系统和打印机的TCP应用层协议,它为局域网内的不同计算机之间提供文件系统和打印机的共享服务。SMB协议是客户/服务器型,Samba是在Linux系统上实现SMB协议的一个免费软件。
Samba涉及到四个软件包,有些功能您可能用不上,但是安装了也不会有问题。
1)samba:Samba服务器。
2)samba-client:Samba客户端。
3)samba-common:Samba服务器和客户端相关的软件。
4)cifs-utils:通用的Internet文件系统实用程序,支持与Windows、OS X和其他Unix系统进行跨平台文件共享。
修改/etc/selinux/config文件,把SELINUX参数的值改为disabled。
重启linux系统或执行 setenforce 0 使修改马上生效。
Samba 涉及到以四个端口:UDP 137、UDP 138、TCP 139、TCP 445。
1)防火墙开通samba服务。
2)重启防火墙。
Samba的服务名是smb。
1)启动smb服务。
2)把smb服务设置为开机自启动。
Samba服务的参数文件是/etc/samba/smb.conf,在CentOS7版本的系统中,该文件的原始内容如下:
[global]组是全局参数,根据不同的需求,我们会修改部分参数。
[homes]组是用户主目录参数,我们不关心它。
[printers]和[print$]组是共享打印机参数,我们不关心它。
testparm命令可以测试smb.conf配置是否正确。
testparm -v命令可以详细的列出smb.conf支持的配置参数。
smb.conf文件的配置比较麻烦,网上有很多资料,但大部分不准确。我先不介绍smb.conf文件中参数的含义,我用实际应用的场景来介绍它的配置。
共享文件系统的应用场景主要有两种:
1)匿名方式:不需要输入用户名和密码,任何人都可以访问共享文件系统;
2)用户名/密码方式:需要用户名和密码成功登录后才可以访问共享文件系统。
例如您想把服务器/tmp/docs目录共享出来。
执行以下脚本,创建/tmp/docs目录,生成测试和文件,并指定用户和组。
在[global]组中增加以下行:
在文件最后增加以下行:
[docs]为待共享的文件系统起个名称,不要求与目录名相同,在windows下将看到这个名称。
comment参数是说明文字。
path是待共享的Linux目录。
public指定guest用户可以访问。
read only是否为只读,yes或no。
完整的/etc/samba/smb.conf文件的内容如下:
和打印机相关的参数我删除掉了,留着也没用。
每次修改/etc/samba/smb.conf文件后,要重启smb服务。
在windows上的我的电脑中,输入\服务器IP,不需要输入服户名和密码就可以访问Linux共享文件系统,如下:
您可以修改docs目录中的文件,也可以创建新的目录和文件。
1)security参数要用user,不能用share,share已不支持;
2)map to guest = Bad User,这个配置的意思是将所有用户都映射成guest用户,所以访问共享文件时就不再需要用户名和密码了。
3)待共享的目录和文件的用户和组要设置成nobody。
4)/etc/samba/smb.conf文件中,global只能一组,共享目录可以配置多个。
操作系统用户可以是普通的用户,也可以是简单的、无需登录的、没有HOME目录的用户,如下:
执行以下脚本,创建/tmp/docs目录,生成测试和文件,并指定用户和组。
执行以上命令后,按系统提示两次输入密码,注意,输入的是用于登录Samba服务器的密码,与操作系统的密码没有关系。
smbpasswd 命令是用于维护 Samba 服务器的用户帐号的,具体如下:
1)添加 Samba 用户帐号。
2)删除 Samba 用户帐号。
3)禁用 Samba 用户帐号。
4)启用 Samba 用户帐号。
/etc/samba/smb.conf文件的内容如下:
注意:在/etc/samba/smb.conf文件中,global只能一组,共享目录可以配置多个。
每次修改/etc/samba/smb.conf文件后,要重启smb服务。
在windows上的我的电脑中,输入\服务器IP后,按提示输入用户名和密码就可以访问Linux共享文件系统,如下:
smb.conf文件的参数非常多,也很麻烦,如果您有更多的需求,请阅读/etc/samba/smb.conf.example文件,或man 5 smb.conf查看帮助。
我从网上找了一些说明文字,供大家参考,但是,我不保证这些说明文字是正确的,我没有测试验证。
C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道
如果这篇文章对您有帮助,请点赞、收藏、分享支持我们,我们也将继续创作更多的文章,谢谢。
来源:https://www.cnblogs.com/wucongzhou/p/12614240.html
到此这篇samba共享配置(samba共享文件)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/15576.html