有一个名为“A1”的 FTP 用户,主目录为“/home/A1”。A1 可以毫无问题地连接到 FTP。“/home/A1”中有两个文件:“abc.txt”和“def.txt”。
'abc.txt' 的权限:440;'def.txt' 的权限:660
我想将“/home/A1”与另外两个名为“A2”和“A3”的用户共享,因此他们的主目录是“/home/A1”,并且他们被添加到组“A1”。现在他们也可以毫无问题地连接到 FTP。
我希望“A2”和“A3”只能修改或删除“def.txt”,但不能修改或删除“abc.txt”。不幸的是,现在他们可以修改或删除这两个文件。
我该如何设置此配置?提前感谢您的帮助!
更新 #1
根据要求,这是以下命令的输出:
$ ls -lR /home/A*
/home/A1:
total 14912
drwxr----- .
-r--r--r-- 1 A1 A1 467 Aug 11 16:16 abc.txt
-rw-rw---- 1 A1 A1 15264286 Aug 11 16:18 def.txt
更新 #2
我创建了两个新用户,因为我用 A1 和 A2 尝试了所有可能的方法都失败了(也试了 B...),所以设置如下:
$ useradd C1 -m
$ passwd C1
$ useradd C2 -d /home/C1 -g C1
$ passwd C2
chmod chown 等等......
$ ls -laR /home/C1
/home/C1:
total 8
drw-rw---- 2 C1 C1 4096 Aug 14 00:39 .
drwxr-xr-x 35 root root 4096 Aug 14 00:37 ..
-r--r----- 1 C1 C1 0 Aug 14 00:39 abc.txt
-rw-rw---- 1 C1 C1 0 Aug 14 00:39 def.txt
记住:目的是不允许 C2 del/mod abc.txt,但他可以 del/mod def.txt
$ su C2
$ ls -la
ls: cannot open directory .: Permission denied
这到底是怎么回事?C2 可以读取组权限,为什么会出现“权限被拒绝”的情况?
答案1
我认为 A2 不能修改 abc.txt,但他可以删除它,因为该目录(可能)具有组权限 rwx,删除文件相当于修改/写入目录结构。
因此,可能
chmod g-w /home/A1
将会解决这个问题。
但是您只给出了一个例子,并没有指定一个抽象的权限方案,比如“A2 不应该能够修改 A1 的文件”之类的,而这应该是所有关于保护这些目录安全的思考的基础。
/home/A1# ls -la drwxr-x--- 2 A1 A1 4096 8 月 13 日 20:10。 drwxrwsr-x 10 root root 4096 8 月 13 日 20:04 .. -r--r--r-- 1 A1 A1 0 8月13日 20:04 abc.txt -rw-rw---- 1 A1 A1 0 8月13日 20:12 def.txt mark5:/home/A1# su A2 mark5:/home/A1$ id uid=20002(A2) gid=20002(A1) 群组=20002(A1) mark5:/home/A1$ rm abc.txt rm:删除写保护的常规空文件“abc.txt”?y rm:无法删除“abc.txt”:权限被拒绝 mark5:/home/A1$ echo 123 > abc.txt sh:abc.txt:权限被拒绝 mark5:/home/A1$ echo 123 > def.txt mark5:/home/A1$
不知道为什么这在你的平台上有效。如果你在控制台上尝试会怎么样?当你使用 FTP 登录时,你真的会成为用户 A2 吗?