redhat的rpm包常用的ftp是vsftp程序。

程序相关的配置文件和地址:

/etc/vsftpd/ftpusers        禁止登录的用户清单配合userlist_enable=YES使用  默认是yes 里面的用户不可以登录 如果userlist_enable=NO 只允许ftpusers中的用户登录

/etc/vsftpd/user_list  

/etc/vsftpd/vsftpd.conf  

/etc/vsftpd/vsftpd_conf_migrate.sh

/var/ftp/pub

服务启动:

service vsftpd start

使用默认的配置可以使用默认的账号进行登录到ftp:

默认配置:

[root@oracle ~]# more /etc/vsftpd/vsftpd.conf |grep -v '#'|grep -v '^$'
anonymous_enable=YES          是否开启匿名登录 默认的是YES 可以匿名登录 一般修改改为NO       
local_enable=YES  是否支持本地用户登录 默认是YES 一般不修改
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

问题一:使用默认的时候,新建文件,报错显示没有权限

 

 

关闭匿名登录:

anonymous_enable=NO

重启服务:

service vsftpd restart

登录ftp

 

使用hadoop登录

默认登录的进用户的家目录下:

尝试新建,上传,下载都是正常的:

 

现在新建一个sleep用户 专门用于ftp登录,登录之后的文件夹是/sleep/app

useradd -d /sleep -m -s /sbin/nologin sleep

passwd sleep

密码:sleep

 

 禁止sleep登录,只需要将用户添加到ftpuser中:

 

 

 

案例分析:

在vsftpd.conf配置文件中增加

chroot_local_user=YES
chroot_list_enable=YES

现在有两个账号

sleep   在文件/etc/vsftpd/chroot_list中

hadoop 不在/etc/vsftpd/chroot_list中

 

使用hadoop登录 不可以切换目录  

使用sleep登录 可以切换目录和下载文件