1.搭建环境:更改主机名;hostnamectl set-hostname ftpserver------重新开启shell
设置yum源
添加ip为172.25.254.119
2.下载vsftpd: yum search ftp
yum install vsftp.x86_64
systemctl start vsftpd
systemctl enable vsftpd
systemctl stop firewalld
systemctl disable firewalld
cd /var/ftp //ftp的家目录
touch westos
在浏览器中查看;ftp//:172.25.254.119,可以看见westos
vsftpd文件信息:
/var/ftp //默认发布目录
/etc/vsftpd //配置目录
3.设置ftp服务:
先关闭一个服务:vim /etc/sysconfig/selinux
SELINUX=disabled
wq保存之后重启。
可以用getenforce
lftp默认情况下是允许匿名登陆的,可以设置不匿名登陆,设置本地用户登录,以及设置本地用户可以上传和删除。
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //允许匿名用户登陆
local_enable=YES //允许本地用户登陆
lftp 172.25.254.119 -u student //以studnet用户的身份使用ftp
wrtie_enable=YES //允许 本地用户 上传和删除
每次更改配置文件之后要重启服务:systemctl restart vsftpd
上传命令;put /etc/passwd
注意;错误编号550是服务本身不允许某个操作,553是文件系统权限不允许,500权限过大,即默认情况下权限不能给根目录,可
以给子目录,chmod u-w /home/* 。530权限过小
设置匿名用户上传:
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES //消除550的错误
wq,重启服务。
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub //消除553的错误
put /etc/passwd 会上传成功。
设置创建查看和删除:
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES //ftp可以上传
anon_world_readable_only=NO //可以查看目录里所下载的
YES表示可以看已经允许的文件
anon_other_write_enable=YES //其他人可以删除
anon_mkdir_write_enable=YES //可以创建目录
mkdir /westos
touch /westos/file
touch /westos
vim /etc/vsftpd/vsftpd.conf
anno_root=/westos //设置lftp的家目录为westos
local_root=/westos //设置本地用户的家目录为westos
anno_umask=022 //设置lftp目录下创建文件的权限为644
local_umask=022 //设置本地用户上传文件的权限为644
chown_uplodds=YES
chown_username=student //设置上传文件的所有人为student
anon_max_rate=102400 //设置最大的上传速率为1M每秒
max_clients=2 //设置最大链接数为2,需要打开三个shell实验
当地用户的相关设置:
限制本地用户浏览 '/'目录
vim /etc/vsftpd/vsftpd.conf
所有用户本来被锁定在自己的家目录中
chroot_local_user=YES
chmod u-w /home/*
用户白名单建立:
chroot_local_user=YES //
chroot_list_enablde=YES
vim /etc/vdftpd/chroot_list //
用户黑名单建立:
chroot_local_user=NO //
chroot_list_enablde=YES
vim /etc/vdftpd/chroot_list //
限制本地用户登陆:
用户黑名单:
vim /etc/vsftpd/ftpusers //用户永久黑名单
vim /etc/vdftpd/user_list //用户临时黑名单
用户白名单:
userlist_deny=NO
/etc/vsftpd/user_list //参数设定,此文件变成用户白名单,只有在白名
单中出现的用户可以登陆ftp
4.ftp虚拟用户的设定
创建虚拟帐号身份:vim /etc/vsftpd/filename //文件名称随意
user1 //虚拟用户1
123 //密码
uer2
123
db_load -T -t hash -f /etc/vsftpd/filename filename.db
解释:将文件加密,-T表示转换,-t表示指定加密方式为哈希加密,/etc/vsftpd/filename表示所要
加密的文件
vim /etc/pam.d/filename //文件名称随意
account required pam_userdb.so db=/etc/vsftpd/filename //此处
的filename不用加后缀.db,因为已经是db指定了
auth required pam_userdb.so db=/etc/vsftpd/filename
vim /etc/vsftpd/vsfpd.conf
pam_service_name=filename
guest_enable=YES
虚拟帐号登陆身份设定:
guest_username=username
chmod u-w /home/username
mkdir /home/westos
mkdir -p /ftpdir/user1
mkdir -p /ftpdir/user2
touch /ftpdir/user1/user1file
touch /ftpdir/user2/user2file
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpdir/$USER //让虚拟账户使用不同的主目录
user_sub_token=$USE
systemctl restart vsftpd
设置用户配置文件所在目录,当设置了该配置项之后,用户登陆服务器后,系统就会到/etc/vsftpd/userconf目录下,读取与当前用户名相同的文件,并根据文件的配置命令,对当前用户更进一步配置。
例如:定义user_config_dir=/etc/vaftpd/userconf,且主机上有两个使用者user1,user2,那么就在user_config_dir的目录新增文件名为user1和user2两个文件,user1登陆时会读取user_config_dir下的user1这个档案的设定,默认值无。
可以检测两个虚拟帐号有不同的家目录
虚拟帐号配置独立
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vaftpd/userconf
mkdir -p /etc/vsftpd/userconf
将主配置文件的 #chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list注释掉并复制。
5.selinux(内核级防火墙)
是一个安全子系统,他能控制程序只能访问特定文件 selinux=disabled 防火墙打开
设置yum源
添加ip为172.25.254.119
2.下载vsftpd: yum search ftp
yum install vsftp.x86_64
systemctl start vsftpd
systemctl enable vsftpd
systemctl stop firewalld
systemctl disable firewalld
cd /var/ftp //ftp的家目录
touch westos
在浏览器中查看;ftp//:172.25.254.119,可以看见westos
vsftpd文件信息:
/var/ftp //默认发布目录
/etc/vsftpd //配置目录
3.设置ftp服务:
先关闭一个服务:vim /etc/sysconfig/selinux
SELINUX=disabled
wq保存之后重启。
可以用getenforce
lftp默认情况下是允许匿名登陆的,可以设置不匿名登陆,设置本地用户登录,以及设置本地用户可以上传和删除。
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES //允许匿名用户登陆
local_enable=YES //允许本地用户登陆
lftp 172.25.254.119 -u student //以studnet用户的身份使用ftp
wrtie_enable=YES //允许 本地用户 上传和删除
每次更改配置文件之后要重启服务:systemctl restart vsftpd
上传命令;put /etc/passwd
注意;错误编号550是服务本身不允许某个操作,553是文件系统权限不允许,500权限过大,即默认情况下权限不能给根目录,可
以给子目录,chmod u-w /home/* 。530权限过小
设置匿名用户上传:
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES //消除550的错误
wq,重启服务。
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub //消除553的错误
put /etc/passwd 会上传成功。
设置创建查看和删除:
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES //ftp可以上传
anon_world_readable_only=NO //可以查看目录里所下载的
YES表示可以看已经允许的文件
anon_other_write_enable=YES //其他人可以删除
anon_mkdir_write_enable=YES //可以创建目录
mkdir /westos
touch /westos/file
touch /westos
vim /etc/vsftpd/vsftpd.conf
anno_root=/westos //设置lftp的家目录为westos
local_root=/westos //设置本地用户的家目录为westos
anno_umask=022 //设置lftp目录下创建文件的权限为644
local_umask=022 //设置本地用户上传文件的权限为644
chown_uplodds=YES
chown_username=student //设置上传文件的所有人为student
anon_max_rate=102400 //设置最大的上传速率为1M每秒
max_clients=2 //设置最大链接数为2,需要打开三个shell实验
当地用户的相关设置:
限制本地用户浏览 '/'目录
vim /etc/vsftpd/vsftpd.conf
所有用户本来被锁定在自己的家目录中
chroot_local_user=YES
chmod u-w /home/*
用户白名单建立:
chroot_local_user=YES //
chroot_list_enablde=YES
vim /etc/vdftpd/chroot_list //
用户黑名单建立:
chroot_local_user=NO //
chroot_list_enablde=YES
vim /etc/vdftpd/chroot_list //
限制本地用户登陆:
用户黑名单:
vim /etc/vsftpd/ftpusers //用户永久黑名单
vim /etc/vdftpd/user_list //用户临时黑名单
用户白名单:
userlist_deny=NO
/etc/vsftpd/user_list //参数设定,此文件变成用户白名单,只有在白名
单中出现的用户可以登陆ftp
4.ftp虚拟用户的设定
创建虚拟帐号身份:vim /etc/vsftpd/filename //文件名称随意
user1 //虚拟用户1
123 //密码
uer2
123
db_load -T -t hash -f /etc/vsftpd/filename filename.db
解释:将文件加密,-T表示转换,-t表示指定加密方式为哈希加密,/etc/vsftpd/filename表示所要
加密的文件
vim /etc/pam.d/filename //文件名称随意
account required pam_userdb.so db=/etc/vsftpd/filename //此处
的filename不用加后缀.db,因为已经是db指定了
auth required pam_userdb.so db=/etc/vsftpd/filename
vim /etc/vsftpd/vsfpd.conf
pam_service_name=filename
guest_enable=YES
虚拟帐号登陆身份设定:
guest_username=username
chmod u-w /home/username
mkdir /home/westos
mkdir -p /ftpdir/user1
mkdir -p /ftpdir/user2
touch /ftpdir/user1/user1file
touch /ftpdir/user2/user2file
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpdir/$USER //让虚拟账户使用不同的主目录
user_sub_token=$USE
systemctl restart vsftpd
设置用户配置文件所在目录,当设置了该配置项之后,用户登陆服务器后,系统就会到/etc/vsftpd/userconf目录下,读取与当前用户名相同的文件,并根据文件的配置命令,对当前用户更进一步配置。
例如:定义user_config_dir=/etc/vaftpd/userconf,且主机上有两个使用者user1,user2,那么就在user_config_dir的目录新增文件名为user1和user2两个文件,user1登陆时会读取user_config_dir下的user1这个档案的设定,默认值无。
可以检测两个虚拟帐号有不同的家目录
虚拟帐号配置独立
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vaftpd/userconf
mkdir -p /etc/vsftpd/userconf
将主配置文件的 #chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list注释掉并复制。
5.selinux(内核级防火墙)
是一个安全子系统,他能控制程序只能访问特定文件 selinux=disabled 防火墙打开