您的位置:首页 > 其它

搭建Samba服务RHCE-Day7

2017-04-18 18:34 211 查看
文件共享服务
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 /bbcifs
multiuser,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 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: