我们有时候需要通过FTP服务进行资源共享,但是经常又希望分发出去的不同的帐号有着不同的访问权限,比如现在有帐号A,B,C,而在资源文件夹内有三个对应的文件夹file_a
,file_b
,file_c
,我们希望A只能访问file_a
,而不能访问file_b
,file_c
;其他帐号同理,有着各自的访问域。这个时候,可以通过设置文件的所属和访问权限实现。本文系统基于ubuntu 16.04, FTP使用的是vsftpd进行部署的。
一般来说,文件如果是以D的帐号进行建立的,那么其文件所属就是D,一般来说除了root用户,就只有D可以进行访问,编辑和运行。其权限一般为777,如果我们希望除了root用户,只有A用户可以读和运行(一般公开的数据不允许他人删除和写入操作),那么可以:
# 假设file_a是文件夹
sudo chown -R user_A file_a/
sudo chmod -R 500 file_a/
其实很好理解,通过chown
将文件归属者改成需要设置给予权限的用户A后,通过chmod
将其访问权限设置为r-x,—,---,也就是只有所属者可读可运行,不可写即可了。从而就可以实现FTP给予不同用户以不同的访问域了。这是个直接粗暴的做法,如果有更好的做法,欢迎留言区评论建议,谢谢。
Reference
[1]. chmod 权限 命令详细用法
[2]. Linux chown命令