CentOS_vsftpd的安装与配置
思韵闪耀
2020-11-24
0

一、vsftpd软件介绍
    vsftp,全称:Very security ftp。是Linux系统下最常见,常用的 FTP 服务器架设软件。除此之外,还有一个proftp(Profession ftp)。
二、访问方式
    vsftp架设的FTP文件服务器,提供3种远程的登录方式:
    1.匿名登录方式
    不用解释了,就是不需要用户名,密码。就能登录到服务器电脑里面
    2.本地用户方式
    意思是,需要帐户名和密码才能登录。而且,这个帐户名和密码,都是在你linux系统里面,已经有的用户。
    3. 虚拟用户方式
    同样需要用户名和密码才能登录。但是和上面的区别就是,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)
三、vsftpd 的安装
1. 对于Debian和Ubuntu系统,可以直接通过: sudo apt-get install vsftpd 来安装
启用,停用和重新启动是: /etc/init.d/vsftpd start(stop 和 restart)
2. 对于Redhat, Fedoar和Centos一般这3类系统,都自带vsftpd,可以通过: rpm -qa|grep vsftp,来查询下是否已经安装了。如果没装,可以从光盘里面找到安装包双击安装,或者也可以: yum install vsftpd 来安装。(我是安装的CentOS 5.4 我用的命令就是yum install vsftpd)
注:启用、停用、重启vsftdp
service vsftpd {start|stop|restart}或/etc/init.d/vsftpd {start|stop|restart}
四、配置前的注意事项
 
1.查看,修改vsftp启动状态
查看vsftpd状态:service vsftpd status
查看vsftpd启动状态:chkconfig --list vsftpd
设置vsftpd 2345为启动状态:chkconfig --level 2345 vsftpd on
 
2.查看,修改防火墙状态
查看防火墙状态:/etc/init.d/iptables status
添加开放21号端口:/sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
 保存配置:/etc/rc.d/init.d/iptables save
 重启防火墙(启用,停用):service iptables {start|stop|restart}
 
 3.查看,关闭selinux (查看selinux运行情况 #/usr/sbin/sestatus)
 查看selinux状态/usr/sbin/sestatus或sestatus
修改selinux状态vi /etc/sysconfig/selinux
修改SELINUX=disabled
保存退出并重启系统reboot
这样子vsftp也就安装好了,剩下的就是进行用户模式的配置了

 

五、vsftpd 三种模式的配置方法


    vsftpd的配置由文件/etc/vsftpd/vsftpd.conf,每种配置都要先修改配置文件,为了使配置文件的原始性,要先把配置文件拷贝并保存一份。

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.init

    然后,开始我们的配置,在每次配置以前,记得把原始文件覆盖到配置文件,以免出现不可知的意外错误。

cp /etc/vsftpd/vsftpd.conf.init /etc/vsftpd/vsftpd.conf

 

 1. 匿名登录方式
   修改配置文件  vi /etc/vsftpd/vsftpd.conf (由于JOY不懂使用VI命令,所以是把文件下载到本机上,用UltraEdit进行修改。强烈推荐)

要修改的内容如下(红色字体为解释,不要写入配置文件)

Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)
anon_world_readable_only=no(匿名帐号可以用下载的权限)

 配置文件中没有的就添加,没有的就对值进行修改.

修改文件夹权限

cd /var/ftp
chmod 757 pub

注:

修改文件夹权限的命令:chmod 777 pub

777的意思就是 root root组 other 的权限,7=4+2+1=r+w+x=读+写+执行
查看文件夹权限的命令
ls -l ftp
chmod 757 pub
查看的时候查看当前文件夹只可以查看到下面的文件夹权限,如果要查看PUB的文件夹权限,要到FTP的上一个目录查看FTP的权限就可以显示PUB的文件夹权限,以此类推4-r 2-w 1-x | drwxr-xr-x = 756 | drwxr-xrwx = 757  

 重启vsftpd:service vsftpd restart

 2. Linux本地用户,远程登录FTP(简称:本地用户模式)

 修改配置文件

vi /etc/vsftpd/vsftpd.conf

要修改的内容如下(红色字体为解释,不要写入配置文件)

listen=yes(设置为独立服务器)
local_enable=YES(允许本地用户登录FTP)
write_enable=yes(启用本地用户(登录后)的读写权限)
local_umask=022(FTP上本地的文件权限,默认是077)
dirmessage_enable=yes(切换目录时,显示目录下.message的内容)
connect_from_port_20=yes(启用FTP数据端口的数据连接)
chroot_local_user=NO(本地所有帐户都只能在自家目录)
chroot_list_enable=yes(文件中的名单可以调用)
chroot_list_file=/etc/vsftpd.chroot_list(上述文件所在的位置(绝对路径))
ls_recurse_enable=no(禁止用户使用 ls 命令)
userlist_enable=yes(启用 用户列表文件)
userlist_file=/etc/vsftpd.user_list(用户列表文件的绝对路径)
userlist_deny=no(用户列表名单中的人不允许访问)
pam_service_name=vsftpd(验证方式)
user_config_dir=/etc/vsftpd/vsftpd_user_conf(个人配置文件的路径(文件所在目录))

 添加用户,设置密码

useradd username
passwd password

 添加用户到ftp用户组

debian或Ubuntu:

user -G username ftp

Redat,Fedoar或Centos:

usermod -G ftp username

 

创建该用户的(FTP访问)文件夹,并修改所有者权限(如果所有者不是该用户)

创建文件夹命令:

mkdir 具体文件夹路径和名称

修改所有者:

chown -R 用户文件夹

注:

这个步骤可以不做,因为linux下创建了用户,系统会自动在 /home下,创建个文件夹,名字就是这个用户的,vsftpd会默认的认为,该用户的路径就是这个文件夹。其实为了方便,我倒是建议大家直接用默认的。这样可以省去很多因为权限导致的怪问题。

 建立用户配置文档
在/etc/vsftpd 下面建立 vsftpd_user_conf 文件夹

mkdir /etc/vsftpd/vsftpd_user_conf

下面再新建个文件,名字是你本地用户的名字

vi /etc/vsftpd/vsftpd_user_conf/username

里面内容是:

write_enable=yes(给予该本地用户读写权限)

建立用户访问列表

在/etc 文件夹下,新建vsftpd.chroot_list 文件

vi /etc/vsftpd.chroot_list

内容为允许访问FTP的本地用户的名字

username

在 /etc 文件夹下,新建vsftpd.user_list 文件

vi /etc/vsftpd.user_list

内容为允许访问FTP的本地用户的名字

username

 重启vsftpd    service vsftpd restart

至此,FTP文件服务器就完成了
 


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

将IIS设置克隆到新服务器...
将IIS设置克隆到新服务器的最佳方法是使用IIS配置文件。以下是详...
2025-06-06
搭建Git服务器及本机克隆...
Git是什么?Git是目前世界上最先进的分布式版本控制系统。SVN...
2025-03-17
ubuntu环境下搭建gi...
操作环境:服务器:Ubuntu 24.04.2 LTS+git 2...
2025-03-17
Linux系统挂载未分配硬...
先查看未挂载之前的磁盘使用情况发现磁盘使用率已经达到了96%,迫切...
2025-02-22
Linux lsblk 命...
简介Linux 中的 lsblk 命令,全称叫做:list blo...
2025-02-22
Ubuntu防火墙ufw的...
一、不使用IPv6打开UFW配置。sudo vim /e...
2024-12-28

热门资讯

SIOCADDRT: Netw... SIOCADDRT: Network is unreachable SIOCADDRT: 网络不可达...
centos7下创建新用户和组 linux下添加,删除,修改,查看用户和用户组 1 .增加一个test组 groupadd test...
linux通过sed 修改文件... 13sy.txt里面内容如下 A; B; C; write by luohao199621; 1.要...
关于cannot remove... 关于cannot remove directory: Directory not empty的解决办...
mount: unknown ... mount: unknown filesystem type LVM2_member解决方案 系统启...
OpenMediaVault安... OpenMediaVault 是一个基于Debian的专用 Linux 发行版,用于构建网络连接存储...
centos7 双网卡双网关的... 最近公司需要在一台服务器上同时使用内网和外网,并且都需要跨网段访问,因此需要双网关,但是一台机子上只...
ethtool 命令详解 1 概述 ethtool 是用于查询及设置网卡参数的命令。 2 命令详解 2.1 命令格式 (1) ...
CentOS7单网卡设置双IP... linux系统CentOS7单网卡设置双IP的方法,centos7.5、7.6、7.7设置双IP教程...
Linux进程状态D,S,Z的... Linux进程状态top,ps中看到进程状态D,S,Z的含义 在top和ps命令中有一列显示进程状态...