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
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
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 #原来的认证文件 删掉
chmod 755 /home/zs/ #默认虚拟账户登录的根目录为zs 的宿主目录
默认 所有虚拟用户权限一样 如果想要虚拟用户区分权限要为虚拟用户单独创建配置文件配置
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。