Linux中的FTP匿名、本地、虚拟登录笔记

Linux中的FTP服务
• 连接及传输模式

  • 控制连接:TCP21,用于发送FTP命令信息
  • 数据连接:TCP20,用于上传、下载数据
• 数据连接的建立类型
  • 主动模式:服务器端从20端口主动向客户端发起连接
  • 被动模式:服务器端在指定范围内某个端口被动等待客户端连接
• 传输模式
  • 文本模式:ASCII模式,以文本序列传输数据(传文本文件)
  • 二进制模式:Binary模式,以二进制序列传输数据(传视频、语音都行,所以使用多一些)
• 用户类型
  • 匿名用户:anonymous或ftp
  • 本地用户:账号名称、密码等信息保存在passwd、shadow文件中
  • 虚拟用户:使用独立的账号/密码数据文件
• 遇到的问题
  • ftp登录到的文件夹权限不能给777(权限问题很重要)
  • get和put的不能是目录
  • 实例:put /aa/2.txt 2.txt
  • 删除文件:delete 文件名
  • 删除目录:rmdir 目录名
  • 在登录的目录下创建目录,权限给到777,就可以在里面做很多操作
  • 登录后只能创建目录,不能创建文件
  • guest_enable开启后,只能虚拟登录
• 安装FTP
  • 挂载光盘
  • 关闭防火墙和selinux
  • 安装vsftpd(客户端还需安装ftp)
  • yum install -y vsftpd
  • 目录/var/ftp:用户ftp的宿主目录
  • 目录/var/ftp/pub:登录ftp时默认登录到这个目录
  • 配置文件:/etc/vsftpd/vsftpd.conf
• 三种登录
  • 匿名登录(需修改的配置/etc/vsftpd/vsftpd.conf)
    • anonymous_enable = YES(是否允许匿名用户登录)
     • local_enable = NO(是否允许本地用户登录,)
    • write_enable = YES(是否可写)
    • local_umask = 022(创建文件夹时默认掩码,当默认是022时,若给777,实际为755)
    • anon_root = /aa (修改登录到的文件夹,默认是/var/ftp)
    • 登录方式:ftp ip
     • ftp或者anonymous
     • 密码直接回车
  • 本地登录(需修改的)
    • anonymous = NO
    • local_enable = YES
    • local_umask = YES
    • local_root = /aa
    • chroot_local_user = YES(所有登录的用户都被限制在宿主目录内,不能操作整个服务器文件)
    • chroot_list_enable = YES(给某些用户特权,可以操作整个服务器文件),需要同时开启下面对应的list,退出配置文件,在刚刚list对应的文件里面写入需要允许的账户
  • 附
    • 登陆后的路径不同于匿名登录,本地登录后pwd查看路径可以看出,显示路径的方式与服务器实际一致,可以退到根目录然后操作整个服务器文件,为了安全,所以会给限制
  • 虚拟登录
    • 安装 db4,db4-devel,db4-utils中任一个
      • yum -y install db4*
    • 在/etc/vsftpd下创建文件vuser.list(名字随便写)
       • 在里面写虚拟的用户,奇数行为用户名,偶数行为上一行中用户名所对应的密码。
    • db_load -T -t hash -f vuser.list vuser.db(转化类型)
      • -T: 转化为其它数据库
      • -t:接验证格式(hash)
      • -f:接需要转化的文件及类型
      • file vusers.db(查看类型)
    • 修改权限
      • chmod 600 vuser.db
    • 可以创建一个不允许登录的用户也可以用旧的(最好新建)
      • useradd -d /var/ftp/cc -s /sbin/nologin cc
      • -d:接宿主目录,若已存在此目录,则不会新建目录,若不存在此目录,则新建
      • usermod -l:修改用户名
      • chmod 755 cc(修改宿主目录权限)
    • 做映射两种方式(修改pam配置)
      • # vim /etc/pam.d/vuser.pam //为虚拟用户创建PAM认证文件,文件名随意,为了辨认,前缀和上面一样,只修改后缀
        • auth required pam_userdb.so db=/etc/vsftpd/vuser (上面用户和密码文件路径,去掉后缀)
        • account required pam_userdb.so db=/etc/vsftpd/vuser
      • 注意:db=/etc/vsftpd/vsftpd_login 后面的.db必须去掉
      • # vim /etc/pam.d/vsftpd //将里面其他的都注释掉,添加下面这两行
        • auth required pam_userdb.so db=/etc/vsftpd/vuser
        • account required pam_userdb.so db=/etc/vsftpd/vuser
    • 修改配置文件
      • guest_enable = YES
      • guest_username = cc(与虚拟用户对应的本地用户)
      • pam_service_name = vuser.pam(指定新的PAM认证文件)
      • virtual_use_local_privs=YES/NO(是否把本地用户的权限给虚拟用户)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值