linux初体验(二)——ftp(vsftp)安装及配置
终于想真正用下linux了,并没有想象中的麻烦,只是~~靠,不会~~
由于某些原因,又只能用redhat7.3,明显没9.0来的方便。
二、ftp(vsftp)安装及配置
没用装7.3带的wu-ftp,从网上下载了vsftpd-2.0.1.tar.gz
1,建立默认用户,文件按夹,设置权限等
useradd nobody
root@mkdir /usr/share/empty/
root@mkdir /var/ftp/
root@usadd -d /var/ftp ftp
root@chown root.root /var/ftp
root@chmod og-w /var/ftp
以上用户和路径可能已经存在,如果提示已经存在,不用管它。
2,安装
把vsftpd-2.0.1.tar.gz复制到 /usr/local/src
root@cp vsftpd-2.0.1.tar.gz /usr/local/src
root@tar zxvf vsftpd-2.0.1.tar.gz
解压得文件夹 vsftpd-2.0.1
root@cd vsftpd-2.0.1
执行make install
root@make install
这将执行一些文件复制。
e g:
root@cp vsftpd /usr/local/sbin/vsftpd
root@cp vsftpd.conf.5 /usr/local/man/man5
root@cp vsftpd.8 /usr/local/man/man8
如果安装失败,可以检查这些是否复制成功。
需要手工复制下面的文件
root@cp vsftpd.conf /etc
3,调试
修改/etc/vsftpd.conf,在最后以行增加
listen=YES
root@vi /etc/vsftpd.conf
这样vsftpd就不会随inetd一起启动,确定21端口可以用。
下面手工启动vsftpd
root@/usr/local/sbin/vsftpd&
现在可以试着连接。
root@ftp localhost
Connected to localhost(127.0.0.1)
…………
…………
有可能登陆不成功,没关系,只要证明启动了就可以。
如果要以本地用户登录,还需要复制一个文件,否则会提示密码错误。
root@cp RedHat/vsftpd.pam /etc/pam.d/ftp
4,配置
如果要随xinetd一起启动,要做如下修改
修改/etc/vsftpd.conf,将刚才增加的
listen=YES
去掉。并对各配置项作修改,各项的意义如下
anonymous_enable=YES 是否允许匿名ftp,如否则选择NO
local_enable=YES 是否允许本地用户登录
local_umask=022 默认的umask码
anon_upload_enable=YES 是否允许匿名ftp用户访问
anon_upload_enable=YES 是否允许匿名上传文件
anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利
dirmessage_enable=YES 否显示目录说明文件,默认是YES但需要收工创建.message
文件
xferlog_enable=YES 是否记录ftp传输过程
connect_from_port_20=YES 是否确信端口传输来自20(ftp-data)
chown_upload=YES chown_username=username 是否改变上传文件的属主,如果是需
要输入一个系统用户名,你可以把上传的文件都改成root属主
xferlog_file=/var/log/vsftpd.log
ftp传输日志的路径和名字默认是/var/log/vsftpd.log
xferlog_std_format=YES 是否使用标准的ftp xferlog模式
idle_session_timeout=600 设置默认的断开不活跃session的时间
data_connection_timeout=120 设置数据传输超时时间
nopriv_user=ftpsecure 运行vsftpd需要的非特权系统用户默认是nobody
async_abor_enable=YES 是否允许运行特殊的ftp命令
修改/etc/xinetd.d/vsftpd
root@vi /etc/xinetd.d/vsftpd
将里面的
disable = YES
改为
disable = no
执行
root@service xinetd reload。
如果还不行则重起机器
root@reboot
现在vsftpd应该可以正常工作了。
另外还有些命令
service xinetd restart
/etc/rc.d/init.d/vsftpd start|stop|restart