初识Linux(五)--vsftp的安装及常见错误

安装:
可以到官方网站去下载
http://vsftpd.beasts.org
也可以用光盘安装,RedHat 5的安盘里自带的,所以我选择光盘安装
(1)先把光盘挂载到系统上:
mount /dev/cdrom /mnt
这样光盘的内容就被挂载到/mnt的设备上,现在可以通过/mnt访问光盘上的内容了
(2)在光盘上安装vsftp,并且启动vsftp
rpm  -ivh vsftpd*
(3)修改启动方式,改为系统启动时,自动启动
chkconfig vsftpd on
也可以查看启动方式
chkconfig --list |grep vsftpd
只要在第2--5为on就能随机启动
(4)启动ftp
service vsftpd start
(5)连接测试
vsftp默认安装目录是:/etc/vsftpd
默认有一个ftp目录:var/ftp
vsftp默认是用允许匿名用户【anonymous】登陆,允许下载,但是不允许上传

如果连不上,可能是linux 防火墙的原因
停止防火墙:service iptables stop
开启防火墙:service iptables start


1)         文件结构
配置文件名
功能
/usr/sbin/vsftpd
vsftpd的主程序
/etc/rc.d/init.d/vsftpd
启动脚本
/etc/vsftpd/vsftpd.conf
主配置文件
/etc/pam.d/vsftpd
PAM认证文件
/etc/vsftpd.ftpusers
禁止使用vsftpd的用户列表文件
/etc/vsftpd.user_list
禁止或允许使用vsftpd的用户列表文件
/var/ftp
匿名用户主目录
/var/ftp/pub
匿名用户的下载目录
/etc/logrotate.d/vsftpd.log
vsftpd的日志文件
2)         配置文件
/etc/vsftpd/vsftpd.conf
Ø 参数含义
参数
含义
anonymous_enable=YES        是否允许使用匿名账户
local_enable=YES        是否允许本地用户登录
write_enable=YES        是否允许写入
local_umask=022            本地umask值为022
#anon_upload_enable=YES    匿名用户是否可上传文件
#anon_mkdir_write_enable=YES    匿名用户是否可建立目录
dirmessage_enable=YES        进入每个目录显示欢迎信息,在每个目录下建立.message文件在里面写欢迎信息
xferlog_enable=YES        上传/下载文件时记录日志
connect_from_port_20=YES    是否使用20端口传输数据(是否使用主动模式)
#chown_uploads=YES        修改匿名用户上传的文件,文件的拥有者
#chown_username=whoever
#xferlog_file=/var/log/xferlog    日志文件
xferlog_std_format=YES        使用标准文件日志
#idle_session_timeout=600    会话超时,客户端连接到ftp但未操作
#data_connection_timeout=120    数据传输超时
#nopriv_user=ftpsecure        指定vsftpd服务的运行帐户,不指定时使用ftp
#async_abor_enable=YES    是否允许客户端使用sync等命令
#ascii_upload_enable=YES    是否允许上传/下载二进制文件
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.    登录提示语
#deny_email_enable=YES    拒绝使用banned_email_file参数指定文件中所列出的e-mail地址进行登录的匿名用户。即,当匿名用户使用banned_email_file文件中所列出的e-mail进行登录时,被拒绝。
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_list_enable=YES        锁定登陆用户在其主目录,将用户名一个一行写在/etc/vsftpd/chroot_list文件里,使用此方法时必须chroot_local_user=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES        是否允许使用ls -R等命令
listen=YES            开启ipv4监听
#listen_ipv6=YES        开启ipv6监听
pam_service_name=vsftpd    使用pam模块控制,vsftpd文件在/etc/pam.d目录下
userlist_enable=YES        与其他中userlist_deny=YES共同控制访问用户,详见userlist_deny=YES参数含义
tcp_wrappers=YES        是否允许tcp_wrappers管理
其他
listen_address=ip address        指定侦听IP
listen_port=port_value        指定侦听端口,默认21
chroot_local_user=YES        限制所有的本地用户在自家目录
userlist_deny=YES        决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。此选项在userlist_enable选项启动后才生效。YES为默认值,禁止文件中的用户登录,同时也不向这些用户发出输入密码的提示。NO表示只允许在文件中的用户登录FTP服务器
local_root=/home/ftp        所有用户的根目录,对匿名用户无效
anon_max_rate=value        匿名用户的最大传输速度,单位是Byts/s
local_max_rate=value        本地用户的最大传输速度,单位是Byts/s
download_enable=YES        是否允许下载

 连接信息
代码            含义                    代码            含义
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            未执行请求的的命令,名称不正确


关于ftp用户连接时出现500 OOPS: cannot change directory:/root报错
1.   查看SELinux设置
          # getsebool -a | grep ftp
发现 ftpd_disable_trans –> off   或者      ftp_home_dir–>off

2.   使用setsebool命令开启
     # setsebool ftpd_disable_trans 1     或者    # setsebool ftp_home_dir 1

3.   查看当前状态是否是on的状态
       # getsebool -a|grep ftp
      此时  ftpd_disable_trans –> on     或者    ftp_home_dir–>on
4. 最后重启     # service vsftpd restart

另外     setsebool 使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1

黑名单
/etc/ftpusers文件中列出的用户是禁止使用FTP登录的,如果要使这些用户通过FTP登录,需要将其注销,即在用户名前面添加#。

可登录,可下载,不可上传    报错  553 Could not create file.
setsebool -P allow_ftpd_full_access 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值