上一节中咱们已经学会了如何在Ubuntu中搭建FTP环境,本节将介绍如何为同一个目录分配权限:1.超级管理员(拥有上传,下载,修改,查看的权限);2.普通管理员(只拥有下载与查看的权限)
# sudo groupadd -g 168 ftpmanager
html
################# ###### UID ###### ################# >> 0:超级用户(管理员) ################# # 普通用户 1~65535 >> 1~499:系统用户(伪用户)(不能删) >> 500+:普通用户 ################# ###### GID ###### ################# >> 0:系统组(管理员) ################# # 普通组 1~65535 >> 1~499:系统组 >> 500+:普通组 1.添加用户组 groupadd [选项] 组名 选项: -g GID:指定组ID 2.修改用户组 groupmod [选项] 组名 选项: -g GID: 修改组ID -n 新组名:修改组名 例:groupmod -n testgrp group1 # 把组名group1修改成testgrp 3.删除用户组 groupdel 组名 注:不能存在初始用户在该组,不然没法删除 4.把用户添加入组或从组中删除 gpasswd [选项] 组名 选项: -a 用户名:把用户加入组 -d 用户名:把用户从组中删除 例:gpasswd [选项] 用户名 组名 5.查看组 groups 用户名
超级管理员linux
建立ftp文件夹web
# mkdir /home/ftptest
建立超级管理员ftpadmin
来管理ftptest目录shell
# sudo useradd -d /home/ftptest -s /bin/bash ftpadmin
设置ftpadmin
的密码安全
# sudo passwd ftpadmin
普通管理员bash
建立普通管理员ftpuser01
来管理ftptest目录服务器
# sudo useradd -d /home/ftptest -s /bin/bash ftpuser01
设置ftpuser01
的密码网络
# sudo passwd ftpadminn
1.添加用户 useradd [选项] 用户名 选项: -u UID: 手工指定用户的UID号 -d 家目录: 手工指定用户的家目录 -c 用户说明:手工指定用户的说明 -g 组名: 手工指定用户的初始组(至关于强制改掉) -G 组名: 指定用户的初始组(至关于加入) -s shell: 手工指定用户的shell。默认是/bin/bash 2.删除用户 userdel [-r] 用户名 选项: -r 删除用户的同时删除用户家目录 手工删除用户: >>># vi /etc/passwd >>># vi /etc/shadow >>># vi /etc/group >>># vi /etc/gshadow >>># rm -rf /var/spool/mail/[用户名] >>># rm -rf /home/[用户名] 若是删除后可经过 useradd [用户名] 若能成功添加,则该用户名以前已删干净了,不然未删干净 3.查看用户ID id [用户名]
ftpadmin
分配ftpmanager组# sudo usermod -G ftpmanager ftpadmin
ftpuser01
分配ftpmanager组# sudo usermod -G ftpmanager ftpuser01
# groups ftpadmin
或者 # groups ftpuser01
# sudo chown ftpadmin -R /home/ftptest
sudo chmod -R 755 /home/ftptest
ide
``` 关于权限755的解释: 在linux终端先输入ll,能够看到如: -rwx-r--r-- (一共10个参数) 表示文件所属组和用户的对应权限。 第一个跟参数属于管理员,跟chmod无关,先无论. 2-4参数:属于user 5-7参数:属于group 8-10参数:属于others r==>可读 w==>可写 x==>可执行 r=4 w=2 x=1 因此755表明 rwx r-x r-x ==>rwxr-xr-x 管理员ftpadmin拥有读写执行权限,组用户和其余用户拥有读写权限(便可如下载查看,并不能新建和修改) 若是是777 则表明 rwxr-rwx-rwx 全部用户均可读可写可执行。 ```
链接测试,发现居然 失败了!!!!!!!!!!!!!!!!
~~~尼玛~~~什么鬼工具
用ftp工具链接的或许会报相似这样的错误:500 OOPS: vsftpd: refusing to run with writable root inside chroot(). Please contact your web hosting service provider for assistance.
在网上查了一下,发现原来:从2.3.5以后,vsftpd加强了安全检查,若是用户被限定在了其主目录下,则该用户的主目录不能再具备写权限了!若是检查发现还有写权限,就会报该错误。
修改方法有三个,以下:
chmod 555 /home/ftptest
allow_writeable_chroot=YES
# sudo usermod -d /home/ftptest ftpadmin
# sudo usermod -d /home/ftptest ftpuser01
提示:
方法1,则须要子啊ftptest中新目录下超级管理员才能有写的权限;
方法2,可能影响其余ftp目录的管理,还存在安全性问题;
方法3,对我来讲除了多了几条命令,其余的都仍是比较满意,正式使用时我都是采用此法。
通过调整后,链接成功了!
用ftpadmin新建了一个文件222和一个文件夹333都成功了,修改222的内容也成功了
再来试试普通管理员ftpuser01
新建文件和文件夹都失败了
下载成功了
可是上传却失败了
经过测试,咱们发现只有ftpadmin拥有随意上传,下载,新建,修改的权限,ftpuser01只能下载和查看,证实了咱们的权限分配没有错。
用ftp工具链接的或许会报相似这样的错误:530 Login incorrect. Please contact your web hosting service provider for assistance.
查了一下资料,并经过测试发现问题主要出如今:购买的阿里云ECS未开放外网访问端口。
解决办法:开放端口。
参考自:http://www.winbiz.cn/zh_cn/Ne...
登陆阿里云ECS服务器控制面板,【网络和安全】->【安全组】,在右边选择【配置规则】->【添加安全组规则】,协议选所有,受权对象填0.0.0.0/0
最后肯定,保存便可。
好啦,ftp搭建告一段落,若是有什么问题能够联系我,若是文章有什么错误还请指出。