概述
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服务程序常用的参数:
listen=[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.编辑主配置文件。
vim /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.重启服务,并加入启动项
systemctl restart vsftpd
systemctl enable vsftpd
3.修改/var/ftp/pub目录的所有者身份
ls -ld /var/ftp/pub
查看目录的所有者
chown -Rf ftp /var/ftp/pub
4.设置SELinux
getseboot -a | grep ftp
查看域策略
setseboot -P ftpd_full_access=on
修改域策略
本地用户模式
1.修改主配置文件
vim /etc/vsftpd/vsftpd.conf
1 anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
2.重启服务,并加入启动项
systemctl restart vsftpd
systemctl enable vsftpd
3.因为在ftpusers和user_list文件中root用户被禁止访问FTP服务器,所以用这两个文件中没有禁止的普通用户,比如xiaoming。
4.修改SELinux域
getsebool -a | grep ftp
查看与ftp相关的域策略
setseboot -P ftpd_access=on
修改域策略
虚拟用户模式
1.创建用于进行FTP认证的用户数据库文件,奇数行为用户名,偶数行为密码。
cd /etc/vsftpd
vim vuser.list
zhangsan
redhat
lisi
redhat
2.加密信息,设置权限并删除明文文件。
db_load -T -t hash -f vuser.list vuser.db
chmod 600 vuser.db
rm -f vuser.list
3.创建vsftpd服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户。
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod -Rf 755 /var/ftproot
4.建立用于支持虚拟用户的PAM文件
vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
5.修改主配置文件
vim /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.为虚拟用户设置不同的权限
mkdir /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.再次修改主配置文件,重启服务,并加入启动项
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
systemctl restart vsftpd
systemctl enable vsftpd
8.设置SELinux策略
getsebool -a | grep ftp
setseboot -P ftpd_full_access=ON
简单文件传输协议
简单文件传输协议(Trivial File Transfer Protocal,TFTP)是一种基于UDP协议在客户端和服务器之间进行简单文件传输的协议,占用的端口号是69。
1.安装TFTP软件包
yum install tftp-server tftp -y
2.编辑配置文件
vim /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防火墙
systemctl 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服务程序参数的意义
[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服务程序的主配置文件包括全局配置参数和区域配置参数。
配置共享资源
编辑主配置文件,并重启服务加入启动项
[database]
comment = Do not arbitrarily modify the database file
path = /home/database
public = no
writable = yes
systemctl restart smb
systemctl enable smb
1.创建用于访问共享资源的账户信息。
id xiaoming
pdbedit -a -u xiaoming
2.创建用户共享资源的目录
mkdir /home/database
chown -Rf xiaoming:xiaoming /home/database
semanage fcontext -a -t samba_share_t /home/database
restorecon -Rv /home/database
3.设置SELinux策略
getsebool -a | grep Samba
setsebool -P samba_enable_home_dirs=on
4.清空防火墙
iptables -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的认证文件并设置权限不让其他人随意看到。
vim auth.smb
username=xiaoming
password=redhat
domain=MYGROUP
chmod 600 auth.smb
4.创建挂载目录,并写入到/etc/fstab。
mkdir /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.清空防火墙
iptables -F
service iptables save
3.在服务器上建立共享目录,并设置权限
mkdir /nfsfile
chmod -Rf 777 /nfsfile
echo "welcome to linux" > /nfsfile/readme
4.配置NFS的配置文件。
vim /etc/exports
/nfsfile 192.168.10.*(rw,sync,root_squash)
5.启动NFS服务程序,rpcbind服务,并将两个服务加入启动项
systemctl 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.编辑配置文件。
vim /etc/auto.master
/media /etc/iso.misc
3.配置子配置文件
vim /etc/iso.misc
iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
systemctl restart autofs
systemctl enable autofs
最后
以上就是老迟到板凳为你收集整理的RHEL7的FTP、Samba、NFS服务的全部内容,希望文章能够帮你解决RHEL7的FTP、Samba、NFS服务所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复