linux(fedor)安装ftp(转)
linux 配置FTP服务器
1.用RHEL4的第一张光盘安装软件包
? rpm -ivh vsftpd-2.0.1-5.i386.rpm
2.修改配置文件
? 1>/etc/vsftpd.ftpusers 文件保存禁止登陆FTP服务器的本地账号
? 2>/etc/vsftpd.user.list文件要与/etc/vsftpd/vsftpd.conf 文件配合使用
? 当vsftpd.conf文件中包括以下配置时,vsftpd.user.list文件中的用户账号禁止登陆FTP服务器
? userlist_enable = YES
? userlist_deny = YES
? 当vsftpd.conf文件中包括以下配置时,vsftpd.user.list文件中的用户账号可以登陆FTP服务器
? userlist_enable = YES
? userlist_deny = NO
? 当vsftpd.user.list文件与vsftpd.ftpusers文件冲突时,以vsftpd.ftpusers为准
3.启动服务
? service vsftpd start
? chkconfig --level 35 vsftpd on
4.用户登陆类型
? 1>匿名用户登陆
? 用户名为ftp或anonymous,无密码,登陆FTP服务器后进入/var/ftp目录下,并将其作为根目录,只能
? 下载不能上传
? #netstat -n 可以查看客户机建立的命令链接
? ftp>sendport 开启/关闭当前连接FTP服务器的主动模式
? ftp>passive 开启/关闭被动模式
? 2>本地用户名登陆
? 用户名为FTP服务器系统账号,有密码,可以随时切换目录,登陆目录为宿主目录。可以上传下载。
? 将本地用户禁锢在其宿主目录中的配置:
? 修改/etc/vsftpd/vsftpd.conf文件,添加
? chroot_local_user = YES
? 重启FTP服务
? 3>虚拟用户登陆
? A.建立虚拟用户口令库文件
??? vi logins.txt
??? 文件内容格式为: 用户名(单号行)
???????????????????? 密码? (双号行)
? B.生成vsftpd的认证文件
??? db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
??? chmod 600 /etc/vsftpd/vsftpd_login.db (修改权限为仅管理员刻读写)
? C.建立虚拟用户的PAM配置文件
??? 在/etc/pam.d目录下建立虚拟用户身份认证的PAM配置文件,例如:vsftpd.vu 并添加如下内容:
??? auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
??? account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
? D.创建虚拟用户及其访问目录
??? useradd -d /home/ftpsite(指定的宿主目录) virtual(虚拟用户名)
??? chmod 700 /home/ftpsite/(指定的宿主目录)
??? 所有的虚拟用户登陆都将在指定的宿主目录中,若未指定则在与用户名同名的宿主目录中登陆
? E.设置vsftpd.conf配置文件,添加虚拟用户配置项
??? guest_enable = YES
??? guest_username = virtual (虚拟用户系统用户名)
??? pam_service_name = vsftpd.vu (PAM配置文件名)
? F.重启FTP服务
? G.对不同的虚拟用户设置不同的权限
??? 修改主配置文件vsftpd.conf,添加如下配置:
??? user_config_dir = /etc/vsftpd_user_conf(虚拟用户配置文件目录的绝对路径)
??? 建立虚拟用户配置文件的目录
??? mkdir /etc/vsftpd_user_conf
??? 为每个虚拟用户建立独立的配置文件,配置文件名同用户名,例如:
??? touch /etc/vsftpd_user_conf/virtual
??? 常用配置项:
??? anon_world_readable_only = NO (可浏览和下载)
??? anon_upload_enable = YES (可上传文件)
??? anon_mkdir_write_enable = YES (可建立和删除目录)
??? anon_other_write_enable = YES (可对文件改名和删除文件)
附录:典型FTP配置
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
chroot_local_user=YES
max_clients=100
max_per_ip=5
local_max_rate=500000
anon_max_rate=200000