FTP 服务器
FTP 是 File Transfer Protocol 文件传送协议的英文简介, 用于在 Internet 上控制文件的双向传输;
FTP 的主要作用就是让用户连接一个远程计算机, 并查看远程计算机中的文件, 然后把文件从远程计算机复制到本地计算机, 或把本地计算机的文件传送到远程计算机;
小公司使用最多, 大企业不用 FTP, 安全问题;
vsftpd 搭建 FTP 服务器
- yum install -y vsftpd // 安装 vsftpd
- useradd -s /sbin/nologin virftp // 创建用户 virftp, 设置此用户无法登陆系统;
- vim /etc/vsftpd/vsftpd_login // 内容如下, 奇数行为用户名, 偶数行为密码, 多个用户就写多行;
代码内容 (第一行为账号, 第二行为密码)
- testuser1
- 123456
- chmod 600 /etc/vsftpd/vsftpd_login // 赋予文件夹权限为 600
- db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db // 将账号密码文件转化为机器码的密码文件. db
- mkdir /etc/vsftpd/vsftpd_user_conf // 创建目录
- cd /etc/vsftpd/vsftpd_user_conf // 进入目录
- vim testuser1 // 新建虚拟用户 testuser1 配置文件
代码:
- local_root=/home/virftp/testuser1 // 设置目录为 / home/virftp/testuser1 下
- anonymous_enable=NO // 是否允许匿名用户
- write_enable=YES // 是否允许可写
- local_umask=022 // 设置 umask 权限
- anon_upload_enable=NO // 是否允许匿名用户上传
- anon_mkdir_write_enable=NO // 是否允许匿名用户可读写
- idle_session_timeout=600 // 会话空闲超时设置为 600 秒
- data_connection_timeout=120 // 数据传输的超时时间
- max_clients=10 // 最大客户端为 10 个
注意: 这里参数后面不要留空格, 不然登录 ftp 会告错 500;
ls: 登录失败: 500 OOPS: bad bool value in config file for: anonymous_enable
- mkdir /home/virftp/testuser1 // 创建 FTP 的目录
- touch /home/virftp/testuser1/test.txt // 在 FTP 文件目录下创建一个文件
- chown -R virftp:virftp /home/virftp // 赋予文件所有者和所有组
- vim /etc/pam.d/vsftpd // 在最前面加上
- auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
- account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
- vim /etc/vsftpd/vsftpd.conf // 编辑配置文件
将 anonymous_enable=YES 改为 anonymous_enable=NO
将 #anon_upload_enable=YES 改为 anon_upload_enable=NO
将 #anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加如下内容
- chroot_local_user=YES
- guest_enable=YES
- guest_username=virftp
- virtual_use_local_privs=YES
- user_config_dir=/etc/vsftpd/vsftpd_user_conf
- allow_writeable_chroot=YES
- systemctl start vsftpd // 启动 vsftpd 服务
- netstat -lntp // 查看网络端口
测试
lftp 工具测试
yum install -y lftp // 安装 lftp 工具
lftp 用户名 @ip // 登录模式
xshell 工具登录
选择登录模式为 SFTP 模式, 端口为 22;
设置好 SFTP 的接收文件路径后, 使用 root 用户登录, 不是使用 ftp 设置的登录账号登录;
来源: http://www.bubuko.com/infodetail-2541122.html