搭建Samba服务RHCE-Day7

来源:互联网 发布:淘宝 诚信荣誉 编辑:程序博客网 时间:2024/05/19 16:22
文件共享服务
samba
nfs
vsftpd

Samba
作用:实现Linux与windows文件共享 
软件:samba, samba-client
配置文件:/etc/samba/smb.conf 
服务:smb  nmb 
端口:139/tcp, 445/tcp (smb)
 137/udp, 138/udp (nmb)


配置文件-----/etc/samba/smb.conf 


1、指定服务器所在工作组名称
workgroup = MYGROUP


2、基于用户认证的共享 
security = user


3、指定samba描述信息
server string = Samba Server Version %v


4、指定samba监听的IP地址
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24


5、基于客户端IP地址访问控制
hosts allow = 127. 192.168.12. 192.168.13.
hosts deny = 192.168.1.1/24  172.16. 


共享目录配置:


[共享名称]
comment = 说明信息
path = /caiwu 目录名称
browseable = { yes | no }可浏览的
writeable = { yes | no }可写的
write list = tom, +caiwu 允许写入的用户列表

public = {yes | no}允许所有用户访问 
valid users = tom, +caiwu 允许访问的用户列表




配置单用户samba共享 


环境:
rhel 7   10.1.1.21   服务器
rhel 7   10.1.1.22   客户端 


通过SMB共享/common目录
您的服务器必须是STAFF工作组的一个成员 
共享名必须是common 
common必须是可浏览的
用户harry必须能够读取共享中的内容,如果需要的话,验证的密码是migwhisk


服务器端:


1、创建目录
# mkdir /common 
# touch /common/{1..3}.txt 


2、安装软件
# yum install -y samba samba-client 


3、编辑配置文件,共享目录
# vim /etc/samba/smb.conf 


workgroup = STAFF

[common]
path = /common 
browseable = yes 


4、创建共享用户harry 
# useradd harry 
# smbpasswd -a harry 


列出SMB用户列表信息yu
# pdbedit -L
harry:1002:


5、启动smb服务并设置开机自启
# systemctl start smb 
# systemctl enable smb 
# netstat -antp | grep smb
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      3490/smbd           
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      3490/smbd   




--------
关闭防火墙及SELinux


# systemctl stop firewalld.service 
# setenforce 0


--------


客户端:


1、安装客户端软件 
# yum install -y samba-client 


2、连接共享目录
# smbclient //10.1.1.21/common -U harry
Enter harry's password: 
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]


smb: \> ls
  .                                   D        0  Fri May 13 22:29:56 2016
  ..                                  D        0  Fri May 13 22:29:51 2016
  1.txt                               N        0  Fri May 13 22:29:56 2016
  2.txt                               N        0  Fri May 13 22:29:56 2016
  3.txt                               N        0  Fri May 13 22:29:56 2016


49975 blocks of size 1048576. 46703 blocks available
smb: \> get 3.txt
getting file \3.txt of size 0 as 3.txt (0.0 KiloBytes/sec) (average 0.0 KiloBytes/sec)


9、配置多用户SMB 


在10.1.1.21通过SMB共享目录/devops满足以下要求:
共享名为devops
共享目录devops必须可以被浏览
用户kenji必须能以读的方式访问此共享,密码是redhat
用户chihiro必须能以读写的方式访问此共享,访问密码是redhat 
此共享永久挂载在10.1.1.22上的/bb目录,并使用用户kenji作为认证。
任何用户可以通过用户chihiro来临时获取写权限

服务器:


1、创建目录 
# mkdir /devops 
# touch /devops/{1..3}.mp3 


2、创建共享用户
# useradd kenji
# useradd chihiro 


# smbpasswd -a kenji 
# smbpasswd -a chihiro 


3、编辑配置文件,共享目录
# vim /etc/samba/smb.conf 


[devops]
path = /devops
browseable = yes 
write list = chihiro 

# setfacl -m u:chihiro:rwx /devops 




4、重启服务 
# systemctl restart smb 




客户端:


1、创建挂载点,并实现自动挂载


# mkdir /bb 
# vim /etc/fstab 
//10.1.1.21/devops /bbcifsmultiuser,credentials=/etc/user.txt,sec=ntlmssp0 0


# vim /etc/user.txt 
username=kenji 
password=redhat 


# yum install -y cifs-utils


# useradd kenji
# useradd chihiro 


# mount -a 
# df -h 


2、 测试chihiro的写权限
# su - chihiro 
# cifscreds add 10.1.1.21 
# touch /bb/4.mp3 


最终测试使用chihiro用户在/bb中可创建文件即成功






防火墙:
内核模块netfilter 
rhel 6:iptables
rhel 7:firewall-cmd, firewalld服务 




区域zone:


trusted
允许所有流量通过
home/internal
仅允许ssh数据通过
work
仅允许ssh,ipp-client,dhcpv6-client数据通过
public
默认区域,仅允许ssh,dhcpv6-client数据通过
external
仅允许ssh数据通过,通过该区域的数据将会伪装(SNAT/DNAT)
dmz
仅允许ssh数据通过
block
拒绝所有流量
drop
拒绝所有流量




1、查看默认区域
# firewall-cmd --get-default-zone 
public


2、修改默认区域为dmz 
# firewall-cmd --set-default-zone=dmz 
# firewall-cmd --reload 


3、查看区域详细规则
# firewall-cmd --list-all --zone=public 
public
  interfaces: 
  sources: 
  services: dhcpv6-client ssh
  ports: 
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

4、指定由public区域处理192.168.1.0/24的访问请求
# firewall-cmd --permanent --add-source=192.168.1.0/24 --zone=public 
# firewall-cmd --reload 


5、在public区域移除192.168.1.0/24的访问请求
# firewall-cmd --permanent --remove-source=192.168.1.0/24 --zone=public 
# firewall-cmd --reload


6、在dmz区域中移除samba服务
# firewall-cmd --permanent --remove-service=samba --zone=dmz 
# firewall-cmd --reload


7、向dmz区域添加http服务
# firewall-cmd --permanent --add-service=http --zone=dmz 
# firewall-cmd --reload


8、向dmz区域中添加443端口的访问
# firewall-cmd --permanent --add-port=443/tcp --zone=dmz 
# firewall-cmd --reload 


常用端口:
http   80/tcp,   https  443/tcp    
ssh    22/tcp,   telnet 23/tcp 
ftp   20/tcp 21/tcp, 
dhcp   67/udp 68/udp 
samba  139/tcp  445/tcp 
dns   53/udp   53/tcp 
mysql  3306/tcp 
iSCSI  3260/tcp 
smtp   25/tcp   pop3   110/tcp    imap4   143/tcp 
ntp    123/udp 






-------------------
设置防火墙允许samba服务


# firewall-cmd --set-default-zone=dmz 
# firewall-cmd --permanent --add-service=samba --zone=dmz 
# firewall-cmd --reload 




-----------------------


SELinux---------Security Enhanced Linux 
作用:控制进程是否有权限打开文件或者目录


查看文件的SELinux的安全上下文
# ls -lZ /etc/fstab 
-rw-r--r--. root root system_u:object_r:etc_t:s0       /etc/fstab


samba----> samba_share_t


修改目录的SELinux安全上下文
# chcon -R -t samba_share_t /devops 






























0 0
原创粉丝点击