CentOS7配置samba共享文件系统

我们知道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系统进行跨平台文件共享。

yum -y install samba samba-client samba-common cifs-utils

二、修改系统配置

1、关闭SELINUX

修改/etc/selinux/config文件,把SELINUX参数的值改为disabled。

SELINUX =disabled

重启linux系统或执行 setenforce 0 使修改马上生效。

2、开通防火墙端口

Samba 涉及到以四个端口:UDP 137、UDP 138、TCP 139、TCP 445。

1)防火墙开通samba服务。

firewall-cmd --zone=public --add-service=samba --permanent

2)重启防火墙。

systemctl restart firewalld

3、启用smb服务

Samba的服务名是smb。

1)启动smb服务。

systemctl start smb

2)把smb服务设置为开机自启动。

systemctl enable smb

三、Samba服务的参数文件

Samba服务的参数文件是/etc/samba/smb.conf,在CentOS7版本的系统中,该文件的原始内容如下:

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global]
        workgroup = SAMBA
        security = user
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes
[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No
[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775

[global]组是全局参数,根据不同的需求,我们会修改部分参数。

[homes]组是用户主目录参数,我们不关心它。

[printers]和[print$]组是共享打印机参数,我们不关心它。

testparm命令可以测试smb.conf配置是否正确。

testparm -v命令可以详细的列出smb.conf支持的配置参数。

smb.conf文件的配置比较麻烦,网上有很多资料,但大部分不准确。我先不介绍smb.conf文件中参数的含义,我用实际应用的场景来介绍它的配置。

共享文件系统的应用场景主要有两种:

1)匿名方式:不需要输入用户名和密码,任何人都可以访问共享文件系统;

2)用户名/密码方式:需要用户名和密码成功登录后才可以访问共享文件系统。

四、配置任何人都可以访问的共享文件系统

例如您想把服务器/tmp/docs目录共享出来。

1、创建测试目录和文件

执行以下脚本,创建/tmp/docs目录,生成测试和文件,并指定用户和组。

mkdir /tmp/docs  # 创建/tmp/docs目录。
ls /usr > /tmp/docs/usr.txt  # 把ls /usr的结果输出到/tmp/docs/usr.txt文件。
ls /etc > /tmp/docs/etc.txt  # 把ls /etc的结果输出到/tmp/docs/etc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C语言技术网-码农有道

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值