Vsftpd 安装与配置
一 安装软件 vsftpd
1 ) Ubuntu 的软件包里面有 vsftpd 的源,所以直接用 apt-get 命令安装:
sudo apt-get install vsftpd
2 )如果想直接下载源代码安装,则需要保证系统有两个用户 nobody 与 ftp 以及一个空目录。具体过程略。
二 设置目录与用户
1) 添加用户组 vsftpd, 方便权限管理 : sudo groupadd vsftpd
2) 在 /home 目录下新建目录 vsftpd: sudo mkdir vsftpd
设置权限: sudo chown oneusername:vsftpd vsftpd
sudo Chmod 750 vsftpd
设置密码 : sudo passwd oneusername
这里的 oneuser 是一个 ftp 用户名,该用户拥有 vsftpd 目录的全部权限,其用户组只有读的权限,组外的用户没有任何权限。
3) 添加本地 ftp 用户,把 ftp 用户的家目录设置到 /home/vsftpd ,用户组设置为 vsftpd ,同样为了方便权限管理。
sudo useradd –g vsftpd –d /home/vsftpd/username username
可以设置自己的家目录权限
Chmod 750 /
4) 对于本来已经存在的本地用户 (local users) ,如果需要可以把他添加到 vsftpd 用户组。这样该用户才有权限读取 /home/vsftpd/ 目录下的文件与目录。
sudo usermod –G vsftpd username
5 ) vsftpd 的匿名用户为 ftp 或者 anonymous ,他们的家目录为 /srv/ftp. 安装好后这个目录是已经有的,如果没自己新建 :
cd /srv
sudo mkdir ftp
需要改变其权限 :
chown root:ftp /srv/ftp
chmod 755 /srv/ftp
注意: srv/ftp 的权限可以自己根据需要改,但是不能为 777 。否则运行时会报错。
同时我们需要开放一个目录给匿名用户上传(有读与写的权限),另外个目录字用来下载(只有读的权限)
Cd ftp
Sudo mkdir incoming ( 下载 )
Sudo mkdir pub (上传)
Sudo chown root:ftp incoming
Sudo chown root:ftp pub
Sudo chmod 770 pub
Sudo chmod 750 incoming
三参数设置
Vsftpd 的配置文件为 /etc/vsftpd.conf
1 全局设置
write_enable=YES 开放全局用户写权限
dirmessage_enable=YES 切换目录时候显示信息
use_localtime=YES 采用本地时间
2 匿名用户设置
anonymous_enable=YES 允许匿名登录
anon_world_readable_only=NO 当设置为 YES 时候,其他关于写的设置全部失效
anon_other_write_enable=YES 允许匿名用户有写的权限
anon_upload_enable = YES 允许匿名用户上传, anon_other_write_enable 必须为 YES
anon_mkdir_write_enable=YES 关闭匿名用户的创建目录的权限
说明: 这些设置要起作用还需要匿名用户对对应的目录有写的权限(前面已经完成对 /srv/ftp 下的目录权限设置)
no_anon_password=YES 匿名用户不需要密码
3 本地用户设置
local_enable=YES 允许本地用户登录
local_root=/home/vdftpd 本地用户的根目录为 /home/vdftpd
local_umask = 027 设置本地用户的文件生成掩码为 027 ,默认为 077
chroot_list_enable=YES 开启限制本地用户在根目录的功能
chroot_local_user=YES chroot_list_file 文件中的用户可以不受根目录限制
chroot_list_file=/etc/vsftpd.chroot_list 开启限制本地用户的根目录功能时候,该文件才有效果,可以自己创建,一行一个帐号
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list 文件 /vsftpd.user_list 中指定的本地用户可以访问 FTP ,而其他本地用户不可以访问
4vsftpd 性能参数
xferlog_enabel=YES 激活上传和下载日志
pam_service_name = vsftpd 设置 PAM 认证服务的配置文件的名称,存放在 /etc/pam.d 目录
connect_from_port_20=YES 启用 FTP 数据端口的链接请求
xferlog_std_format = YES 使用标准的 FTPD XFERLOG 日志格式
idle_session_timeout=600 空闲 10 分钟后被中断
data_connection_timeout=120 数据连接空闲 2 分钟后中断
accept_timeout=60
connect_timeout = 60 客户端空闲 1 分钟自动中断连接
local_max_rate=50000
anon_max_rate=30000
本地用户的最大传输速率为 50k bytes/sec 匿名为 30
四 vsftpd 服务命令
说明:这些命令都需要管理员权限,所有如果是 ubuntu 系统,在命令前加上 sudo ;如果是 fedora 系统,则只需要在执行命令前,切换到 root 用户,命令为 su 。
1 )启动 Vsftpd 服务其命令为:
service vsftpd start
2 )停止 Vsftpd 服务的命令为:
service vsftpd stop
3 )重新启动 Vsftpd 服务的命令为:
service vsftpd restart
4 )检查 Vsftpd 服务状态的命令为:
service vsftpd status
5 )也可以使用以下命令,实现相同的结果:
/etc/init.d/vsftpd start
/etc/init.d/vsftpd stop
/etc/init.d/vsftpd restart
附: FTP
数字代码的意义
110
重新启动标记应答。
120
服务在多久时间内ready
。
125
数据链路埠开启,准备传送。
150
文件状态正常,开启数据连接端口。
200
命令执行成功。
202
命令执行失败。
211
系统状态或是系统求助响应。
212
目录的状态。
213
文件的状态。
214
求助的讯息。
215
名称系统类型。
220
新的联机服务ready
。
221
服务的控制连接埠关闭,可以注销。
225
数据连结开启,但无传输动作。
226
关闭数据连接端口,请求的文件操作成功。
227
进入passive mode
。
230
使用者登入。
250
请求的文件操作完成。
257
显示目前的路径名称。
331
用户名称正确,需要密码。
332
登入时需要账号信息。
350
请求的操作需要进一部的命令。
421
无法提供服务,关闭控制连结。
425
无法开启数据链路。
426
关闭联机,终止传输。
450
请求的操作未执行。
451
命令终止:有本地的错误。
452
未执行命令:磁盘空间不足。
500
格式错误,无法识别命令。
501
参数语法错误。
502
命令执行失败。
503
命令顺序错误。
504
命令所接的参数不正确。
530
未登入。
532
储存文件需要账户登入。
550
未执行请求的操作。
551
请求的命令终止,类型未知。
552
请求的文件终止,储存位溢出。
553
未执行请求的的命令,名称不正确
本文详细介绍VSFTPD的安装步骤、用户与目录权限设置、关键参数配置及服务管理命令。帮助读者快速搭建稳定安全的FTP服务。
965

被折叠的 条评论
为什么被折叠?



