阿里云搭建 FTP 服务器
操作系统应该是 CentOS 。
1. 安装 vsftpd
#yum install vsftpd -y
2. 检查 nologin 的位置
nologin 通常在 /user/sbin/nologin 或者 /sbin/nologin,我的服务器上是后者
3. 添加 FTP 用户
首先 mkdir 作为被访问的主文件夹,我要做的是微信开发,例如 /wechat/wwwroot
使用以下命令添加用户:
#useradd -d /wechat/wwwroot -s /sbin/nologin lemalftp
解释一下:
-d 意为「指定主文件夹」,紧随其后就是刚刚 mkdir 的文件夹
-s 意为「指定用户登录 Shell」,默认情况下是 /bin/bash ,此处设为 nologin
lemalftp 为所添加的用户名
添加 FTP 用户过程中可能出现「此主目录已经存在。不从 skel 目录里向其中复制任何文件。」的问题。解决方法看这里:http://www.ithov.com/linux/130797.shtml
修改用户密码:
#passwd lemalftp
修改指定目录的权限
#chown -R lemalftp.lemalftp /wechat/wwwroot
4. 配置 vsftpd
#vi /etc/vsftpd/vsftpd.conf
将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
取消如下配置前的注释符号:
local_enable=YES
write_enable=YES
chroot_local_user=YES
5. 修改 shell 配置
vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去
6. 启动vsftp服务并测试登录
使用命令启动vsftp服务:
#service vsftpd start
如上是根据官方文档做的操作,但还是无法写入文件。
我进行了如下操作后成功写入:
a. chroot_list_enable 去注释
b. 对应的 list file 那行也要去注释,同时在指定的目录简历 chroot_list
c. 在 chroot_list 文件里每行一个地写用户名,类似于白名单的东西吧
1. 安装 vsftpd
#yum install vsftpd -y
2. 检查 nologin 的位置
nologin 通常在 /user/sbin/nologin 或者 /sbin/nologin,我的服务器上是后者
3. 添加 FTP 用户
首先 mkdir 作为被访问的主文件夹,我要做的是微信开发,例如 /wechat/wwwroot
使用以下命令添加用户:
#useradd -d /wechat/wwwroot -s /sbin/nologin lemalftp
解释一下:
-d 意为「指定主文件夹」,紧随其后就是刚刚 mkdir 的文件夹
-s 意为「指定用户登录 Shell」,默认情况下是 /bin/bash ,此处设为 nologin
lemalftp 为所添加的用户名
添加 FTP 用户过程中可能出现「此主目录已经存在。不从 skel 目录里向其中复制任何文件。」的问题。解决方法看这里:http://www.ithov.com/linux/130797.shtml
修改用户密码:
#passwd lemalftp
修改指定目录的权限
#chown -R lemalftp.lemalftp /wechat/wwwroot
4. 配置 vsftpd
#vi /etc/vsftpd/vsftpd.conf
将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
取消如下配置前的注释符号:
local_enable=YES
write_enable=YES
chroot_local_user=YES
5. 修改 shell 配置
vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去
6. 启动vsftp服务并测试登录
使用命令启动vsftp服务:
#service vsftpd start
如上是根据官方文档做的操作,但还是无法写入文件。
我进行了如下操作后成功写入:
a. chroot_list_enable 去注释
b. 对应的 list file 那行也要去注释,同时在指定的目录简历 chroot_list
c. 在 chroot_list 文件里每行一个地写用户名,类似于白名单的东西吧