1、安装samba服务
[root@docker ~]# yum -y install samba
2、创建共享目录并设置
[root@docker ~]# mkdir /data/sambashare -p
#备份samba配置文件
[root@docker ~]# cp /etc/samba/smb.conf /etc/samba/smb.conf.20240524
2.1、编辑samba.comf
路径:/etc/samba/smb.conf
[root@docker ~]# vim /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
map to guest = bad user
[samba_test]
path = /data/sambashare
public = no
waild users = seven
write list = seven
printable = no
read only = no
3、创建用户并且分配权限
#创建系统用户
[root@docker ~]# useradd seven
#创建samba用户并设置密码123456
[root@docker ~]# smbpasswd -a seven
3.1、修改共享目录权限
[root@docker data]# chgrp seven /data/sambashare/
[root@docker data]# chmod 774 /data/sambashare/
4、重启samba服务
[root@docker data]# systemctl restart smb
#设置开机自启
[root@docker data]# systemctl enable smb
#查看samba状态
[root@docker data]# systemctl status smb
#开放防火墙,并重启防火墙(如果防火墙已关闭,可忽略)
[root@docker data]# firewall-cmd --permanent --zone=public --add-service=samba
[root@docker data]# firewall-cmd --reload
#永久关闭SELINUX
[root@docker data]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@docker data]# setenforce 0
5、windows访问共享目录
按win+R,输入“\\你的samba服务器的IP地址”
看到共享目录,输入账号密码即可以访问。
6、samba.conf配置详解
全局变量 | workgroup = SAMBA | 指定samba服务器所在的工作组名称 |
security = user | 使用系统上的用户账号和密码进行身份验证 | |
map to guest = bad user | 如果客户端用户无法通过身份验证,该用户没有访问权限 | |
局部变量 | guest ok = yes | 指定是否允许匿名访问Samba共享 |
public = yes | 设置是否任何人都可访问,不受权限控制 | |
guest account = nobody | 指定匿名访问共享时使用的用户账号 | |
valid users = seven,seven2 | 指定允许访问共享的用户列表 | |
read only = yes | 指定共享是否只读 | |
writeable = yes | 指定共享是否可写 | |
browseable = yes | 指定共享是否可浏览 | |
path = /data/sambashare | 指定共享的路径 | |
create mask = 0664 | 指定新创建文件的权限掩码 | |
directory mask = 0775 | 指定新创建目录的权限掩码 | |
hosts allow = 192.168.7.0/24 | 指定允许访问Samba服务器的主机列表 | |
hosts deny = 192.168.1.100 | 指定禁止访问Samba服务器的主机列表 | |
printable = yes | 用于指定共享的打印机是否可打印 |