允许 Linux、Unix 系统与 Windows 系统之间进行文件和打印机共享,使得不同操作系统的用户能够方便地访问和共享资源,就像在同一局域网中的 Windows 计算机之间共享资源一样。
server01安装Samba服务器
[root@server ~]# rpm -qa | grep samba
[root@server admin]# mount /dev/cdrom /media/
[root@server admin]# dnf info samba //如果安装会看到对应信息
[root@server admin]# dnf clean all
[root@server admin]# dnf install samba -y //安装成功后再使用第一条命令[root@server admin]# systemctl start smb
[root@server admin]# systemctl enable smb
配置user服务器
[root@server ~]# vim /etc/samba/smb.conf
创建共享目录,并在其中建立测试文件
[root@server ~]# mkdir /companydata/sales -p //新建文件
带-p选项:没有父目录会先创建
[root@server ~]# cd /companydata/
[root@server companydata]# ls //确认创建没问题[root@server companydata]# cd sales/ //切换到该目录
[root@server sales]# touch test_share.tar //新建一个压缩包
[root@server sales]# ls
test_share.tar
添加销售部用户和组并添加相应的Samba账号
[root@server sales]# groupadd sales //创建用户组sales
[root@server sales]# useradd -g sales sale1 //创建用户sale1关联组
[root@server sales]# useradd -g sales sale2 //创建用户sale2关联组[root@server sales]# useradd test_user1 //创建用户test_user1
[root@server sales]# tail /etc/passwd //查看
[root@server ~]# passwd sale1 (密码qweasd123)
[root@server ~]# passwd sale2
[root@server ~]# passwd test_user1
为销售部成员添加相应Samba账号
[root@server ~]# smbpasswd -a sale1
New SMB password:qweasd123
Retype new SMB password:qweasd123
Added user sale1.[root@server ~]# smbpasswd -a sale2
修改Samba主配置文件
[root@server ~]# vim /etc/samba/smb.conf
[global]
workgroup = SAMBA
server string = File Server[sales]
comment=sales
path=/companydata/sales
writable = yes
browseable = yes
valid users = @sales
设置本地权限、SELinux和防火墙
设置共享目录的本地系统权限和属组
[root@server ~]# chmod 770 /companydata/sales/ -R
[root@server ~]# chown :sales /companydata/sales/ -R
将SELinux的模式设置为宽容模式,用于测试
[root@server ~]# setenforce 0 //设置为宽容模式
[root@server ~]# getenforce //查看
Permissive
在防火墙中允许Samba服务器
[root@server ~]# firewall-cmd --permanent --add-service=samba //允许Samba
[root@server ~]# firewall-cmd --reload //重启生效
[root@server ~]# firewall-cmd --list-all //查看服务
重新加载Samba服务并设置开机自启
[root@server ~]# systemctl restart smb
[root@server ~]# systemctl enable smb
在Linux客户端配置访问Samba服务器
先安装yum仓库
[root@client ~]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# rm -f *
[root@client yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@client yum.repos.d]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e'/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@client yum.repos.d]# mount /dev/cdrom /media/
安装Samba-client和cifs-utils
[root@client yum.repos.d]# dnf install samba-client cifs-utils -y
使用smbclient登录
[root@client yum.repos.d]# smbclient -L 192.168.111.100
[root@client yum.repos.d]# smbclient -L 192.168.111.100 -U sale2%qweasd123
[root@client ~]# smbclient //192.168.111.100/sales -U sale2%qweasd123
smb: \> ls
smb: \> mkdir testdir
smb: \> lssmb: \> exit