samba
1.samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
samba和nfs类似,也是在网络中实现文件共享的一种服务,但是nfs不支持Windows平台,而samb能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括Windows。
2.samba监听的端口
- TCP:139,445
- UDP:137,138
3.samb用户
-
账号:系统用户/etc/passwd
-
密码:Samba服务自有密码文件通过smbpasswd -a USERNAME命令设置
- //smbpasswd命令: -a Sys_User //添加系统用户为samba用户并为其设置密码 -d //禁用用户帐号 -e //启用用户帐号 -x //删除用户帐号 [root@xaii-server ~]# yum -y install samba-* [root@xaii-server ~]# useradd bebejo [root@xaii-server ~]# sambapasswd -a bebejo [root@xaii-server ~]# smbpasswd -a bebejo New SMB password: Retype new SMB password: Added user bebejo.
samba安全级别
- user: 基于本地的验证
- server: 由另一台指定的服务器对用户身份进行认证
- domain: 由域控进行身份验证
samba配置文件
/etc/samba/smb.conf(主配置文件)
- [global] 全局配置,此处的设置项对整个samba服务器都有效
- [homes] 宿主目录共享设置,此处用来设置Linux用户的默认共享,对应用户的宿主目录。
当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录中 - [printers] 打印机共享设置
实例
配置用户认证共享:
//使用yum命令安装samba服务器:
[root@xaii-server ~]# yum -y install samba-*
//映射共享目录:
//创建用户bebejo:
[root@xaii-server ~]# useradd -M bebejo
//为bebejo用户创建smb共享密码:
[root@xaii-server ~]# smbpasswd -a bebejo
New SMB password:
Retype new SMB password:
Added user bebejo.
//假设这里映射bebejo用户为nmsl用户,那么就要在/etc/samba/smbusers文件中添加如下内容:
[root@xaii-server ~]# cat /etc/samba/smbusers
bebejo = nmsl
//在全局配置中添加如下内容:
[global]
workgroup = SAMBA
security = user
username map = /etc/samba/smbusers //添加此行内容
//创建一个共享目录bebejo
[root@xaii-server ~]# mkdir /opt/bebejo
[root@xaii-server ~]# chown -R bebejo.bebejo /opt/bebejo
[root@xaii-server ~]#chmod 777 /opt/bebejo
[root@xaii-server ~]# cd /opt
[root@xaii-server opt]# ll
drwxrwxrwx. 2 bebejo bebejo 6 1月 15 07:13 bebejo
//配置共享
[root@xaii-server opt]# vim /etc/samba/smb.conf
[bebejo]
comment = bebejo
path = /opt/bebejo
browsable = yes
guest ok = yes
writable = yes
write list = nmsl
public = yes
//启动、重启、重新加载、开机自动启动
[root@xaii-server ~]# systemctl start smb
[root@xaii-server ~]# systemctl restart smb
[root@xaii-server ~]# systemctl reload smb
[root@xaii-server ~]# systemctl enable smb
//在客户机查看samba服务器有哪些共享资源
[root@xaii-client ~]# smbclient -L 192.168.157.33 -U nmsl
Enter SAMBA\nmsl's password:
Domain=[XAII-SERVER] OS=[Windows 6.1] Server=[Samba 4.6.2]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
bebejo Disk bebejo
IPC$ IPC IPC Service (Samba 4.6.2)
Domain=[XAII-SERVER] OS=[Windows 6.1] Server=[Samba 4.6.2]
Server Comment
--------- -------
Workgroup Master
--------- -------
SAMBA XAII33
//将samba服务器的共享资源wangqing挂载到客户机本地
[root@xaii-client ~]# mount -t cifs //192.168.157.33/bebejo /opt/smb -o username=nmsl,password=cheers
[root@xaii-client ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 17G 1.1G 16G 7% /
devtmpfs 901M 0 901M 0% /dev
tmpfs 912M 0 912M 0% /dev/shm
tmpfs 912M 8.5M 904M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1014M 143M 872M 15% /boot
tmpfs 183M 0 183M 0% /run/user/0
/dev/loop0 3.8G 3.8G 0 100% /mnt
//192.168.157.33/bebejo 17G 1.4G 16G 8% /opt/smb
//在客户机上进入共享目录创建新文件
[root@xaii-client smb]# touch bebejo
[root@xaii-client smb]# ll
-rw-r--r-- 1 runtime01 runtime01 0 1月 15 18:23 bebejo
//在windows上验证:
//在服务端验证
[root@xaii-server opt]# cd bebejo/
[root@xaii-server bebejo]# ll
-rw-r--r--. 1 bebejo bebejo 0 1月 15 07:23 bebejo
drwxr-xr-x. 2 xaii xaii 6 1月 15 07:45 我来了
配置匿名共享:
//创建smb用户
[root@xaii-server ~]# useradd -M messi
[root@xaii-server ~]# smbpasswd -a messi
New SMB password:
Retype new SMB password:
Added user messi.
//在全局配置中添加如下内容:
[global]
workgroup = SAMBA
security = user
map to guest = Bad User //添加此行内容
//创建共享目录messi
[root@xaii-server ~]# mkdir /opt/messi
[root@xaii-server ~]# chmod 777 /opt/messi
[root@xaii-server ~]# ll /opt
drwxrwxrwx. 2 root root 6 1月 15 07:27 messi
//配置共享
[root@xaii-server ~]# vim /etc/samba/smb.conf
[messi]
comment = messi
path = /opt/messi
browsable = yes
guest ok = yes
writable = yes
public = yes
//启动smb服务:
[root@xaii-server ~]# systemctl start smb
//在客户机查看samba服务器有哪些共享资源
[root@xaii-client ~]# smbclient -L 192.168.157.33 -U 'Bad User'
Enter SAMBA\Bad User's password:
OS=[Windows 6.1] Server=[Samba 4.6.2]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
bebejo Disk bebejo
IPC$ IPC IPC Service (Samba 4.6.2)
messi Disk messi
OS=[Windows 6.1] Server=[Samba 4.6.2]
Server Comment
--------- -------
Workgroup Master
--------- -------
SAMBA XAII33
//将samba服务器的共享资源wangqing挂载到客户机本地
[root@xaii-client ~]# mount -t cifs //192.168.157.33/messi /opt/samba -o username='Bad User'
[root@xaii-client ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root xfs 17G 1.1G 16G 7% /
devtmpfs devtmpfs 901M 0 901M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 8.5M 904M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 143M 872M 15% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/loop0 iso9660 3.8G 3.8G 0 100% /mnt
//192.168.157.33/messi cifs 17G 1.4G 16G 8% /opt/samba
//在客户机上进入共享目录创建新文件
[root@xaii-client ~]# cd /opt/samba/
[root@xaii-client samba]# ls
[root@xaii-client samba]# touch wolaile
[root@xaii-client samba]# ll
-rw-r--r-- 1 nobody nobody 0 1月 15 18:38 wolaile
//在windows上验证
//在服务端验证
[root@xaii-server ~]# cd /opt/messi/
[root@xaii-server messi]# ll
-rw-r--r--. 1 nobody nobody 0 1月 15 07:38 wolaile
drwxr-xr-x. 2 xaii xaii 6 1月 15 07:43 我又来了
RHCE题库Samba服务:
//修改工作组
[root@xaii-server ~]# cat /etc/samba/smb.conf|grep workgroup
workgroup = STAFF
//创建共享目录
[root@xaii-server ~]# mkdir /common
[root@xaii-server ~]# tail -4 /etc/samba/smb.conf
[common]
path = /common
browsable = yes
//添加natasha用户
[root@xaii-server ~]# useradd -M natasha
[root@xaii-server ~]# smbpasswd -a natasha
New SMB password:
Retype new SMB password:
Added user natasha.
//给natasha用户设置acl
[root@xaii-server ~]# setfacl -m u:natasha:r-x /common
//设置防火墙
[root@xaii-server ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.157.0/24 service name=samba accept' --permanent
success
[root@xaii-server ~]# firewall-cmd --add-rich-rule 'rule family=ipv4 source address=192.168.157.0/24 service name=samba-client accept' --permanent
success
[root@xaii-server ~]# setsebool -P samba_enable_home_dirs on
[root@xaii-server ~]# chcon -Rt samba_share_t /common
//重载防火墙,重启samba服务
[root@xaii-server /]# firewall-cmd --reload
success
[root@xaii-server /]# systemctl restart smb
[root@xaii-server /]# systemctl reload smb
//在客户端进行挂载
[root@xaii-client ~]# mount -t cifs //192.168.157.33/common /rhce -o username=natasha,password=cheers
[root@xaii-client ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
//192.168.157.33/common 17G 1.4G 16G 8% /rhce
//步骤同十三 题
[root@xaii-server ~]# mkdir /storage
[root@xaii-server ~]# chcon -Rt samba_share_t /storage/
[root@xaii-server ~]# vim /etc/samba/smb.conf
[root@xaii-server ~]# tail -3 /etc/samba/smb.conf
[storage]
path = /storage
browsable = yes
//创建用户
[root@xaii-server ~]# useradd -M sarah
[root@xaii-server ~]# useradd -M kitty
[root@xaii-server ~]# smbpasswd -a sarah
New SMB password:
Retype new SMB password:
Added user sarah.
[root@xaii-server ~]# smbpasswd -a kitty
New SMB password:
Retype new SMB password:
Added user kitty.
//设置facl
[root@xaii-server ~]# setfacl -m u:sarah:r-x /storage/
[root@xaii-server ~]# setfacl -m u:kitty:rwx /storage/
//添加有效用户
[root@xaii-server ~]# tail -6 /etc/samba/smb.conf
[share]
path = /storage
browsable = yes
valid users = sarah,kitty
writable = no
write list = kitty
//重启服务
[root@xaii-server ~]# systemctl restart smb
//客户端验证
[root@xaii-client ~]# mount -a
[root@xaii-client ~]# cat /etc/fstab
//192.168.157.33/share /rhce_2 cifs multiuser,username=sarah,password=cheers,sec=ntlmssp 0 0
[root@xaii-client ~]# df -h
//192.168.157.33/share 17G 1.4G 16G 8% /rhce_2
//需要在客户端切换至一个普通用户来验证
[root@xaii-client ~]# yum -y install cifs-utils*
[root@xaii-client ~]# su - runtime01
上一次登录:六 1月 12 02:44:25 CST 2019pts/0 上
[runtime01@xaii-client ~]$ cifscreds add -u kitty 192.168.157.33
Password: //kitty用户的密码
[runtime01@xaii-client ~]$ df -h //只要没报错就是切换成功
//已经可以进入挂载点创建文件了
[runtime01@xaii-client ~]$ cd /rhce_2
[runtime01@xaii-client rhce_2]$ touch aa
[runtime01@xaii-client rhce_2]$ ll
总用量 0
-rw-r--r-- 1 runtime05 runtime05 0 1月 16 01:40 aa