FTP服务
2018-01-25 23:14
141 查看
1.基础设置:
设置网络和yum源
设置网路nm-connection-editor
设定名称hostnamectl set-hostname server3.example.com
更改repo文件vim /etc/yum.repos.d/rhel_dvd.repo(http://172.25.254.250/rhel7)
清除数据yum clean all
安装 [root@server3 ~]# yum repolist
[root@server3 ~]# yum install vsftpd -y(相当于阿帕奇)
[root@server3 ~]# yum install lftp -y(相当于浏览器)
启动ftpd服务[root@server3 ~]# systemctl start vsftpd
[root@server3 ~]# systemctl enable vsftpd
logout
ssh root@172.25.254.103 -X
设置内核配置 vim /etc/sysconfig/selinux
SELINUX=disabled —>getenforce查看
reboot
ssh root@172.25.254.103 -X
[root@server3 ~]# firewall-cmd –permanent –add-service=ftp
success //更改防火墙设置为永久,启动服务ftp
[root@server3 ~]# firewall-cmd –reload
success //更改防火墙设置加载
或者 在server3中firewall-config
Configuration设置为permanent
下方列表中添加ftp
Options中reload
2.lftp操作
登陆lftp 172.25.254.250
登陆本地用户 lftp 172.25.254.250 -u student
配置文件vim /etc/vsftpd/vsftpd.conf
重启服务systemctl restart vsftpd
报错: 530是登录失败,能列出东西才可以登陆(密码错了,设置错了)
550是程序不允许
553是服务器文件系统不允许你写(权限过小)
500是权限过大
chmod 777 /var/ftp/会报500的错误
anonymous_enable=YES(第12行)匿名用户是否可以登陆
local_enable=YES(第16行)为本地用户是否可以登陆
write_enable=YES(第19行)为本地用户能否可写
anon_upload_enable=YES(第29行)为匿名用户可以上传
默认目录 /var/ftp/
匿名用户上传
anon_upload_enable=YES(第29行)为匿名用户可以上传
chgrp ftp /var/ftp/pub 更改文件的用户组
chmod 775 /var/ftp/pub 组权限
lftp 172.25.254.120
cd /pub/
put /root/Desktop/file
ls
put /上传的东西
下载 vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=NO可以下载
systemctl restart vsftpd
lftp 172.25.254.120
cd /pub/
ls
get passwd 下载文件(下载到进入lftp之前所在的目录)
mirror westos 下载目录
建立目录 vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES(33行)
systemctl restart vsftpd
lftp 172.25.254.120
cd /pub/
ls
mkdir westos
删除 vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES 设定匿名用户能否进行删除文件
systemctl restart vsftpd
lftp 172.25.254.120
cd /pub/
ls
mv 原文件名 新文件名
ls
rm -fr linux
匿名用户的家目录
vim /etc/vsftpd/vsftpd.conf
anon_root=/westos 设定匿名用户家目录
systemctl restart vsftpd
在westos下建立三个文件
lftp 172.25.254.120
cd到家目录(cd)下查看,可以看到文件
匿名用户默认建立目录权限
vim /etc/vsftpd/vsftpd.conf
anon_umask=xxx(220)
systemctl restart vsftpd
lftp 172.25.254.120
mkdir westos
ls -l
设定上传文件的所有人
vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES 由这项才可有下面的两项
chown_username=student 更改为student id student查看UID
systemctl restart vsftpd
put file
ls
设定匿名用户上传文件的权限
vim /etc/vsftpd/vsftpd.conf
chown_upload_mode=0644(这条写入上面的匿名用户默认建立目录权限就失效了)
systemctl restart vsftpd
put file
ls
限制上传下载速度
dd if=/dev/zero of=bigfile bs=1M count=2000 创建一个2G的大文件
du -sh bigfile 查看大文件信息
vim /etc/vsftpd/vsftpd.conf
anon_max_rate=102400 ##单位为byte,102400为100k/s,速度上
!!限速是服务器长期稳定的保证
最大链接数 //同时最多允许几个用户同时连接
vim /etc/vsftpd/vsftpd.conf
max_clients=2
systemctl restart vsftpd
本地用户家目录设定(指定)(验证方法痛匿名用户)
vim /etc/vsftpd/vsftpd.conf
local_root=/westos 设定本地用户家目录
systemctl restart vsftpd
lftp 172.25.254.120 -u student
ls
本地用户锁定在自己的家目录中
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES !!锁定 108行
systemctl restart vsftpd
chmod u-w /home/* !!去除家目录所有的写权限,否则会报500权限过大错误
lftp 172.25.254.120 -u student
cd /
ls
设定用户的名单
vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
4000
!!启动列表
chroot_local_user=YES !!锁住了,大家都出不去,下面是白名单
chroot_list_file=/etc/vsftpd/chroot_list !!指定白名单名称
或者 chroot_local_user=NO !!没有锁,大家都可以出去,下面是黑名单
chroot_list_file=/etc/vsftpd/chroot_list !!指定黑名单名称
vim /etc/vsftpd/chroot_list
systemctl restart vsftpd
chmod u-w /home/* !!去除家目录所有的写权限,否则会报500权限过大错误
lftp 172.25.254.120 -u student
cd /
ls
切换另一个本地账户再次尝试
PS:查看主配置文件 man vsftpd.conf
/read 查找含有read的关键词
1.本地用户名单
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES(默认可以登陆)
systemctl restart vsftpd.service
/etc/vsftpd/user_list 临时黑名单(我把student写到里面)
student进不去,westos能进去
vim /etc/vsftpd/vsftpd.conf
userlist_deny=NO(加上这个默认用户不能登陆)
systemctl restart vsftpd.service
/etc/vsftpd/user_list 临时白名单
student能进去,westos进不去
PS:userlist_deny=YES(默认可以登陆)
/etc/vsftpd/ftpusers 永久黑名单(即改即生效)
required必须通过
2.ftp虚拟用户的设定
vim /etc/vsftpd/westosfile 文件名称随意(里面写虚拟用户和密码,一行用户一行密码,不要加空格)
westos1
123
westos2
123
westos3
123
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db 加密
cat /etc/vsftpd/westosfile.db 看加密的文件就会显示乱码
vim /etc/pam.d/ftpcheck 文件名任意
account帐号 required必须通过 pam_userdb.so db=/etc/vsftpd/westosfile指定看门的人用按照哪个名单看
auth密码 required必须通过 pam_userdb.so db=/etc/vsftpd/westosfile
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ftpcheck (指定看门的人按照哪个文件里的方式看)
guest_enable=YES
guest_username=westos(虚拟用户登陆之后系统用户的名字)
lftp 172.25.254.120 -u westos1
123
PS:ls看不见
anon_world_readable_only=NO改了这个才能读
3.虚拟用户家目录独立设定
mkdir /ftpdir/westos{1..3} -p(递归建立)
touch /ftpdir/westos1/westos1file
touch /ftpdir/westos2/westos2file
touch /ftpdir/westos3/westos3file
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpdir/ $ USER (指定本地用户家目录)
user_sub_token=/ USER(使系统在vim中能理解USER时什么意思,引用shell的环境变量)
systemctl restart vsftpd.service
然后每个用户都能在家目录中看见相对应的文件
4.在子配置文件中给不同虚拟用户不同权限(可下载可上传)
先关闭以前设置的上传和下载权限
mkdir /etc/vsftpd/confdir
mkdir /ftpdir/westos{1..3}/pub
chmod 775 /ftpdir/westos{1..3}/pub
chgrp westos /ftpdir/westos{1..3}/pub
vim /etc/vsftpd/confdir/westos1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/confdir
用户可以上传,下载
设置网络和yum源
设置网路nm-connection-editor
设定名称hostnamectl set-hostname server3.example.com
更改repo文件vim /etc/yum.repos.d/rhel_dvd.repo(http://172.25.254.250/rhel7)
清除数据yum clean all
安装 [root@server3 ~]# yum repolist
[root@server3 ~]# yum install vsftpd -y(相当于阿帕奇)
[root@server3 ~]# yum install lftp -y(相当于浏览器)
启动ftpd服务[root@server3 ~]# systemctl start vsftpd
[root@server3 ~]# systemctl enable vsftpd
logout
ssh root@172.25.254.103 -X
设置内核配置 vim /etc/sysconfig/selinux
SELINUX=disabled —>getenforce查看
reboot
ssh root@172.25.254.103 -X
[root@server3 ~]# firewall-cmd –permanent –add-service=ftp
success //更改防火墙设置为永久,启动服务ftp
[root@server3 ~]# firewall-cmd –reload
success //更改防火墙设置加载
或者 在server3中firewall-config
Configuration设置为permanent
下方列表中添加ftp
Options中reload
2.lftp操作
登陆lftp 172.25.254.250
登陆本地用户 lftp 172.25.254.250 -u student
配置文件vim /etc/vsftpd/vsftpd.conf
重启服务systemctl restart vsftpd
报错: 530是登录失败,能列出东西才可以登陆(密码错了,设置错了)
550是程序不允许
553是服务器文件系统不允许你写(权限过小)
500是权限过大
chmod 777 /var/ftp/会报500的错误
anonymous_enable=YES(第12行)匿名用户是否可以登陆
local_enable=YES(第16行)为本地用户是否可以登陆
write_enable=YES(第19行)为本地用户能否可写
anon_upload_enable=YES(第29行)为匿名用户可以上传
默认目录 /var/ftp/
匿名用户上传
anon_upload_enable=YES(第29行)为匿名用户可以上传
chgrp ftp /var/ftp/pub 更改文件的用户组
chmod 775 /var/ftp/pub 组权限
lftp 172.25.254.120
cd /pub/
put /root/Desktop/file
ls
put /上传的东西
下载 vim /etc/vsftpd/vsftpd.conf
anon_world_readable_only=NO可以下载
systemctl restart vsftpd
lftp 172.25.254.120
cd /pub/
ls
get passwd 下载文件(下载到进入lftp之前所在的目录)
mirror westos 下载目录
建立目录 vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES(33行)
systemctl restart vsftpd
lftp 172.25.254.120
cd /pub/
ls
mkdir westos
删除 vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES 设定匿名用户能否进行删除文件
systemctl restart vsftpd
lftp 172.25.254.120
cd /pub/
ls
mv 原文件名 新文件名
ls
rm -fr linux
匿名用户的家目录
vim /etc/vsftpd/vsftpd.conf
anon_root=/westos 设定匿名用户家目录
systemctl restart vsftpd
在westos下建立三个文件
lftp 172.25.254.120
cd到家目录(cd)下查看,可以看到文件
匿名用户默认建立目录权限
vim /etc/vsftpd/vsftpd.conf
anon_umask=xxx(220)
systemctl restart vsftpd
lftp 172.25.254.120
mkdir westos
ls -l
设定上传文件的所有人
vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES 由这项才可有下面的两项
chown_username=student 更改为student id student查看UID
systemctl restart vsftpd
put file
ls
设定匿名用户上传文件的权限
vim /etc/vsftpd/vsftpd.conf
chown_upload_mode=0644(这条写入上面的匿名用户默认建立目录权限就失效了)
systemctl restart vsftpd
put file
ls
限制上传下载速度
dd if=/dev/zero of=bigfile bs=1M count=2000 创建一个2G的大文件
du -sh bigfile 查看大文件信息
vim /etc/vsftpd/vsftpd.conf
anon_max_rate=102400 ##单位为byte,102400为100k/s,速度上
!!限速是服务器长期稳定的保证
最大链接数 //同时最多允许几个用户同时连接
vim /etc/vsftpd/vsftpd.conf
max_clients=2
systemctl restart vsftpd
本地用户家目录设定(指定)(验证方法痛匿名用户)
vim /etc/vsftpd/vsftpd.conf
local_root=/westos 设定本地用户家目录
systemctl restart vsftpd
lftp 172.25.254.120 -u student
ls
本地用户锁定在自己的家目录中
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES !!锁定 108行
systemctl restart vsftpd
chmod u-w /home/* !!去除家目录所有的写权限,否则会报500权限过大错误
lftp 172.25.254.120 -u student
cd /
ls
设定用户的名单
vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
4000
!!启动列表
chroot_local_user=YES !!锁住了,大家都出不去,下面是白名单
chroot_list_file=/etc/vsftpd/chroot_list !!指定白名单名称
或者 chroot_local_user=NO !!没有锁,大家都可以出去,下面是黑名单
chroot_list_file=/etc/vsftpd/chroot_list !!指定黑名单名称
vim /etc/vsftpd/chroot_list
systemctl restart vsftpd
chmod u-w /home/* !!去除家目录所有的写权限,否则会报500权限过大错误
lftp 172.25.254.120 -u student
cd /
ls
切换另一个本地账户再次尝试
PS:查看主配置文件 man vsftpd.conf
/read 查找含有read的关键词
1.本地用户名单
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES(默认可以登陆)
systemctl restart vsftpd.service
/etc/vsftpd/user_list 临时黑名单(我把student写到里面)
student进不去,westos能进去
vim /etc/vsftpd/vsftpd.conf
userlist_deny=NO(加上这个默认用户不能登陆)
systemctl restart vsftpd.service
/etc/vsftpd/user_list 临时白名单
student能进去,westos进不去
PS:userlist_deny=YES(默认可以登陆)
/etc/vsftpd/ftpusers 永久黑名单(即改即生效)
required必须通过
2.ftp虚拟用户的设定
vim /etc/vsftpd/westosfile 文件名称随意(里面写虚拟用户和密码,一行用户一行密码,不要加空格)
westos1
123
westos2
123
westos3
123
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db 加密
cat /etc/vsftpd/westosfile.db 看加密的文件就会显示乱码
vim /etc/pam.d/ftpcheck 文件名任意
account帐号 required必须通过 pam_userdb.so db=/etc/vsftpd/westosfile指定看门的人用按照哪个名单看
auth密码 required必须通过 pam_userdb.so db=/etc/vsftpd/westosfile
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ftpcheck (指定看门的人按照哪个文件里的方式看)
guest_enable=YES
guest_username=westos(虚拟用户登陆之后系统用户的名字)
lftp 172.25.254.120 -u westos1
123
PS:ls看不见
anon_world_readable_only=NO改了这个才能读
3.虚拟用户家目录独立设定
mkdir /ftpdir/westos{1..3} -p(递归建立)
touch /ftpdir/westos1/westos1file
touch /ftpdir/westos2/westos2file
touch /ftpdir/westos3/westos3file
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpdir/ $ USER (指定本地用户家目录)
user_sub_token=/ USER(使系统在vim中能理解USER时什么意思,引用shell的环境变量)
systemctl restart vsftpd.service
然后每个用户都能在家目录中看见相对应的文件
4.在子配置文件中给不同虚拟用户不同权限(可下载可上传)
先关闭以前设置的上传和下载权限
mkdir /etc/vsftpd/confdir
mkdir /ftpdir/westos{1..3}/pub
chmod 775 /ftpdir/westos{1..3}/pub
chgrp westos /ftpdir/westos{1..3}/pub
vim /etc/vsftpd/confdir/westos1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/confdir
用户可以上传,下载
相关文章推荐
- ftp服务搭建及暴力登陆
- Ubuntu下FTP服务的配置
- 打开Linux ftp服务,如:vsftpd: unrecognized service
- linux服务搭建----ftp与ftp yum源搭建
- Jmeter FTP服务
- .通过查询提供FTP服务的进程是否存在
- FTP服务工作原理
- 简单 CentOS 6 搭建 FTP 服务记录
- windows中搭建FTP服务
- FTP服务配置
- SUSE Linux启用Ftp服务
- Linux 中的文件共享服务---ftp
- 文件共享服务 FTP,NFS 和 Samba
- CentOS安装FTP服务
- FTP 服务搭建
- ubuntu 下安装、配置、启动FTP服务、SSH服务
- CentOS安装vsftpd提供ftp服务
- Java FtpClient 实现文件上传服务