Linux FTP配置及调试总结。



FTP 用自己镜像里的包就可以。

rpm-qa  看一下电脑有没有装ftp, ftp服务的名字是vsftpd  。

rpm -ivh装就可以。

装好了修改配置文件,默认开启匿名访问。

如果不设置默认用户登录根目录为自己的属主目录  

如果不设置默认ftp匿名用户根目录为 /var/ftp/pub   其实装好直接service vsftpd start 开启后就可以用匿名访问使用。

要关防火墙 关setenforce


ftp的配置文件在   /etc/vsftpd/vsftpd.conf 

配置文件好多注释的信息看着不方便

grep -v "^#" /etc/vsftpd/vsftpd.conf   #过滤出来注释信息除外的有效信息,然后复制一下。

>/etc/vsftpd/vsftpd.conf   #清空ftp配置文件

下面是过滤出来的ftp默认的配置选项粘贴进去配置文件

anonymous_enable=YES    #设置是否允许匿名用户登录FTP服务器。默认为yes 所以安装后就可以匿名登录
local_enable=YES               #是否允许本地用户登录FTP服务器。默认为yes  所以随便创建个用户就可以登录
write_enable=YES             #是否对登录用户开启写权限。默认开启
local_umask=022              #用户创建文件的权限 注意这里是反掩码
dirmessage_enable=YES           #用户切换进入目录时显示.message文件
xferlog_enable=YES                  #启用xferlog日志
connect_from_port_20=YES      #ftp主动模式上传使用的端口号
xferlog_std_format=YES            #启用xferlog日志格式
listen=YES                                  #与独立的方式监听服务



pam_service_name=vsftpd       #用于用户认证的文件

userlist_enable=YES                   #此项为yes时 user_list文件的用户可以登陆ftp 前提是ftpusers文件里没这个用户 ftpusers文件里面的用户禁止登陆ftp

Linux FTP配置及调试总结。

tcp_wrappers=YES         #不清楚。没用过

默认可以匿名登录  匿名用户 ftp  密码为空

如果想对匿名用户 设置权限 有以下选项

anon_upload_enable=yes  #匿名用户是否可以上传文件 

anon_mkdir_write_enable=yes   #匿名用户是否可以创建目录

anon_root=/var/ftp        #如果想修改ftp匿名用户根目录可添加此项

如果想设置用户登录,创建用户。

useradd -s /sbin/nologin -d /var/ftp/ftp1 ftp1

这里用户登录后就是自己的宿主目录    /var/ftp/ftp1

下面有一些参数可以供调整

local_root=/var/ftp  #用户登录后的目录  如果要修改目录 请注意修改到的目录本身的权限 可以把属主改一下,不然可能影响写入。

local_umask=022   #用户上传文件的掩码  反掩码

local_local_user=yes #是否将用户禁锢在自己的宿主目录


为了安全考虑可以用一个真实用户映射多个虚拟用户,下面是ftp虚拟用户设置方法:

建立虚拟用户列表

cd /etc/vsftpd/

vim vuser.list 

文件格式 第一行用户名字第二行密码  以此类推

zs1
123
zs2
123
zs3

123

useradd zs -s /sbin/nologin   #虚拟用户建立在真实用户之上

db_load -T -t hash -f vuser.list vuser.db    #创建数据库文件

chmod 600 /etc/vsftpd/vuser.*  #让其他用户不能看 提高安全性 

vim /etc/pam.d/vsftpd.vu

Linux FTP配置及调试总结。

auth required pam_userdb.so db=/etc/vsftpd/vuser

account required pam_userdb.so db=/etc/vsftpd/vuser

vim /etc/vsftpd/vsftpd.conf  添加

guest_enable=yes    #启用用户映射
guest_username=zs    #指定映射用户
pam_service_name=vsftpd.vu   # 指定登录认证类型
pam_service_name=vsftpd    #原来的认证文件 删掉


Linux FTP配置及调试总结。

chmod 755 /home/zs/ #默认虚拟账户登录的根目录为zs 的宿主目录 

Linux FTP配置及调试总结。


默认 所有虚拟用户权限一样 如果想要虚拟用户区分权限要为虚拟用户单独创建配置文件配置

vim /etc/vsftpd/vsftpd.conf 

添加

user_config_dir=/etc/vsftpd/vusers_dir

 mkdir /etc/vsftpd/vusers_dir

vim /etc/vsftpd/vusers_dir/zs1   #添加zs1自己的配置文件

anon_upload_enable=yes
anon_mkdir_write_enable=yes

然后保存这样其他用户就没权限写了

service vsftpd restart















ok。