FTP 安装配置
FTP 安装配置:
一、基础操作
yum install -y ftp
yum install -y vsftpd
service iptables stop
chkconfig iptables off
service vsftpd start
chkconfig vsftpd on
部分系统需要关闭selinux.
执行完vsftpd包的安装,FTP的基础配置就算完成了。
二、OS用户和匿名用户配置
2.1 基础操作
1.OS用户案例一:
useradd test ;passwd test
test用户能登录OS,能正常使用FTP,FTP根目录为家目录/home/test/
2.OS用户案例二:
useradd test1 -s /sbin/nologin
test1用户不能登录,但能正常使用FTP,FTP根目录为家目录/home/test1/
3.匿名用户
可以登录,FTP根目录为/var/ftp/,能访问该目录下‘ftp’用户能访问的资源,比如在该目录下建一个文件夹
mkdir /var/ftp/anon_ftp
chown ftp:ftp /var/ftp/anon_ftp
匿名用户就可以在/var/ftp/anon_ftp下执行任何操作了。
注意:‘ftp'用户能访问的资源,包括拥有者为’ftp'和other权限为可读写的文件或文件夹。
2.2 修改OS用户FTP家目录
vi /etc/vsftpd/vsftpd.conf
local_root=/FTP #修改FTP根目录为/FTP
service vsftpd restart #重启服务
2.3 禁止切换出自己FTP家目录
注意:
1. 前面的操作下,用户登录FTP后可以访问操作系统上任何自己拥有权限的目录和文件。
2. 自己上传到任何位置的任何文件,自己拥有rw权限,其他人拥有r权限,也就是其他人能下载不能删除。(644)
vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES #禁止切换出FTP根目录
service vsftpd restart #重启服务
如上,所有用户的FTP操作都将限制在/FTP根目录下
2.4 开启匿名用户上传下载
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_root=/FTP/anonymous #匿名用户根目录修改(默认/var/ftp)
anon_upload_enable=YES #允许上传和创建文件
anon_mkdir_write_enable=YES #允许创建目录
anon_other_write_enable=YES #允许删除、重命名文件和目录
anon_umask=022 #默认上传文件权限为600,修改后为644
注意:
1.若修改了匿名用户的家目录,则要做如上操作。
2.匿名用户的权限为ftp用户权限。
3.匿名用户根目录不能具有写权限,可在下面建一个目录授权ftp或other读写权限,匿名用户即可拥有完整权限。
2.5 关闭特定或匿名用户访问
关闭匿名用户的访问可在vsftpd.conf文件的最后添加
anonymous_enable=YES
执行结果:输入密码会报错。
更加严格的做法如下:
vi /etc/vsftpd/vsftpd.conf
userlist_enable=YES #使用user_list配置文件
userlist_deny=NO #NO表示user_list文件列出的用户拒绝访问,若为YES则只允许列出的用户访问
vi /etc/vsftpd/user_list
anonymous
执行结果:不让指定用户输入密码示的拒绝访问
service vsftpd restart
上面讲了OS用户和匿名用户的配置和操作。
三、虚拟用户配置
yum install -y ftp vsftpd db4*
#创建FTP目录
mkdir -p /FTP/ftptest
chown ftp:ftp /FTP/ftptest
chmod 700 /FTP/ftptest
#配置FTP全局参数
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd.vu
guest_enable=YES
guest_username=ftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
#添加虚拟用户
vi /etc/vsftpd/vusers
ftptest
ftptest
#生成虚拟用户库文件
db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vusers_db.db
chmod 600 /etc/vsftpd/vusers_db.db
#添加虚拟用户私有参数
mkdir /etc/vsftpd/vconf
vi /etc/vsftpd/vconf/ftptest
local_root=/FTP/ftptest
#配置虚拟用户库文件认证
vi /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vusers_db
account required pam_userdb.so db=/etc/vsftpd/vusers_db
#重启服务
service vsftpd restart
#关闭防火墙
service iptables stop
#开机启动
chkconfig vsftpd on
如上,完成了虚拟用户的配置,虚拟用户的权限依赖于宿主用户ftp
pamservicename=vsftpd.vu #虚拟用户名密码认证
guestenable=YES #允许虚拟用户访问
guestusername=ftp #宿主用户指定为ftp
virtualuselocal_privs=YES #虚拟用户使用宿主用户的权限
四、其他
4.1 虚拟路径
比如虚拟用户的默认路径为/var/ftp,想把/mnt/disk1/soft文件夹映射到/var/ftp下,执行如下:
mkdir /var/ftp/soft
mount --bind /mnt/disk1/soft /var/ftp/soft
相当于修改了ftp存储的位置。
4.2 报错500 OOPS: cannot change directory
如果报错500 OOPS: cannot change directory 有可能是SELINUX引起的
vi /etc/sysconfig/selinux
将 SELINUX=enforcing 修改为SELINUX=disabled, 关闭SELINUX后, 重新启动机器,问题解决。
或
setsebool ftpd_disable_trans 1
service vsftpd restart
将SELINUX中关于ftp服务传输控制的默认设置修改后再将vsftp服务重新启动一下
FTP 安装配置的更多相关文章
- centos 7 linux系统默认ftp安装配置和部署(详细讲解)
小生接触 Linux 系统时间不长,想解决linux系统ftp安装及部署问题,折腾了大半天,终于弄出来了,将各路高手的配置方法综合了一下,如有不对之处,欢迎各位看客指正,感谢! 一.声明: 本文采用操 ...
- Linux下ftp安装配置及三种用户的验证
一.原理简介 二.安装配置 三.三种用户的验证 一.简介 FTP即文件传输协议(File Transfer Protocol),完成各主机的文件共享功能,基于客户端-服务器的协议,工作在应用层,tcp ...
- CentOS 6.5 FTP安装配置
安装配置 rpm -q vsftpd #检查是否安装了FTP yum -y install vsftpd #安装FTP chkconfig vsftpd on #设置开机启动 service vsft ...
- Ubuntu中FTP安装配置及基本概念(原创)
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/ftp-inst ...
- 阿里云Ubuntu 16 FTP安装配置注意事项
1. 开放端口设置 阿里云控制台添加"安全组规则". 1) 21: FTP端口; 2) 15000~15100: 对应vsftpd.conf 自定义配置. (重要!) pasv_e ...
- CentOS8.0-1905安装配置ftp服务器
关键词:CentOS8/RHEL8;安装配置FTP/安装配置VSFTPD;被动模式/PASV##CentOS8.0-1905发布后,尝试将FTP服务器迁移至新版本的CentOS中,但是测试过程中,在防 ...
- Linux下FTP安装与配置
第一部分 .note-content {font-family: 'Helvetica Neue', Arial, 'Hiragino Sans GB', STHeiti, 'Microsoft Ya ...
- CentOS系统下安装配置ftp服务
安装配置步骤: rpm -ivh /opt/bak/vsftpd-2.2.2-11.el6.x86_64.rpm --本地安装vsftpd ll /etc/vsftpd/ --查看vsftpd的配置 ...
- [转]CentOS 5.5下FTP安装及配置
一.FTP的安装 1.检测是否安装了FTP : [root@localhost ~]# rpm -q vsftpd vsftpd-2.0.5-16.el5_5.1 否则显示:[root@localho ...
随机推荐
- [翻译]QT core wallet manual 狗狗币核心钱包使用教程
译注:比特币没赶上可以玩狗狗币啊,水电厂包不起可以用CPU挖啊.为了顺应时代潮流,了解一下区(fa)块(heng)链(cai)和加密货币技术,准备从研究狗狗币开始.网上找了一圈没有看到很好的入门级教程 ...
- ZOJ3602:Count the Trees
我是在neuqvj上交的这题:http://vj.acmclub.cn/problem/viewProblem.action?id=17848 本来是挺容易的树同构题,可是节点数比较多,愣是把普通ha ...
- HDU 2546 饭卡(01背包裸题)
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- [bzoj2288][POJ Challenge]生日礼物
用堆维护双向链表来贪心... 数据范围显然不容许O(nm)的傻逼dp>_<..而且dp光是状态就n*m个了..显然没法优化 大概就会想到贪心乱搞了吧...一开始想贪心地通过几段小的负数把正 ...
- UOJ#152. 【UR #10】汉诺塔
题目:http://uoj.ac/problem/152 orzKPM... 分治,把数字是l~mid的拿出来放在一根柱子上,mid+1~r放在另一根柱子上.如此递归下去,每次递归只是改一下方向,l, ...
- hdu_1037(水题水疯了。。。史上最水)
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; int ma ...
- B. Secret Combination
B. Secret Combination time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- Ceph部署(一)集群搭建
背景 Ceph简介 Ceph是一个分布式存储,可以提供对象存储.块存储和文件存储,其中对象存储和块存储可以很好地和各大云平台集成.一个Ceph集群中有Monitor节点.MDS节点(可选,用于文件存储 ...
- [国嵌攻略][051][NandFlash原理解析]
扮演角色 相当于嵌入式设备的硬盘 NandFlash分类 1.SCL(single level cell):单层式存储 2.MLC(multi level cell):多层式存储 3.SCL在存储格上 ...
- 基于TypeScript装饰器定义Express RESTful 服务
前言 本文主要讲解如何使用TypeScript装饰器定义Express路由.文中出现的代码经过简化不能直接运行,完整代码的请戳:https://github.com/WinfredWang/expre ...