安装ftp客户端及ftp文件传输服务器

FTP在OSI模型的第七层,TCP模型第四层,即应用层

包含两个通道:控制通道,端口21;数据通道,端口20

  1. 主动模式(PORT模式)
  2. 客户端对服务器发送请求,连接的是服务器的21号端口,客户端口号N是大于1024的随机端口
  3. 服务器的21端口给予客户端响应数据流
  4. 服务器打开20号端口去连接客户端的N+1的端口
  5. 客户端给予响应,数据开始传输
  6. 被动模式(PASV模式)
  7. 客户端对服务器发起的请求连接的是服务器的21号端口,客户端的端口号N是大于1024的随机端口
  8. 服务器的21号端口给予客户端响应
  9. 服务端打开大于1024的随机端口,客户端使用N+1端口去连接服务器打开的端口
  10. 服务器给予响应,数据传输

三种远程登录的方式:匿名登录、账号登录、虚拟用户

服务端:

  1. yum install vsftpd -y
  2. vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES   开启匿名

  1. /etc/init.d/vsftpd start
  2. netstat -anlpt|grep vsftpd
  3. cd /var/ftp/   站点目录
  4. mkdir test    准备测试文件
  5. echo “gaigai” >> test/text.txt
  6. ftp://192.168.1.20/test/      windows下访问
  7. yum install -y ftp            linux客户端

ftp 192.168.1.20

10. vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO    不允许匿名用户

11. /etc/init.d/vsftpd restart

12. 建立一个ftp本地系统用户,此用户不能登陆系统,且只能访问自己主目录下的文件   

useradd -d /var/ftp/test -g ftp -s /sbin/nologin ftpuser

-d命令是指定用户主目录,-g是指定用户分组

  1. tail -1 /etc/passwd
  2. echo 123456|passwd –stdin ftpuser
  3. mkdir -p /var/ftp/test
  4. chown -R ftpuser:root /var/ftp/test/
  5. echo chegnye > /var/ftp/test/test.txt
  6. ftp://192.168.1.20/    windos登录查看(需下载)

虚拟用户方式:

多个用户同时访问某一个目录,同时对同一目录下有着不同的权限

  1. mkdir /var/www/mis
  2. useradd -d /var/www/mis mis
  3. chown mis.mis /var/www/mis/
  4. vim /etc/pam.d/vsftpd   最后添加两行

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

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

  1. vim /etc/vsftpd/vuser_passwd.txt  创建名文密码

gaigai      用户名

211570xcy    密码

gaigai       用户名

123456       密码

  1. cd /etc/vsftpd/
  2. db_load -T -t hash -f vuser_passwd.txt vuser_passwd.db 生成密码db    (没db命令的可以先yum -y install db4-utils)
  3. chmod 600 /etc/vsftpd/vuser_passwd.db
  4. mkdir vuser_conf
  5. vim vuser_conf/gaigai      # 设置虚拟用户的权限

local_root=/var/www/mis/gaigai  指定目录

write_enable=YES             写权限

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

  1. vim vuser_conf/gaigai

anon_world_readable_only=NO   #关闭只可读

anon_upload_enable=YES        #允许上传

anon_mkdir_write_enable=NO    #允许新建目录

anon_other_write_enable=NO    #允许修改目录/文件名称,删除

local_root=/var/ftp/www/gaigai

  1. vim /etc/vsftpd/vsftpd.conf     去注释

anonymous_enable=NO       #禁止匿名用户

ascii_upload_enable=YES   上传

ascii_download_enable=YES 下载

chroot_local_user=YES   

#是否将所有用户限制在主目录,YES为启用 NO禁用

最后行加入

guest_enable=YES         #开启虚拟账户功能

guest_username=mis       #虚拟账号映射到本地哪个用户

pam_service_name=vsftpd #加载pam.d中哪个文件的机制

user_config_dir=/etc/vsftpd/vuser_conf  #虚拟用户的单个权限

  1. /etc/init.d/vsftpd restart

#是否启动限制用户的名单 YES为启用  NO禁用

chroot_list_file=/etc/vsftpd/chroot_list 

#是否限制在主目录下的用户名单

 

chroot_local_user=YES

chroot_local_user=NO

chroot_list_enable=YES

1.所有用户都被限制在其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,不受限制

1.所有用户都不被限制其主目录下 2.使用chroot_list_file指定的用户列表,这些用户作为“例外”,受到限制

chroot_list_enable=NO

1.所有用户都被限制在其主目录下 2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户

1.所有用户都不被限制其主目录下 2.不使用chroot_list_file指定的用户列表,没有任何“例外”用户

  1. touch /etc/vsftpd/chroot_list
  2. echo “gaigai is a boy” >> /var/www/mis/gaigai/a.txt
  3. echo “gaigia is a boy” >> /var/www/mis/gaigai/a.txt
  4. chmod 777 -R /var/www/mis/gaigai/
  5. chmod 777 -R /var/www/mis/gaigai/
  6. /etc/init.d/vsftpd restart
  7. setenforce 0

配置用户可登陆名单,并将新建用户添加进入ftp可登陆名单中

  1. cd /etc/vsftpd
  2. vim vsftpd.conf

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

  1. systemctl start vsftpd
  2. netstat -anlpt|grep vsftpd
  3. systemctl stop firewalld.service
  4. systemctl status firewalld.service

linux客户端:

1.rpm -Uvh ftp-0.17-54.el6.x86_64.rpm  yum install -y ftp

2.ftp

open ip(此ip的vsftpd服务要开)

然后输入用户名及密码

/root/yint下运行的ftp命令,则文件都下载到了/root/yint 下

get下载get [remote-file] [local-file]

put上传put local-file [remote-file]

scp /home/a.tar.tz root@192.168.0.2:/home/tmp/

版权声明:本文为guoxiaobao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/guoxiaobao/p/9479301.html