linux安装使用ftp笔记

yum -y install vsftpd;
yum -y install db4-utils; # pam加密工具
yum -y install lftp; # 测试ftp的工具(其实lftp是个上传下载工具)

systemctl restart vsftpd;
lftp anonymous@47.104.176.200 # 或者直接 lftp 47.104.176.200 也是作为匿名登录的(相当于直接用anonymous账户,ftp密码登录)
然后输入密码ftp,即可登录

默认是/var/ftp目录。 下面有个pub文件夹。
但是发现只能看,不能上传下载。也不能操作文件夹和文件。

vim /etc/vsftpd/vsftpd.conf
去掉这2个的注释
anon_upload_enable=YES
anon_mkdir_write_enable=YES
再添加一行:
anon_other_write_enable=YES # 否则不能操作文件
再添加一行:
anon_umask=022 # 注意,不是local_mask, 因为anon_umask和local_umask的默认值是都是077

systemctl restart vsftpd;
发现可以上传下载,增删文件了。

实际中要禁止匿名用户的:
anonymous_enable=NO # anonymous_enable的默认值是YES,所以一定要显式的禁用掉。 设置为NO之后,其他的匿名选项都失效了


本地用户登录:
useradd frank
passwd frank #设置密码1234
ssh frank@47.104.176.200 #验证下账户是否创建成功

systemctl restart vsftpd;
发现可以登录了。


虚拟用户口令登录:

vim /etc/vsftpd/vftpuser.txt
输入:
guanyu
1234
zhangfei
1234

用db_load命令生成虚拟用户口令文件(需要先安装db4-utils):
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db # 一定注意 最后的右斜杠,不加这个那么用法是错误的

编辑pam认证文件:
vim /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

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser

建立本地映射用户并设置宿主目录权限
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
useradd -d /home/vftpsite -m -s /sbin/nologin vftpuser # -m(create home dir)表示创建目录
chmod 700 /home/vftpsite

chmod 777 /home/vftpsite

配置vsftpd.conf:
找到pam_service_name=vsftpd # 文件中默认有这个选项,表示指定pam文件
并在上面添加2行:
guest_enable=YES #开启虚拟用户
guest_username=vftpuser #FTP虚拟用户对应的系统用户

vim /etc/vsftpd/vsftpd_user_conf/guanyu ,输入:
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/vftpsite/guanyu

vim /etc/vsftpd/vsftpd_user_conf/zhangfei ,输入:
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/vftpsite/zhangfei

service vsftpd restart # 启动ftp服务

yum -y install lftp # 安装测试ftp工具
lftp 47.104.176.200

local_enable=YES # 允许本地用户登录
write_enable=YES # 是否允许写入
local_umask=022 # 本地用户上传文件的umask
dirmessage_enable=YES #为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
xferlog_enable=YES #开启日志

xferlog_std_format=YES #标准格式
connect_from_port_20=YES
xferlog_file=/var/log/xferlog #ftp日志目录

idle_session_timeout=6000 #设置客户端连接时间

data_connection_timeout=1200 #设置数据连接时间 针对上传,下载
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #设置为YES则下面的控制有效
chroot_list_enable=YES #若为NO,则记录在chroot_list_file所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里YES.
chroot_local_user=YES
userlist_deny=NO #若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES #若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_file=/etc/vsftpd/user_list #白名单
chroot_list_enable=YES
local_root=/var/ftp/pub #根目录
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

ftp一定要配置白名单么??

ftp 默认的根目录是哪里??
/var/ftp # 一般通过 local_root=/var/ftp/pub 来设置 也有的说是 /var/ftp/pub

ftp默认的匿名用户是??
帐号: anonymous
密码: ftp

ftp匿名用户无法上传下载文件?
去掉这2个的注释
anon_upload_enable=YES
anon_mkdir_write_enable=YES
再添加一行:
anon_umask=022 # 注意,不是local_mask, 因为anon_umask和local_umask的默认值是都是077

ftp的日志文件在哪里??
/var/log 下的xferlog文件。


匿名登录选项:
anonymous_enable=YES 允许匿名登录
anon_umask=022
anon_upload_enable=YES 允许匿名下载
anon_mkdir_write_enable=YES 允许匿名创建文件(操作文件夹)
anon_other_write_enable=YES 操作文件

umask 相当于去掉权限:
假设文件夹是777 文件是666
022 文件夹是755 文件是644

umask值 文件 目录
022 644 755
027 640 750
002 664 775
006 660 771
007 660 770

==========================================
ftpusers和user_list:
ftpusers是万年黑名单,这里面的用户永远不能登录ftp。

user_list由userlist_enable和userlist_deny一起控制:

默认值(不启用用户列表功能,用户都可以访问):
userlist_enable=NO
userlist_deny=YES

只修改userlist_enable=YES: 启用用户列表功能,user_list中的用户都不能登录(相当于黑名单)
userlist_enable=YES
userlist_deny=YES

启用用户列表功能,只有user_list中的用户才能登录(相当于白名单)
userlist_enable=YES
userlist_deny=NO

如下表:

方案配置描述
默认(不启用策略)userlist_enable=NO userlist_deny=YES不开启user_list
所有用户都可以访问
黑名单策略userlist_enable=YES userlist_deny=YES开启user_list,采用拒绝策略,user_list中的用户拒绝访问
白名单策略userlist_enable=YES userlist_deny=NO开启user_list,采用同意策略,user_list中的用户才能访问

关于是否使用用户列表?? 默认不使用,但是推荐使用,因为更安全。

chroot_list_enable和chroot_local_user

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值