Linux---ftp服务

                                                                                                       ##ftp服务##

开始ftp服务之前首先在server虚拟机上先进行以下几个步骤,然后再开始操作ftp相关服务。

1.在虚拟机上编写配置yum源                vim /etc/yum.repos.d/rhel_dvd.repo

内容如下:

2.在虚拟机上修改命令 vim /etc/sysconfig/selinux  中的SELINUX=disabled

3.上面两个步骤完成后reboot          server虚拟机即可。

            之后可以在重启的虚拟机上输入命令getenforce查看是否是disabled状态


##1.ftp的启用
yum install vsftpd -y


systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

 ftp://172.25.254.247


##2.ftp的基本信息##
访问数据端口;21
数据传输端口: >1024随机端口

默认发布目录  /var/ftp
访问方式
   lftp 172.25.254.247                       ##匿名登陆    ---》/var/ftp
   lftp 172.25.254.247 -u student     ##用户登陆    ---》/home/student
配置文件

   /etc/vsftpd/vsftpd.conf  


##3.ftp的安全部署##
虚拟机中执行vim /etc/vsftpd/vsftpd.conf

write_enable=YES | NO         ##本地用户是否可写
local_enable=YES | NO        ##本地用户是否可以登陆
anonymous_enable=YES | NO   ##匿名用户是否可以登陆

每次更改后都要重启vsftpd       

systemctl restart vsftpd

如图:设置成本地用户可以登陆,

在lftp中会通常出现以下几个错误:530 登陆失败,550 服务不允许,500 权限过大,553权限过小。

##4.匿名用户#
##匿名用户可上传
chmod 775 /var/ftp/pub


chgrp ftp /var/ftp/pub
vim /etc/vsftpd/vsftpd.conf
29 anon_upload_enable=YES
systemctl restart vsftpd

如图所示:

##匿名用户可下载
anon_world_readable_only=NO


##匿名用户建立目录
anon_mkdir_write_enable=YES
##匿名用户是否可以删除和重命名
anon_other_write_enable=YES

如图:匿名用户可以建立目录和删除目录

##匿名用户上传文件默认权限修改

anon_umask=002    (如图:上传后的文件权限为664)

##匿名用户使用的用户身份修改

chown_uploads=YES

chown_username=student

由此可见student  和 ftp的id

如图:匿名用户使用的用户身份已经修改了  在上传的fstab可见。

##最大上传速率

anon_max_rate=102400    当没超过范围时如图:

##最大链接数

max_clients=x

##用户黑名单建立

chroot_local-user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

##用户白名单建立

chroot_local_user=YES

chroot_list-enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

##限制本地用户浏览目录

chroot_local_user=YES

chmod u-w /home/* 

如图:当限制了本地用户浏览的目录后,就有了一定限制

##限制本地用户登陆

vim /etc/vsftpd/ftpusers    ##用户黑名单

如果将本地的用户添加到这名单里面,则就限制了其登陆

vim /etc/vsftpd/vsftpd/user_list  ##临时黑名单

用户白名单设定

userlist_deny=NO

vim       /etc/vsftpd/user_list        ##参数设定,此文件变成用户白名单,只在名单中用户可以登陆ftp

注意;当存在白名单时,黑名单中则会失效。

如图:在   /etc/vsftpd/   下可以查看到以下内容,其中ftpusers为黑名单     user_list为白名单

##ftp虚拟用户的设定     (创建虚拟帐号身份)

1.编辑虚拟用户vim  /etc/vsftpd/westosfile   (密码123)

user1

123

user2

123

 

2.执行命令db_load -T  -t hash -f /etc/vsftpd/westosfile  /etc/vsftpd/westosfile.db

3.编写虚拟用户的密码和帐号vim /etc/pam.d/westos

account       required       pam_userdb.so  db=/etc/vsftpd/westosfile

auth              required      pam_userdb.so  db=/etc/vsftpd/westosfile

4.执行命令vim /etc/vsftpd/vsftpd.conf

添加如下:

pam_service_name=westos

guest_enable=YES

之后重启vsftpd即可,效果如下图所示:

虚拟帐号身份指定

guest_username=user

chmod u-w /home/ftpuser

虚拟帐号家目录独立设定

执行命令vim /etc/vsftpd/vsftpd.conf  进入之后添加如下内容

local_root=/ftphome/$USER

user_sub_token=$USER

mkdir  /ftphome/user1/user1dir   -p

mkdir  /ftphome/user2/user2dir   -p

chmod 755 /ftphome/user1/user1dir/

chmod 755 /ftphome/user1/user1dir/

上述操作的过程如图所示:

效果如图所示:虚拟帐号家目录的设定成功  为user1dir   user2dir

虚拟帐号配置独立

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/userconf

mkdir -p /etc/vsftpd/userconf

 

vim  /etc/vsftpd/userconf/ftpuset1

在此文件中设定配置文件中的所有参数,此文件的优先级高