设为首页 收藏本站
查看: 873|回复: 0

[经验分享] Linux的ftp设置

[复制链接]

尚未签到

发表于 2018-5-23 13:04:00 | 显示全部楼层 |阅读模式
实验03FTP

实验目标
    通过下面FTP配置完成下面几个简单实验
实验步骤
实验一
实验要求:
测试默认安装vsftpd的结果并验证下面几个问题。
匿名用户与本地用户是否可以登录
匿名用户与本地用户登录的家目录在哪里
匿名用户与本地用户登录后的权限
          [root@dhcpser ~]# rpm -q vsftpd
          package vsftpd is not installed  //没有安装软件包
          [root@dhcpser ~]# cd /misc/cd/Server  //这里你必须先挂载镜像才有
          [root@dhcpser Server]# ls *vsftpd*
          vsftpd-2.0.5-28.el5.x86_64.rpm
          [root@dhcpser Server]# rpm -ivh vsftpd-2.0.5-28.el5.x86_64.rpm
          [root@dhcpser Server]# service vsftpd restart
          [root@dhcpser Server]# chkconfig vsftpd on  //开机自动运行
          [root@dhcpser Server]# ls -lh /etc > /var/ftp/pub/etc.txt
          [root@dhcpser ~]# useradd test
          [root@dhcpser ~]# echo "redhat" | passwd --stdin test
          Changing password for user test.
          passwd: all authentication tokens updated successfully.

验证:(客户端测试)
          [root@localhost ~]# ftp 192.168.10.253
          Connected to 192.168.10.253.
          220 (vsFTPd 2.0.5)
          530 Please login with USER and PASS.
          530 Please login with USER and PASS.
          KERBEROS_V4 rejected as an authentication type
          Name (192.168.10.253:root): ftp  //匿名登录
          331 Please specify the password.
          Password:  //不需要输入密码
          230 Login successful.
          Remote system type is UNIX.
          Using binary mode to transfer files.
          ftp> pwd
      257 “/”
          ftp> cd pub
          250 Directory successfully changed.
          ftp> ls  
          227 Entering Passive Mode (192,168,10,253,75,98)
          150 Here comes the directory listing.
          -rw-r--r--    1 0        0           11627 Jun 13 02:04 etc.txt
          226 Directory send OK.
          ftp> get etc.txt  //下载文件,下载到进入ftp时用户所在目录
          local: etc.txt remote: etc.txt
          227 Entering Passive Mode (192,168,10,253,136,141)
          150 Opening BINARY mode data connection for etc.txt (11627 bytes).
          226 File send OK.
          11627 bytes received in 0.00082 seconds (1.4e+04 Kbytes/s)
          ftp> !ls  //查看是否成功下载
          anaconda-ks.cfg  etc.txt      install.log.syslog
          Desktop          install.log
          ftp> put install.log  //测试是否可以上传文件
          local: install.log remote: install.log
          227 Entering Passive Mode (192,168,10,253,46,17)
          550 Permission denied.
          ftp> quit
          [root@localhost ~]# lftp 192.168.10.253  //另一种ftp登录
          lftp 192.168.10.253:~> user test
          口令:
          lftp test@192.168.10.253:~> put install.log
          ...   //下载操作以及验证上传不再操作
答案:
匿名用户与本地用户都可以登录
匿名用户登录到/var/ftp,只能下载不能上传
本地用户登录到本地用户的家目录,可以上传和下载

实验二:
禁止匿名用户登录
修改FTP默认端口为2121
禁锢本地用户在自己家目录
实验步骤:
          [root@ser01 ~]# cd /etc/vsftpd/
          [root@ser01 vsftpd]# cp vsftpd.conf vsftpd.conf.bak
          [root@ser01 vsftpd]# vim vsftpd.conf
          在设置文件中改动下面三行
          12 anonymous_enable=NO
          119 listen_port=2121
          120 chroot_local_user=YES
          [root@ser01 vsftpd]# service vsftpd restart
          [root@ser01 vsftpd]# netstat -tulnp | grep vsftpd
          tcp        0      0 0.0.0.0:2121         0.0.0.0:*           LISTEN   4705/vsftpd
测试:
          [root@ser01 vsftpd]# ftp 192.168.10.253 //登录不上
          [root@ser01 vsftpd]# ftp 192.168.10.253 2121 或者
          [root@localhost ~]# lftp 192.168.10.253 -p 2345
          lftp 192.168.10.253:~> user dong
          口令:
          lftp dong@192.168.10.253:~>

实验三:验证黑/白名单
          /etc/vsftpd/ftpusers//黑名单
          /etc/vsftpd/user_list   //用户列表
          [root@ser01 ~]# useradd jerry
          [root@ser01 ~]# useradd mike
          [root@ser01 ~]# echo "redhat" | passwd --stdin jerry
          Changing password for user jerry.
          passwd: all authentication tokens updated successfully.
          [root@ser01 ~]# echo "redhat" | passwd --stdin mike
          Changing password for user mike.
          passwd: all authentication tokens updated successfully.
          //以上是设置用户和密码
          [root@ser01 ~]# grep test /etc/vsftpd/ftpusers
      test     //这里已经将用户test加入黑名单ftpusers
          //test能否登录FTP?            不能
          [root@ser01 ~]# grep jerry /etc/vsftpd/user_list
          Jerry    //jerry加入user_list
          //jerry能否登录FTP?           能
          [root@ser01 ~]# vim /etc/vsftpd/vsftpd.conf
          121 userlist_deny=NO 将配置文件中的第121行命令修改
          [root@ser01 ~]# service vsftpd restart
          //请问test、jerry、mike谁可以登录?   只有jerry可以登录   
实验完毕,请将主配置文件121 userlist_deny=NO注释,将user_list和ftpusers里面添加的账户去掉,这样方便设置实验四。

实验四:
本地用户登录到/data/ftproot目录
up上传/下载,down仅下载。拒绝所有用户登录包括匿名用户
最多20个并发,每IP地址最多2个并发
限制下载速度限制为100KB/s
          [root@ser01 ~]# mkdir -p /data/ftproot
          [root@ser01 ~]# useradd up
          [root@ser01 ~]# useradd down
          [root@ser01 ~]# echo "redhat" | passwd --stdin up
          [root@ser01 ~]# echo "redhat" | passwd --stdin down
          [root@ser01 ~]# vim /etc/vsftpd/vsftpd.conf
           12 anonymous_enable=NO

           18 write_enable=YES

          117 userlist_enable=YES

          121 userlist_deny=NO

          122 local_root=/data/ftproot
          123 max_clients=20
          124 max_per_ip=2
          125 local_max_rate=100000
          [root@ser01 ~]# service vsftpd restart
          [root@ser01 ~]# setfacl -m u:up:rwx /data/ftproot/
          [root@ser01 ~]# tail -n 2 /etc/vsftpd/user_list
          up
          down
          [root@ser01 ~]# dd if=/dev/zero of=/data/ftproot/local.tgz bs=1M count=1000

测试:
          [root@localhost ~]# wget ftp://up:redhat@192.168.10.253:2121/local.tgz

补充:
匿名用户登录对共享根目录禁止有写入权限,否则禁止匿名账户登录!
[root@localhost ~]# ftp 192.168.10.253 2121
          Connected to 192.168.10.253.
          220 (vsFTPd 2.0.5)
          530 Please login with USER and PASS.
          530 Please login with USER and PASS.
          KERBEROS_V4 rejected as an authentication type
          Name (192.168.10.253:root): ftp
          331 Please specify the password.
          Password:
          500 OOPS: vsftpd: refusing to run with writable anonymous root
          Login failed.

思考题:
FTP虚拟账户
系统有lily、mike、test用户,请问以下情况,谁可以登录FTP。(拒绝优先)
          [root@localhost ~]# grep lily /etc/vsftpd/ftpusers  
          lily
          [root@localhost ~]# grep mike /etc/vsftpd/ftpusers  
          mike
          [root@localhost ~]# grep mike /etc/vsftpd/user_list  
          mike
          [root@localhost ~]# grep userlist_deny /etc/vsftpd/vsftpd.conf
          userlist_deny=NO
          只有test可以访问
   问题和经验总结
共享文件的实际权限是共享权限和Linux文件权限取交集

故障现象: ftp目录设置读写权限以后不能登录
解决办法: 系统默认保护功能,不能开启写入权限
故障现象: 将用户加入user_list配置文件中不能访问
解决办法: 必须加一条userlist_deny=NO,因为默认为YES
故障现象: 用户在白名单中但不能访问
解决办法: 拒绝优先,黑名单中不能有该用户

  
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-480385-1-1.html 上篇帖子: linux添加组 下篇帖子: Linux的Samba共享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表