本人Linux菜鸟一枚,最近项目中有用到对ftp的操作,无奈身边一穷二白,什么都需要从头开始,各种百度和查询资料,千辛万苦,排除万难。终于搭建好服务,顺利访问。 现总结一二,以备不时之需。 前言: 首先我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。 匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。 本地用户登录:使用系统用户登录,在/etc/passwd中。 虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。 FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。 首先服务器搭建: 1.检查vsftpd驱动是否正确安装 rpm -qa | grep vsftpd 2.确认安装PAM服务相关部件 pam-devel*******.rpm rpm -qa | grep pam* rpm -ivh pam-devel *******.rpm 本地用户登录 公司linux下自带vsftpd启动即可 service vsftpd start 虚拟用户登录 1. 添加虚拟用户口令文件 [root@CentOS5 /]#vi /etc/vsftpd/vftpuser.txt 添加虚拟用户名和密码,一行用户名,一行密码,以此类推。奇数行为用户名,偶数行为密码。 bobyuan #用户名 123456 #密码 markwang #用户名 123456 #密码 2. 生成虚拟用户口令认证文件 将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。 首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。 [root@CentOS5 /]#rpm –qa |grep db4-utils [root@CentOS5 /]#rpm –ivh db4-utils-4.3.29-9.fc6.i386.rpm 下面使用db_load命令生成虚拟用户口令认证文件。 [root@CentOS5 /]#db_load –T –t hash –f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db 3. 编辑vsftpd的PAM认证文件 在/etc/pam.d目录下, [root@CentOS5 /]#vi /etc/pam.d/vsftpd 将里面其他的都注释掉,添加下面这两行: auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser 4. 建立本地映射用户并设置宿主目录权限 所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。 [root@CentOS5 /]#useradd –d /home/vftpsite –s /sbin/nologin vftpuser [root@CentOS5 /]#chmod 700 /home/vftpsite 5. 配置vsftpd.conf(设置虚拟用户配置项) [root@CentOS5 /]#vi /etc/vsftpd/vsftpd.conf guest_enable=YES #开启虚拟用户 guest_username=vftpuser #FTP虚拟用户对应的系统用户 pam_service_name=vsftpd #PAM认证文件 virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/vconf 6. 给虚拟用户配置权限文件 /home/vftpsite/bobyuan:虚拟用户登录目录 别忘了设置权限(文件是root用户创建虚拟用户没有写入权限)chown -R vftpuser.vftpuser/home/vftpsite/bobyuan /etc/vsftpd/vconf 下给每个用户创建个权限文件,这个文件要和虚拟用户名称相同 例子: 文件名:bobyuan local_root=/home/vftpsite/bobyuan local_umask=022 idle_session_timeout=600 data_connection_timeout=120 max_client=10 max_per_ip=5 local_max_rate=50000 pam_service_name=vsftpd 7. 重启vsftpd服务 [root@CentOS5 /]#service vsftpd restart 8. 测试虚拟用户登录FTP C:\User\Administrator>ftp 192.168.120.240 连接到192.168.120.240。 220 Welcome to BOB FTP server 用户(192.168.120.240(none)):markwang 331 Please specify the password. 密码: 230 Login successful. (责任编辑:IT) |