samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源
samba监听端口
tcp | udp |
---|---|
134 | 137 |
445 | 138 |
samba进程:
进程 | 对应 |
---|---|
nmbd | 对应netbios |
smbd |
1.搭建匿名用户共享服务器
2.搭建用户认证共享服务器
要求:
1.不论是匿名用户还是用户认证共享,均要在客户机验证结果
2.用户认证共享需要映射系统用户为一个虚拟用户
服务器端安装samba服务
[root@client ~]# yum -y install samba-client //客户端安装samba-client
[root@server ~]# yum -y install samba* //服务器安装samba
[root@server ~]# systemctl enable smb nmb // 开机自动启动
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.
[root@server ~]# systemctl start smb nmb //启动
测试配置文件是否有语法错误 testparm
[root@server ~]# testparm //测试配置文件是否有语法错误,以及显示最终生效的配置:使用testparm命令
//交互式数据访问
smbclient -L HOST -U USERNAME
smbclient //SERVER/shared_name -U USERNAME
[root@client ~]# smbclient -L 192.168.11.130 -U jiji
//在客户机安装samba-client包
[root@client ~]# yum -y install samba-client
//查看samba服务器有哪些共享资源
[root@client ~]# smbclient -L 192.168.11.130 -U jiji
Enter SAMBA\jiji's password:
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba 4.10.4)
jiji Disk Home Directories
SMB1 disabled -- no workgroup available
[root@client ~]#
//交互式访问某共享资源
[root@client ~]# smbclient //192.168.11.130/jiji -U jiji
Enter SAMBA\jiji's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Tue Oct 13 15:19:37 2020
.. D 0 Tue Oct 13 15:19:37 2020
.bash_logout H 18 Wed Apr 11 08:53:01 2018
.bash_profile H 193 Wed Apr 11 08:53:01 2018
.bashrc H 231 Wed Apr 11 08:53:01 2018
17811456 blocks of size 1024. 16536392 blocks available
smb: \> exit // quit退出
//手动挂载的方式访问
[root@client ~]# mount -t cifs //192.168.11.130/jiji /media/ -o username=jiji,password=123123
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 963M 0 963M 0% /dev
tmpfs 980M 0 980M 0% /dev/shm
tmpfs 980M 8.7M 972M 1% /run
tmpfs 980M 0 980M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17G 1.7G 16G 10% /
/dev/nvme0n1p1 1014M 160M 855M 16% /boot
tmpfs 196M 0 196M 0% /run/user/0
//192.168.11.130/jiji 17G 1.3G 16G 8% /media
[root@client ~]# cd /media
[root@client media]# ls
[root@client media]#
//自动挂载
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 963M 0 963M 0% /dev
tmpfs 980M 0 980M 0% /dev/shm
tmpfs 980M 8.7M 972M 1% /run
tmpfs 980M 0 980M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17G 1.7G 16G 10% /
/dev/nvme0n1p1 1014M 160M 855M 16% /boot
tmpfs 196M 0 196M 0% /run/user/0
[root@client ~]# vim /etc/fstab
//192.168.11.130/jiji /media cifs defaults,username=jiji,password=123123 0 0
[root@client ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
Filesystem Size Used Avail Use% Mounted on
devtmpfs 963M 0 963M 0% /dev
tmpfs 980M 0 980M 0% /dev/shm
tmpfs 980M 8.7M 972M 1% /run
tmpfs 980M 0 980M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17G 1.7G 16G 10% /
/dev/nvme0n1p1 1014M 160M 855M 16% /boot
tmpfs 196M 0 196M 0% /run/user/0
//192.168.11.130/jiji 17G 1.3G 16G 8% /media
配置用户认证
//使用yum命令安装samba服务器
[root@server ~]# yum -y install samba-*
//映射共享目录:
//创建用户nini
[root@server ~]# useradd -r -M -s /sbin/nologin nini
//为nini用户创建smb共享密码:
[root@server ~]# smbpasswd -a nini
New SMB password:
Retype new SMB password:
Failed to add entry for user nini.
映射nini用户为share用户/etc/samba/smbusers文件中添加
[root@server ~]# cd /etc/samba/
[root@server samba]# vim smbusers
nini= share
//在全局配置中添加如下内容:
[root@server ~]# vim /etc/samba/smb.conf
[global]
workgroup = SAMBA
security = user
username map = /etc/samba/smbusers //添加此行内容
//创建一个共享目录nini
[root@server samba]# vim smb.conf
[root@server samba]# mkdir /opt/smb/
[root@server samba]# chown -R nini /opt/smb/
[root@server samba]# vim smb.conf
[nini]
path = /opt/smb
browseable = Yes
guest ok = yes
writable = yes
write list = share
public = yes
重新启动samba服务
[root@server samba]# systemctl restart smb nmb
[root@client ~]# smbclient -L 192.168.11.130 -U share
Enter SAMBA\share's password:
Sharename Type Comment
--------- ---- -------
nini Disk
IPC$ IPC IPC Service (Samba 4.10.4)
SMB1 disabled -- no workgroup available
配置匿名共享
[root@server samba]# mkdir /opt/anan
[root@server samba]# ll /opt/
total 0
drwxr-xr-x. 2 root root 6 Oct 13 16:51 anan
drwxr-xr-x. 2 root root 6 Oct 13 16:19 nini
drwxr-xr-x. 2 nini root 6 Oct 13 16:15 smb
[root@server samba]# chmod 777 /opt/anan/
[root@server samba]# ll /opt/
total 0
drwxrwxrwx. 2 root root 6 Oct 13 16:51 anan
drwxr-xr-x. 2 root root 6 Oct 13 16:19 nini
drwxr-xr-x. 2 nini root 6 Oct 13 16:15 smb
[root@server samba]# vim smb.conf
[share]
path =/opt/anan
browseable = yes
guest ok = yes
public = yes
writable = yes
[root@server samba]# systemctl restart smb nmb//重启服务
将samba服务器的共享资源挂载到客户机本地
[root@localhost ~]# mount -t cifs //172.16.12.128/wangqing /opt/smb/ -o username='Bad User'
[root@client ~]# smbclient -L 192.168.11.130 -U 'Bad User'
Enter SAMBA\Bad User's password:
Sharename Type Comment
--------- ---- -------
nini Disk
share Disk
IPC$ IPC IPC Service (Samba 4.10.4)
SMB1 disabled -- no workgroup available
[root@client ~]#
[root@client ~]# vim /etc/fstab 自动挂载写入配置文件
//192.168.11.130/jiji /media cifs defaults,username=jiji,password=123123 0 0
[root@client ~]# mount -a
[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 963M 0 963M 0% /dev
tmpfs 980M 0 980M 0% /dev/shm
tmpfs 980M 8.7M 972M 1% /run
tmpfs 980M 0 980M 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17G 1.7G 16G 10% /
/dev/nvme0n1p1 1014M 160M 855M 16% /boot
tmpfs 196M 0 196M 0% /run/user/0
//192.168.11.130/jiji 17G 1.3G 16G 8% /media
//192.168.11.130/share 17G 1.3G 16G 8% /media
samba 用户
账号 | 密码 |
---|---|
都是系统用户/etc/passwd | samba服务自有密码文件通过smbpasswd-a username命令设置 |
//smbpasswd命令:
-a sys_user //添加用户为samba用户为其设置密码
-d // //禁用用户帐号
-e //启用用户帐号
-x //删除用户帐号