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 安装配置的更多相关文章

  1. centos 7 linux系统默认ftp安装配置和部署(详细讲解)

    小生接触 Linux 系统时间不长,想解决linux系统ftp安装及部署问题,折腾了大半天,终于弄出来了,将各路高手的配置方法综合了一下,如有不对之处,欢迎各位看客指正,感谢! 一.声明: 本文采用操 ...

  2. Linux下ftp安装配置及三种用户的验证

    一.原理简介 二.安装配置 三.三种用户的验证 一.简介 FTP即文件传输协议(File Transfer Protocol),完成各主机的文件共享功能,基于客户端-服务器的协议,工作在应用层,tcp ...

  3. CentOS 6.5 FTP安装配置

    安装配置 rpm -q vsftpd #检查是否安装了FTP yum -y install vsftpd #安装FTP chkconfig vsftpd on #设置开机启动 service vsft ...

  4. Ubuntu中FTP安装配置及基本概念(原创)

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/ftp-inst ...

  5. 阿里云Ubuntu 16 FTP安装配置注意事项

    1. 开放端口设置 阿里云控制台添加"安全组规则". 1) 21: FTP端口; 2) 15000~15100: 对应vsftpd.conf 自定义配置. (重要!) pasv_e ...

  6. CentOS8.0-1905安装配置ftp服务器

    关键词:CentOS8/RHEL8;安装配置FTP/安装配置VSFTPD;被动模式/PASV##CentOS8.0-1905发布后,尝试将FTP服务器迁移至新版本的CentOS中,但是测试过程中,在防 ...

  7. Linux下FTP安装与配置

    第一部分 .note-content {font-family: 'Helvetica Neue', Arial, 'Hiragino Sans GB', STHeiti, 'Microsoft Ya ...

  8. CentOS系统下安装配置ftp服务

    安装配置步骤: rpm -ivh /opt/bak/vsftpd-2.2.2-11.el6.x86_64.rpm --本地安装vsftpd ll /etc/vsftpd/  --查看vsftpd的配置 ...

  9. [转]CentOS 5.5下FTP安装及配置

    一.FTP的安装 1.检测是否安装了FTP : [root@localhost ~]# rpm -q vsftpd vsftpd-2.0.5-16.el5_5.1 否则显示:[root@localho ...

随机推荐

  1. CTF---Web入门第一题 what a fuck!这是什么鬼东西?

    what a fuck!这是什么鬼东西?分值:10 来源: DUTCTF 难度:易 参与人数:7942人 Get Flag:3358人 答题人数:3475人 解题通过率:97% what a fuck ...

  2. [bzoj1999]树网的核

    从下午坑到网上..noip的数据太弱,若干的地方写挂结果还随便过= = 最坑的就是网上有些题解没考虑周全... 第一步是找直径,用两次bfs(或者dfs,Linux下系统栈挺大的..)解决.找出其中一 ...

  3. Socket send函数和recv函数详解

    1.send 函数 int send( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用send函数来向TCP ...

  4. Linux 安装及配置 Nginx + ftp 服务器

    Nginx 安装及配置 一.Nginx 简介: Nginx("engine x") 是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web和 反向代理服务器, ...

  5. 织梦dedecms如何去除版权中的Power by DedeCms

    很多站长在使用dedecms建站过程中,很多人都会调用到dedecms自带的powerby标签,这样在版权信息中就会多出Power by DedeCms这个连接.今天教大家如何去除. 工具/原料 de ...

  6. IOS开发之UIView总结1

    太长了,请看 http://blog.csdn.net/xdrt81y/article/details/9128695 performSelector: performSelector:withObj ...

  7. apache:侧重于http server tomcat:侧重于servlet引擎

    apache:侧重于http server tomcat:侧重于servlet引擎

  8. 再叙ASM

    上一篇文章,我们已体验到ASM的威力,那么结合上面的代码解释ASM是怎么执行的. ClassWriter clazzWriter = new ClassWriter(0); 首先看下官方文档对Clas ...

  9. 利用overflow实现导航栏中常 出现的倒三角下拉小图标

    常用网页界面中,导航栏中的倒三角下拉小图标实现,可用overflow: 效果如右图: .Triangle{position:relative;width:280px;height:15px;} ;ov ...

  10. C语言 模2除法

    C语言中的模2除法: 模2除做法与算术除法类似,但每一位除(减)的结果不影响其它位,即不向上一位借位.所以实际上就是异或.然后再移位移位做下一位的模2减. 步骤如下: a.用除数对被除数最高n位做模2 ...