VSFTPD

来源:互联网 发布:财智家庭理财软件 编辑:程序博客网 时间:2024/05/24 01:45

Vsftpd安装与配置

安装软件vsftpd

  1 Ubuntu的软件包里面有vsftpd 的源,所以直接用 apt-get命令安装:

     sudo  apt-get install  vsftpd

2)如果想直接下载源代码安装,则需要保证系统有两个用户nobodyftp以及一个空目录。具体过程略。

设置目录与用户

  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

5vsftpd的匿名用户为ftp或者anonymous,他们的家目录为/srv/ftp.安装好后这个目录是已经有的,如果没自己新建:

cd  /srv

sudo  mkdir ftp

 需要改变其权限:

 chown root:ftp /srv/ftp

      chmod755 /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 770pub

Sudo chmod 750incoming

三参数设置

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_enableYES       允许匿名用户上传,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_umask027       设置本地用户的文件生成掩码为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_namevsftpd   设置PAM认证服务的配置文件的名称,存放在/etc/pam.d目录

connect_from_port_20=YES    启用FTP数据端口的链接请求

xferlog_std_formatYES     使用标准的FTPD XFERLOG日志格式

  idle_session_timeout=600        空闲10分钟后被中断

 data_connection_timeout=120     数据连接空闲2分钟后中断

        accept_timeout=60

connect_timeout60客户端空闲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
未执行请求的的命令,名称不正确

原创粉丝点击