node项目部署——阿里云centos部署ftp
2017-08-04 本文已影响399人
keenjaan
环境:
1、Centos 7.3
2、阿里云专有网络
安装
yum install -y vsftpd // 安装
systemctl start vsftpd.service // 启动vsftpd服务
ftp权限配置:
vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
1、vsftpd.conf // 主配置文件
2、ftpusers // 禁止访问 FTP 服务器的用户列表
3、user_list // 用户访问控制
这里只做简单配置,禁止切换目录。编辑 /etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:
anonymous_enable=NO (改为NO) // 禁用匿名用户
chroot_local_user=YES (改为YES) // 禁止切换根目录
切换目录权限配置:
chroot_list_enable=YES/NO(NO)
设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
chroot_list_file=/etc/vsftpd/chroot_list
用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
chroot_local_user=YES/NO(NO)
用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
通过搭配能实现以下几种效果:
1、当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
2、当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
3、当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
4、当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
故上面配置属于第三种情况,所有用户不能切换到其他目录。
如果使用情况1或者情况2时,要在/etc/vsftpd下新建chroot_list文件,配置相关用户。
重启服务:
systemctl restart vsftpd.service
创建一个用户 ftpuser
useradd ftpuser
限制用户 ftpuser只能通过 FTP 访问服务器,而不能直接登录服务器:
usermod -s /sbin/nologin ftpuser
上面两步可以合二为一:
useradd ftpuser -s /sbin/nologin
为用户 ftpuser 设置密码
方法一:
echo "keenjaan" | passwd ftpuser --stdin
方法二:
passwd ftpuser
输入两遍密码即可
2.5 为用户分配主目录
在/var中创建相关的目录
mkdir -p /var/ftp/pub
配置主目录即目录权限配置:
/var/ftp // 为主目录, 该目录只能读,不能写和执行
/var/ftp/pub // 文件具有读、写、执行权限
设置访问权限
chmod a-w /var/ftp && chmod 777 -R /var/ftp/pub
对ftp文件:有读取权限,没有写入权限。
对pub文件及其所有子文件:最高权限,读写,执行。
关于chmod命令:参考这个连接传送门
chmod [-cfvR] [--help] [--version] mode file...
参数 :
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
u 表示该文件的拥有者[user],
g 表示与该文件的拥有者属于组(group),
o 表示其他用户[other],
a 表示这三者皆是[all]。(常用)
+ 表示增加权限、(常用)
- 表示取消权限、(常用)
= 表示唯一设定权限。
r 表示有可读取的权限,
w 表示有可写入的权限,
x 表示有可执行的权限,
X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更 (常用)
--help : 显示帮助
--version : 显示版本
r=4,
w=2,
x=1
rwx属性则4+2+1=7;
rw-属性则4+2=6;
r-x属性则4+1=5。
设置为用户的主目录:
usermod -d /var/ftp ftpuser
在阿里云安全组中开放21端口号。
使用FileZilla登录到ftp报错,553,最终设置FileZilla传输设置里传输模式为主动,就能正常传输了。
到此ftp配置完成。这里有篇关于ftp配置文章很详细,传送门