Samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
环境
三台Redhat7.0虚拟机,一台为服务器server用于提供yum源及相关证书下载。两台客户端system1和system2用于安装配置Samba及验证。
安装Samba
安装Samba软件包
[root@system1 ~]# yum install samba samba‐client ‐y
设置开机自启动(RHCE考试中一定要设置)
[root@system1 ~]# systemctl enable smb.service nmb.service
设定防火墙(RHCE考试防火墙开着必须设置,自己做实验可以关掉防火墙)
[root@system1 ~]# firewall‐cmd ‐‐permanent ‐‐add‐service=samba
[root@system1 ~]# firewall‐cmd ‐‐reload
编辑配置文件
[root@system1 Desktop]# vim /etc/samba/smb.conf
workgroup = STAFF #工作组
[common] #共享名
path = /common #共享路径
browseable = yes #是否允许被浏览
hosts allow = 172.24.8. #允许访问的网段
[devops]
path = /devops
browseable = yes
hosts allow = 172.24.8.
writable = no #是否允许写入
write list = akira #允许写入的用户
创建共享目录
[root@system1 Desktop]# mkdir /common /devops
设定 selinux 上下文
[root@system1 Desktop]# semanage fcontext -a -t samba_share_t "/common(/.*)?"
[root@system1 Desktop]# semanage fcontext -a -t samba_share_t "/devops(/.*)?"
[root@system1 Desktop]# restorecon -Rv /common /devops
创建 samba 用户
[root@system1 Desktop]# smbpasswd -a andy
New SMB password:
Retype new SMB password:
重启服务
[root@system1 ~]# systemctl restart smb nmb
在system2上安装Samba客户端
[root@system2 ~]# yum install samba‐client ‐y
验证system1上配置的Samba是否生效
[root@system2 Desktop]# smbclient -L //172.24.8.11 -U andy
Enter andy's password:
在system1上创建用户
[root@system1 Desktop]# smbpasswd -a andy #以读的方式访问共享
New SMB password:
Retype new SMB password:
[root@system1 Desktop]# smbpasswd -a silene #以写的方式访问共享
New SMB password:
Retype new SMB password:
[root@system1 Desktop]# smbpasswd -a akira
New SMB password:
Retype new SMB password:
system2上安装cifs用于挂载Samba
[root@system2 ~]# yum install cifs‐utils‐y
建立挂载点
[root@system2 Desktop]# mkdir /mnt/dev
在system2中编辑 fstab 增加持久挂载
[root@system2 ~]# vim /etc/fstab
//system1/devops /mnt/dev cifs defaults,multiuser,username=silene,password=redhat,sec=ntlmssp 0 0
挂载
[root@system2 Desktop]# mount -a
验证是否挂载成功
[root@system2 Desktop]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 3.1G 6.7G 32% /
devtmpfs 765M 0 765M 0% /dev
tmpfs 773M 140K 773M 1% /dev/shm
tmpfs 773M 8.9M 765M 2% /run
tmpfs 773M 0 773M 0% /sys/fs/cgroup
/dev/sdb1 2.0G 6.2M 1.9G 1% /mnt/data
//system1/devops 9.8G 3.3G 6.5G 34% /mnt/dev
system1:/public 9.8G 3.3G 6.5G 34% /mnt/nfsmount
system1:/protected 9.8G 3.3G 6.5G 34% /mnt/nfssecure
验证不同用户的读写是否生效
[root@system2 Desktop]# su - silene
su: warning: cannot change directory to /home/ldap/silene: No such file or directory
mkdir: cannot create directory '/home/ldap': Permission denied
-bash-4.2$ cd /mnt/dev
-bash-4.2$ cifscreds add 172.24.8.11 #添加cifs认证
Password:
-bash-4.2$ touch test
touch: cannot touch ‘test’: Permission denied
silene用户无权限
[root@system2 Desktop]# su - akira
Last login: Thu Apr 25 23:02:09 CST 2019 on pts/0
su: warning: cannot change directory to /home/ldap/akira: No such file or directory
mkdir: cannot create directory '/home/ldap': Permission denied
-bash-4.2$ cd /mnt/dev
-bash-4.2$ ls
ls: reading directory .: Permission denied
-bash-4.2$ cifs
cifscreds cifsdd cifs.idmap cifsiostat cifs.upcall
-bash-4.2$ cifscreds add 172.24.8.11
Password:
-bash-4.2$ touch test
-bash-4.2$ ll
total 12
-rw-r--r--+ 1 akira akira 0 Apr 25 22:21 1
-rw-r--r--+ 1 akira akira 0 Oct 14 22:13 test
-rw-rw-r--+ 1 akira akira 0 Apr 25 22:05 test1
可以看到akira用户可以写入,因为在system1中设置akira可写入
以上就是Samba共享的配置,也是RHCE考试Samba配置题,感兴趣的小伙伴快动手实验吧!