一、samba服务简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
Linux ——>cifs
windows系统共享文件时用到的协议smb
smb是由miscrosoft+sun
1.2samba基本信息
服务启动脚本: smb.service
主配置目录: /etc/samba
主配置文件: /etc/samba.conf
安全上下文: samba_share_t
端口: 139 445
安装包: samba samba-common
2.samba的安装与启用
[root@dns_node1 ~]# dnf install samba samba-common samba-client -y
安装软件包
测试:
[root@tese ~]# dnf install samba-client -y(当输入root密码时不需要输入密码直接回车)
三、samba用户的建立
四、samba用户访问加目
在dns_node1中设置
在tese测试
六、samba的访问控制
[root@dns_node1 ~]# vim /etc/samba/smb.conf
[root@dns_node1 ~]# systemctl restart smb.service
6.1
测试:
6.2
[root@dns_node1 ~]# vim /etc/samba/smb.conf
[root@dns_node1 ~]# systemctl restart smb.service
七、samba的常用配置参数
writable = yes ##可写
write list = westos ##指定用户可写
write list = +westos ##指定组可写
write list = @westos
valid users = lee ##指定访问用户
valid users = +lee|@lee ##指定访问组
[root@dns_node1 ~]# vim /etc/samba/smb.conf
[root@dns_node1 ~]# systemctl restart smb.service
[root@dns_node1 ~]# chown westos.westos /westosdir 更改目录所有人所有组
[root@dns_node1 ~]# ls -ld /westosdir/
drwxr-xr-x. 2 westos westos 63 Mar 18 12:24 /westosdir/
[root@dns_node1 ~]# usermod -G westos lee 指定附加组westos
[root@dns_node1 ~]# id westos
uid=1001(westos) gid=1001(westos) groups=1001(westos)
[root@dns_node1 ~]# id lee
uid=1002(lee) gid=1002(lee) groups=1002(lee),1001(westos)
[root@tese mnt]# mount //192.168.1.55/westosdir -o username=westos,password=westos /mnt/
mount: /mnt: //192.168.1.55/westosdir already mounted on /mnt.
[root@tese mnt]# ls
westosfile1 westosfile2 westosfile3
browseable = yes|no ##是否隐藏共享
map to guest = bad user全局设定中
guest ok = yes 允许匿名用户访问 (注释掉不可访问)
admin users = lee 指定此共享的超级用户身份呢
[root@dns_node1 ~]# systemctl restart smb.service
[root@dns_node1 ~]# vim /etc/samba/smb.conf
八、samba的多用户挂载
8.1在客户端如果用普通的挂载方式 没有经过用户验证的用户也可以访问samba服务
8.2使没有经过用户认证的用户必须经过验证才可读取文件并编写
建立认证文件
[root@tese ~]# vim /root/smbpass
[root@tese ~]# cat /root/smbpass
username=westos
password=westos
[root@tese ~]# dnf search cifs搜索软件包
[root@tese ~]# dnf install cifs-utils.x86_64 -y安装
[root@tese ~]# mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //192.168.1.55/westosdir /mnt/ 挂载
[westos@tese ~]$ cifscreds add -u lee 192.168.1.55 认证
当遇到此报错信息
[westos@test /]$ cifscreds add -u lee
192.168.0.20 Key search failed: Key has expired
执行以下两条命令解决报错
[westos@test /]$ cifscreds add -u lee -d 192.168.0.20
Password:
[westos@test ~]$ cifscreds clearall
知识点补充
全局设定工作组