Centos7之FTP服务实践
## FTP服务器配置
环境:
服务端:centos7 192.168.10.121
客户端:centos7 192.168.10.122
服务器缺省安装
- 安装vsftpd
- 启动服务
- 客户端安装ftp服务
- 客户端进行登录测试
- 修改服务端vsftp配置,锁定用户目录(修改前应备份配置文件)
- 修改配置文件及上传文件夹的权限,使匿名用户可以上传下载(ftp目录权限应当为755,不应修改)
- 登录后测试
- 上传下载测试
- 创建用于登录ftp的系统用户(为用户指定shell时需要检测/etc/shells文件是否存在该shell,不存在需要手动添加,否则无法登陆)
- 修改配置文件,并将用户加入允许登录列表,重启服务
- 登录系统用户并进行上传下载
使用虚拟用户登录
- 创建虚拟用户列表(用户列表文件中用户名为奇数行,密码为偶数行)
- 将用户列表文件转换为可识别的数据文件
- 添加系统用户,作为虚拟用户的实际映射(用户家目录权限必须为755)
- 修改vsftpd的PAM配置文件修改如下
- 修改vsftpd配置文件
- 为用户设定控制权限文件
- 重启服务
- 使用匿名账户进行登录
- 上传下载测试
注:user1只有读权限因此只能下载无法上传,user2拥有上传与下载权限,虚拟用户登录的根目录为创建实际用户时指定的家目录
ftp常用命令
- 连接主机
- ftp [options] [host]
- 非交互式登录
ftp -n HOST << EOF
user USERNAME PASSWD #登录
ACTIVE #表示进行文件上传或下载
EOF #结束退出ftp
-
基础命令
- dir:显示服务器目录和文件列表
- ls:显示服务器简易的文件列表
- cd:进入服务器指定的目录
- lcd:改变当前本地主机的工作目录,缺省为当前用户的家目录
- cdup:返回上一级目录
- pwd:显示当前所在路径
-
下载
- type:查看当前的传输方式
- ascii:设定传输方式为ASCII码方式
- binary:设定传输方式为二进制方式
- get:下载文件到当前路径下get filename
-
上传
- put:上传指定文件put filename [newname]
- send:上传指定文件send filename [newname]
-
退出
- close:结束与服务器的FTP会话返回到FTP命令状态
- quit:结束与服务器的FTP会话并退出FTP
- bye:结束与服务器的FTP会话并退出FTP
-
其他命令
- delete:删除指定文件
- help:查看帮助信息
- status:显示当前FTP的状态.
- system:显示远端主机系统类型.