A.FTP服务
FTP是为了解决不同设备之间文件传输的问题而产生的技术,基于客户端/服务器模式,默认使用20,21端口。端口20用于传输数据,端口21用于接受客户端的命令和参数。FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务的主机,FTP客户端则是向服务端发送请求连接,以建立数据传输链路的主机。FTP有两种工作模式:1.主动模式,FTP服务器主动向客户端发起连接请求。2.被动模式,FTP服务器等待客户端发起连接请求。vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux系统上的FTP服务程序。安装vftpd,yum install vsftpd -y。vsftpd服务的主配置文件(/etc/vsftpd/vsftpd.conf)。过滤主配置文件,mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak,cat /etc/vsftpd/vsftpd.conf_bak | grep -v "#" > /etc/vsftpd/vsftpd.conf。
vsftpd服务程序常用的参数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19listen=[YES|NO] 是否以独立运行的方式监听服务 listen_address=IP地址 设置要监听的IP地址 listen_port=21 设置FTP服务的监听端口 download_enable=[YES|NO] 是否允许下载文件 userlist_enable=[YES|NO] userlist_deny=[YES|NO] 设置用户列表为“允许”还是“禁止”操作 max_clients=0 最大客户端连接数,0为不限制 max_per_ip=0 同一IP地址的最大连接数,0为不限制 anonymous_enable=[YES|NO] 是否允许匿名访问 anon_upload_enable=[YES|NO] 是否允许匿名用户上传文件 anon_umask=022 匿名用户上传文件的umask值 anon_root=/var/ftp 匿名用户的FTP根目录 anon_mkdir_write_enable=[YES|NO] 是否允许匿名用户创建目录 anon_other_write_enable=[YES|NO] 是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限) anon_max_rate=0 匿名用户的最大传输速率(字节/秒),0为不限制 local_enable=[YES|NO] 是否允许本地用户登录FTP local_umask=022 本地用户上传文件的umask值 local_root=/var/ftp 本地用户的FTP根目录 chroot_local_user=[YES|NO] 是否将用户权限禁锢在FTP目录,以确保安全 local_max_rate=0 本地用户的最大传输速录(字节/秒),0为不限制
vsftpd服务程序,允许用户以三种模式登录到FTP服务器上:1.匿名开放模式。2.本地用户模式。3.虚拟用户模式。安装FTP客户端,yum install ftp -y。
匿名开放模式
1.编辑主配置文件。
1
2
3
4
5
6vim /etc/vsftpd/vsftpd.conf 1 anonymous_enable=YES anon_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
2.重启服务,并加入启动项
1
2systemctl restart vsftpd systemctl enable vsftpd
3.修改/var/ftp/pub目录的所有者身份
1
2
3ls -ld /var/ftp/pub 查看目录的所有者 chown -Rf ftp /var/ftp/pub
4.设置SELinux
1
2
3
4getseboot -a | grep ftp 查看域策略 setseboot -P ftpd_full_access=on 修改域策略
本地用户模式
1.修改主配置文件
1
2
3
4
5vim /etc/vsftpd/vsftpd.conf 1 anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022
2.重启服务,并加入启动项
1
2systemctl restart vsftpd systemctl enable vsftpd
3.因为在ftpusers和user_list文件中root用户被禁止访问FTP服务器,所以用这两个文件中没有禁止的普通用户,比如xiaoming。
4.修改SELinux域
1
2
3
4getsebool -a | grep ftp 查看与ftp相关的域策略 setseboot -P ftpd_access=on 修改域策略
虚拟用户模式
1.创建用于进行FTP认证的用户数据库文件,奇数行为用户名,偶数行为密码。
1
2
3
4
5
6cd /etc/vsftpd vim vuser.list zhangsan redhat lisi redhat
2.加密信息,设置权限并删除明文文件。
1
2
3db_load -T -t hash -f vuser.list vuser.db chmod 600 vuser.db rm -f vuser.list
3.创建vsftpd服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户。
1
2useradd -d /var/ftproot -s /sbin/nologin virtual chmod -Rf 755 /var/ftproot
4.建立用于支持虚拟用户的PAM文件
1
2
3vim /etc/pam.d/vsftpd.vu auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser
5.修改主配置文件
1
2
3
4
5
6
7
8vim /etc/vsftpd/vsftpd.conf 1 anonymous_enable=NO local_enable=YES guest_enable=YES guest_username=virtual allow_writeable_chroot=YES 14 pam_service_name=vsftpd.vu
6.为虚拟用户设置不同的权限
1
2
3
4
5
6
7mkdir /etc/vsftpd/vusers_dir cd /etc/vsftpd/vusers_dir touch lisi vim zhangsan anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
7.再次修改主配置文件,重启服务,并加入启动项
1
2
3
4
5vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vusers_dir systemctl restart vsftpd systemctl enable vsftpd
8.设置SELinux策略
1
2getsebool -a | grep ftp setseboot -P ftpd_full_access=ON
简单文件传输协议
简单文件传输协议(Trivial File Transfer Protocal,TFTP)是一种基于UDP协议在客户端和服务器之间进行简单文件传输的协议,占用的端口号是69。
1.安装TFTP软件包
1yum install tftp-server tftp -y
2.编辑配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14vim /etc/xinetd.d/tftp service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
4.重启服务,加入启动项,设置firewalld防火墙
1
2
3
4systemctl restart xinetd systemctl enable xinetd firewall-cmd --permanent --add-port=69/udp firewall-cmd --reload
B.Samba服务
Samba服务是用于在Linux和Windows系统之间共享文件的。
安装Samba服务程序,yum install Samba -y。主配置文件是,/etc/samba/smb.comf。可以使用下面的方法过滤掉注释信息。
mv /etc/samba/smb.conf /etc/samba/smb.confg.bak
cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";' | grep -v "^$" > /etc/samba/smb.conf
Samba服务程序参数的意义
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20[global] workgroup=MYGROUP 工作组名称 server string= Samba Server Version %v 服务器介绍信息,参数%v为显示SMB版本号 log file=/var/log/samba/log.%m 定义日志文件的存放位置和名称,参数%m为来访的主机名 max log size=50 定义日志文件的最大容量为50KB security=user 安全验证的方式,总共有4种 #share: 来访主机无需验证口令;比较方便,但安全性很差 #user: 需验证来访主机提供的口令才可以访问;提升了安全性 #server: 使用独立的远程主机验证来访主机提供的口令(集中管理账户) #domain: 使用域控制器进行身份验证 passdb backend=tdbsam 定义用户后台的类型,共有3种 #smbpasswd: 使用smbpasswd命令为系统用户设置Samba服务程序的密码 #tdbsam: 创建数据库文件并使用pdbedit命令建立Samba服务程序的用户 #ldapsam: 基于LDAP服务进行账户验证 load printers=yes 设置在Samba服务启动时是否共享打印机设备 cups options=raw 打印机的选项 [homes] comment=Home Directories 描述信息 browseable=no 指定共享信息是否在“网上邻居”中可见 writable=yes 定义是否可以执行写入操作,与“read only”相反
Samba服务程序的主配置文件包括全局配置参数和区域配置参数。
配置共享资源
编辑主配置文件,并重启服务加入启动项
1
2
3
4
5
6
7
8[database] comment = Do not arbitrarily modify the database file path = /home/database public = no writable = yes systemctl restart smb systemctl enable smb
1.创建用于访问共享资源的账户信息。
1
2id xiaoming pdbedit -a -u xiaoming
2.创建用户共享资源的目录
1
2
3
4mkdir /home/database chown -Rf xiaoming:xiaoming /home/database semanage fcontext -a -t samba_share_t /home/database restorecon -Rv /home/database
3.设置SELinux策略
1
2getsebool -a | grep Samba setsebool -P samba_enable_home_dirs=on
4.清空防火墙
1
2iptables -F service iptables save
Windows访问文件共享服务
配置IP地址,RHEL7,192.168.10.10,Windows7,192.168.10.30,直接访问IP地址就可以了。由于Windows的缓存原因,有可能在第二次输入用户名和密码后报错,这时候重启一下Windows客户端就好了。
Linux访问文件共享服务
1.设置IP地址,RHEL7,192.168.10.10,RHEL7,192.168.10.20。
2.在客户端安装支持文件共享服务的软件包(cifs-utils),yum install cifs-utils -y。
3.创建Samba的认证文件并设置权限不让其他人随意看到。
1
2
3
4
5
6vim auth.smb username=xiaoming password=redhat domain=MYGROUP chmod 600 auth.smb
4.创建挂载目录,并写入到/etc/fstab。
1
2
3
4
5mkdir /database vim /etc/fstab //192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0 mount -a
C.NFS(网络文件系统)
如果共享的主机都时Linux的话用NFS比价合适。RHEL7系统默认已经安装了NFS服务,配置前用yum检查一下是否安装。yum install nfs-utils。
1.用两台Linux主机,一台做服务器,一台做客户端,并设置IP地址。服务端RHEL7 192.168.10.10,客户端RHEL7 192.168.10.20。
2.清空防火墙
1
2iptables -F service iptables save
3.在服务器上建立共享目录,并设置权限
1
2
3mkdir /nfsfile chmod -Rf 777 /nfsfile echo "welcome to linux" > /nfsfile/readme
4.配置NFS的配置文件。
1
2vim /etc/exports /nfsfile 192.168.10.*(rw,sync,root_squash)
5.启动NFS服务程序,rpcbind服务,并将两个服务加入启动项
1
2
3
4systemctl restart rpcbind systemctl enable rpcbind systemctl restart nfs-server systemctl enable nfs-server
6.配置客户端
使用showmount查询NFS服务器的远程共享信息,showmount -e 192.168.10.10。创建目录并挂载,mkdir /nfsfile,mount -t nfs 192.168.10.10:/nfsfile /nfsfile。编辑/etc/fstab文件使共享功能一直有效,vim /etc/fstab,192.168.10.10:/nfsfile /nfsfile nfs defaults 0 0。
autofs自动挂载服务
将挂载信息写入到/etc/fstab文件后,系统在每次开机时都自动将其挂载,而autofs服务程序则是在用户需要使用该文件系统时才去动态挂载,从而节约了网络资源和服务器的硬件资源。
1.安装autofs。yum install autofs -y。
2.编辑配置文件。
1
2vim /etc/auto.master /media /etc/iso.misc
3.配置子配置文件
1
2
3
4
5vim /etc/iso.misc iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom systemctl restart autofs systemctl enable autofs
最后
以上就是老迟到板凳最近收集整理的关于RHEL7的FTP、Samba、NFS服务的全部内容,更多相关RHEL7内容请搜索靠谱客的其他文章。
发表评论 取消回复