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

[经验分享] linux ftp

[复制链接]
发表于 2019-2-17 12:21:56 | 显示全部楼层 |阅读模式
  ftp:   文件传输协议

  软件包: vsftpd
  ftp端口: 控制端口 21/tcp  数据端口 20/tcp(主动模式)
  配置文件: /etc/vsftpd/vsftpd.confman vsftpd.conf  man smb.conf
  服务端配置:
  [root@station230 ~]# yum -y install vsftpd
  [root@station230 ~]# service vsftpd restart
  [root@station5 ~]# grep ftp /etc/passwd
  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
  [root@station5 ~]# grep alice /etc/passwd
  alice:x:2008:2012::/home/alice:/bin/bash
  小总:vsftpd未做任何配置:
  1. 匿名用户仅能从被锁定的根目录下载文件  /var/ftp
  2. 系统用户可以上传文件到他有写权限的任何目录,HOME目录未被锁定
  vsftpd支持的用户类型:
  匿名用户:ftp
  系统用户: alice,jack
  虚拟用户: 不存在于系统账号数据中,安全,例如mysql提供的用户账号
  从客户端测试:
  [root@station5 ~]# yum -y install ftp lftp
  [root@station5 ~]# ftp 192.168.2.115//输入用户名和口令
  [root@station5 ~]# lftp 192.168.2.115//匿名用户
  [root@station5 ~]# lftp alice@192.168.2.115//指定用户
  [root@station80 ~]# wget ftp://192.168.2.80/rhel5.repo
  [root@station80 ~]# wget ftp://192.168.2.80/rhel5.repo -O /etc/yum.repo.d/rhel5.repo
  [root@station80 ~]# cat download.txt
  ftp://192.168.2.80/rhel5.repo
  ftp://192.168.2.80/raid.png
  [root@station80 ~]# wget -i download.txt
  ========基本配置、访问控制========
  注意:空格,指令错误,指令重复
  [root@station230 ~]# egrep -v '^#|^$' /etc/vsftpd/vsftpd.conf
  [root@station230 ~]# cp /etc/vsftpd/vsftpd.conf{,.bak}备份配置文件
  anonymous_enable=YES//是否允许匿名用户登录
  local_enable=YES//是否允许本地用户登录
  write_enable=YES//是否允许写(全局)
  local_umask=022//控制本地用户上传文件的默认权限,umask表示要减掉的权限
  anon_umask=077//控制匿名用户上传文件的默认权限
  chroot: 锁定用户HOME,针对系统用户
  方法一:部分限制
  chroot_list_enable=YES
  chroot_list_file=/etc/vsftpd/chroot_list
  方法二:全部限制
  chroot_local_user=YES
  anon_max_rate=500000//匿名用户限速
  local_max_rate=80000//本地用户限速
  max_clients=500//ftp最大连接数
  max_per_ip=2//单个IP最大连接数,线程数
  local_root=/ftproot//指定本地用户访问的root目录
  anon_root=/anonroot//指定匿名用户访问的root目录
  案例1:
  1. 为各个部门建立ftp访问用户,包括部门的管理员
  [root@station230 ~]# mkdir -p /ftproot/{hr/{hr01,hr02},it,sale}
  [root@station230 ~]# chmod -R 777 /ftproot/
  [root@station230 ~]# useradd admin -s /sbin/nologin
  [root@station230 ~]# useradd hr_admin -s /sbin/nologin
  [root@station230 ~]# useradd hr01_admin -s /sbin/nologin
  [root@station230 ~]# useradd hr02_admin -s /sbin/nologin
  [root@station230 ~]# useradd it_admin -s /sbin/nologin
  [root@station230 ~]# useradd sale_admin -s /sbin/nologin
  [root@station230 ~]# passwd admin
  ==================================================
  [root@station230 ~]# for i in admin hr_admin hr01_admin hr02_admin it_admin sale_admin
  > do
  > useradd $i -s /sbin/nologin
  > echo 1 |passwd $i --stdin
  > done
  =========================================================================
  2. 配置FTP服务器
  注:使用匿名访问公司公共的资源
  ===主配置文件
  [root@station230 ~]# vim /etc/vsftpd/vsftpd.conf
  write_enable=NO
  chroot_local_user=YES
  local_max_rate=100000
  max_per_ip=2
  user_config_dir=/etc/vsftpd/vsftpd_user_conf指定用户私有配置文件存放的目录
  [root@station230 ~]# service vsftpd restart
  ===私有配置文件
  [root@station230 ~]# mkdir /etc/vsftpd/vsftpd_user_conf
  [root@station230 ~]# cd /etc/vsftpd/vsftpd_user_conf/
  [root@station230 vsftpd_user_conf]# cat admin
  local_root=/ftproot
  write_enable=YES
  local_max_rate=0
  max_per_ip=0
  ===============vsftpd启动排错===================
  尝试启动
  [root@station11 ~]# service vsftpd restart
  关闭 vsftpd:                                              [失败]
  为 vsftpd 启动 vsftpd:                                    [失败]
  查看该服务的端21/tcp是否被占用
  [root@station11 ~]# netstat -tnlp |grep :21
  tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      3514/xinetd
  tcp        0      0 0.0.0.0:2105                0.0.0.0:*                   LISTEN      3514/xinetd
  使用lsof查看21/tcp被哪个进程占用
  [root@station11 ~]# lsof -i TCP:21
  COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
  xinetd  3514 root   17u  IPv4   9902      0t0  TCP *:ftp (LISTEN)
  [root@station11 ~]# ls /etc/xinetd.d/
  chargen-dgram   daytime-stream  echo-stream   klogin       rsync          time-stream
  chargen-stream  discard-dgram   eklogin       krb5-telnet  tcpmux-server
  cvs             discard-stream  ekrb5-telnet  kshell       tftp
  daytime-dgram   echo-dgram      gssftp        rmcp         time-dgram
  [root@station11 ~]#
  [root@station11 ~]# cd /etc/xinetd.d/
  [root@station11 xinetd.d]# grep 21 *
  [root@station11 xinetd.d]# grep ftp *
  gssftp:service ftp
  gssftp: server          = /usr/kerberos/sbin/ftpd
  rsync:# description: The rsync server is a good addition to an ftp server, as it \
  tftp:# description: The tftp server serves files using the trivial file transfer \
  tftp:#  protocol.  The tftp protocol is often used to boot diskless \
  tftp:service tftp
  tftp:   server                  = /usr/sbin/in.tftpd
  tftp:   server_args             = -s /tftpboot
  [root@station11 xinetd.d]# cat gssftp
  # default: off
  # description: The kerberized FTP server accepts FTP connections \
  #              that can be authenticated with Kerberos 5.
  service ftp
  {
  disable = no
  flags           = REUSE
  socket_type     = stream
  wait            = no
  user            = root
  server          = /usr/kerberos/sbin/ftpd
  server_args     = -l -a
  log_on_failure  += USERID
  }
  [root@station11 xinetd.d]# chkconfig gssftp off
  [root@station11 xinetd.d]# service xinetd restart
  停止 xinetd:                                              [确定]
  启动 xinetd:                                              [确定]
  [root@station11 xinetd.d]# lsof -i TCP:21
  [root@station11 xinetd.d]# netstat -tnlp |grep :21
  tcp        0      0 0.0.0.0:2105                0.0.0.0:*                   LISTEN      4717/xinetd
  [root@station11 xinetd.d]# service vsftpd restart
  关闭 vsftpd:                                              [失败]
  为 vsftpd 启动 vsftpd:                                    [确定]
  [root@station80 ~]# netstat -tnlp |grep :80检查某个端口是否被占用




运维网声明 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-673566-1-1.html 上篇帖子: linux cron 下篇帖子: linux web
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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