以root账户登录RedHat bashshell
[root@redhat ~]# tar -zxvf vsftpd-2.0.5.tar.gz //解压vsftp source文件
[root@redhat ~]# cd vsftpd-2.0.5 //进入解压后的目录
[root@redhat vsftpd-2.0.5]# more INSTALL //看看装置阐明。比方要做什么作业。是个英文文档.
[root@redhat vsftpd-2.0.5]# useradd nobody //这儿需求加一个nobody用户。咱们能够运用finger nobody检查下。看是否有这个用户。用就不需求加了
[root@redhat vsftpd-2.0.5]# mkdir /usr/share/empty //这一步同上。服务器需求一个empty的空目录放在/usr/share/下。能够运用ls /usr/share/empty检查。假如存在就不需求了。这步也能够越过
假如需求敞开匿名用户拜访,需求做下面几步作业
[root@redhat vsftpd-2.0.5]# mkdir /var/ftp/ //创立供匿名用户运用的目录
[root@redhat vsftpd-2.0.5]# useradd -d /var/ftp ftp //创立ftp用户而且指定家目录为/var/ftp,这个过程一般的体系也有。假如创立提示:user ftp exists(FTP用户存在)就表明此用户现已存在。
持续下一步
[root@redhat vsftpd-2.0.5]# chown root.root /var/ftp //设置/var/ftp,也便是ftp用户的家目录属组和属主都是root,为了安全。这步仍是需求的
[root@redhat vsftpd-2.0.5]# chmod og-w /var/ftp //更改权限,去掉属组和其他人的写权限
上面这写作业做完了。下面就能够廉价了
[root@redhat vsftpd-2.0.5]# make //编译二进制文件
[root@redhat vsftpd-2.0.5]# make install //装置,装置的时分能够看到装置的相关文件。
[root@redhat vsftpd-2.0.5]# cp vsftpd.conf /etc/ //复制装备文件
[root@redhat vsftpd-2.0.5]# cp RedHat/vsftpd.pam /etc/pam.d/ftp //复制PAM安全验证文件此为验证文件地点的目录
[root@redhat vsftpd-2.0.5]# vi /etc/vsftpd.conf
然后按,跳到行尾。设置 pam_server_name=ftp(要与你的PAM文件同名);userlist_enable=YES(用户列表的用户不允许登入服务器)。然后:wq保存退出
[root@redhat vsftpd-2.0.5]# cp vsftpd.conf.5 /usr/local/man/man5
[root@redhat vsftpd-2.0.5]# cp vsftpd.8 /usr/local/man/man8
根本到这儿。一切作业就做完了。可是还要说点东西
默许情况下vsftp是以超级看护进程(xinetd)运转的。
发动方法(二种方法)
[root@redhat vsftpd-2.0.5]# service xinetd restart //重启超级看护进程就等于发动了vsftp
别的一个方法,便是独立运转需求修正装备文件
[root@redhat vsftpd-2.0.5]# vi /etc/vsftpd.conf
然后按,跳到行尾。加上listen=YES。然后:wq保存退出
这样就能够运用下面这条句子发动
[root@redhat vsftpd-2.0.5]# /usr/local/sbin/vsftpd //后台发动vsftp
[root@redhat vsftpd-2.0.5]# echo /usr/local/sbin/vsftpd >> /etc/rc.local //追加到发动脚本上
上 面两种方法可随意运用。我还对发动脚本做了一些试验(以service vsftpd start这种方法发动),终究仍是失利了。可是我想说。我尽力了。因为自己对shell编程不是很了解。未能写出一个运用的脚本,哎。学!或许仍是有方法处理。运用RPM方法装置一个vsftp,然后看看init.d里边的脚本是怎样写的。
下面贴一个他人的关于装备的文章
#匿名用户
anonymous_enable=NO
#anon_mkdir_write_enable=YES
#anon_upload_enable=YES
#本地用户能否登陆
#local_enable=YES
#是否可写
write_enable=YES
#VSFTPD独立运转 (用vsftpd /etc/vsftpd.conf )以及下载速度的约束
listen=YES
max_clients=600
max_per_ip=5
tcp_wrappers=YES
connect_from_port_20=YES
#anon_max_rate=51200 (56k)
#local_max_rate=512000 (560k)
#怎么更改途径
#anon_root=/var/ftp/pub
#local_root=/var/ftp
#怎么随意增加一个用户目录
经过useradd -d /path/dir -M name 以及chmod ? /path/dir 能够到达
#怎么对磁盘限额
用quota对/etc/fstab进行约束,然后对特定用户进行约束
弥补:
弥补一:怎么把用户约束在家目录中呢?
咱们要自己建一个文件,在/etc目录中
#touch /etc/vsftpd.chroot_list
以beinan这个用户为例
在vsftpd.chroot_list这个文件中,把beinan添上去就行。
然后改/etc/vsftpd/vsftpd.conf文件,找如下的两行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
把前面的#号去掉,也便是这样的
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
假如没有这样的两行,就能够自己增加上去也是相同的。
设置好后,从头vsFTPD服务器。
弥补二:翻开vsFTP服务器的日志功用:
把下面xferlog_file前面的#号对掉,也便是把vsftp的log功用翻开,这样咱们就能在/var/log目录下检查vsftpd.log。这是vsFTP的日志功用,这对于咱们来说是极为重要的。
#xferlog_file=/var/log/vsftpd.log
弥补三:怎么让绑定IP到vsFTP?也便是说,怎么让用户只能经过某个IP来拜访FTP。其实这个功用很有意思。假如绑定的是内网的IP,外部是没有方法拜访的。假如绑定的是对外服务的IP,内网也只能经过对外服务的IP来拜访FTP
在/etc/vsftpd/vsftpd.conf中加一行,以我的局域网为例,请看第一帖中的操作环境,这样外网就不能拜访我的FTP了,内网也或许经过192.168.0.2来拜访FTP
listen_address=192.168.0.2
加完后,要重启vsFTP服务器。