linux下ftp服务器的配置(实践篇)
一、环境说明
Linux版本:Red Hat Enterprise Linux ES release 4 (Nahant Update 2)
(用该命令可得到 # cat /etc/redhat-release)
ftp服务器:Vsftpd 开源服务器
Vsftpd版本:Jul 2008 - vsftpd-2.0.7 released
下载地址:http://vsftpd.beasts.org/
Probably the most secure and fastest FTP server for UNIX-like systems.
cuteftp client下载地址:http://www.globalscape.com/
二、安装与启动
1)Linux发行版本大都内置了Vsftpd服务,所以不必再安装,配置文件的目录是系统安装的默认目录。
2)启动、停止重启方法
#service vsftpd restart
#service vsftpd stop
#service vsftpd start
三、配置文件
Vsftpd主配置文件 /etc/vsftpd/vsftpd.conf 决定ftp服务器的主要操作。另外下面三个文件是辅助配置文件:
/etc/vsftpd.chroot_list
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
1)vsftpd.conf文件参数说明
[root@linuxserver vsftpd]# vi vsftpd.conf
主要说明下面的参数,必要的话修改为如下即可:
anonymous_enable=NO #不允许匿名登录
local_enable=YES #允许本地用户登录
write_enable=YES #允许用户写,根据实际情况来设置
anon_upload_enable=NO #不允许匿名用户上传文件
anon_mkdir_write_enable=NO #不允许匿名用户创建文件夹
dirmessage_enable=YES #激活欢迎信息功能
xferlog_enable=YES #启用上传下载日志功能
connect_from_port_20=YES #连接端口为默认端口
chroot_list_enable=YES #很重要,配合chroot_list文件控制chroot_list文件中的用户不能随意转到其他用户的ftp home目录下,便于安全保护与管理。
chroot_local_user=YES #同上作用,登录用户不能访问自己目录以外的ftp 目录。
chroot_list_file=/etc/vsftpd.chroot_list #是默认目录文件,可以不用修改,与chroot_list_enable参数配合使用。
pam_service_name=vsftpd #默认服务名称
#下面两个同时设置,表示仅允许user_list文件中的用户访问服务器
userlist_enable=YES
userlist_deny=NO
listen=YES #ftpd以独立模式运行,由自己监听和处理连接请求。
listen_port=4449 #重要,修改默认端口21为4449 便于安全保护与管理。
2)vsftpd.user_list 文件说明
[root@linuxserver vsftpd]# vi vsftpd.user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
#userlist_deny=YES
#仅允许temp_user用户访问ftp服务器
temp_user
3) vsftpd.ftpusers 配置文件不用修改,可采用默认即可,根据需要再加也可以。
4)vsftpd.chroot_list 文件
配合/etc/vsftpd/vsftpd.conf 文件中该参数chroot_list_enable=YES使用,
[root@linuxserver etc]# vi vsftpd.chroot_list
temp_user
#表示该文件中的temp_user用户不能随意转到其他用户的ftp home目录下,这样便于安全保护与管理。
四、ftp登录用户创建
比如创建用户temp_user
[root@linuxserver etc]# userdel temp_user #删除用户
[root@linuxserver etc]# useradd temp_user -d /home/redhat/test #创建用户temp_user,并指定其主目录为/home/redhat/test。
[root@linuxserver etc]# passwd temp_user #创建、修改密码
[root@linuxserver etc]# cd /home/redhat/ #如有/home/redhat/test1 目录
[root@linuxserver etc]# chown -R temp_user test1 #修改test1目录的所有者为temp_user,若需调整所有者时候需要该命令,-R表示内部子目录也同样生效。
[root@linuxserver etc]# chmod 764 test #给test目录分配读写执行的权限rwxrw-r--。
上面的配置任务是创建一个用户temp_user ,给其分配主目/home/redhat/test,并分配相应权限,其他用户只能读,所有者和组可以读写。只允许该用户访问ftp服务器,并且只能访问自己目录/home/redhat/test下的内容。
五、安装客户端cuteftp,配置ip,port,username,输入密码即可上传下载文件。
参考:
杨明华 等《Linux系统与网络服务管理技术大全 完全手册》,电子工业出版社 2008年版
http://www.enet.com.cn/article/2008/0828/A20080828351133.shtml