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登录 可以切换目录和下载文件