相关疑难解决方法(0)

为什么rm可以删除只读文件?

如果我创建一个文件,然后将其权限更改为444(只读),如何rm删除它?

如果我这样做:

echo test > test.txt
chmod 444 test.txt
rm test.txt
Run Code Online (Sandbox Code Playgroud)

...rm会问我是否要删除写保护的文件test.txt。我原以为rm不能删除这样的文件,我必须先做一个chmod +w test.txt。如果我这样做rm -f test.txt,然后rm将删除文件,甚至没有要求,即使它是只读的。

任何人都可以澄清吗?我正在使用 Ubuntu 12.04/bash。

permissions rm files readonly

101
推荐指数
2
解决办法
9万
查看次数

mv 文件没有对源文件的写权限

我刚刚意识到我可以移动一个我不拥有且没有写权限的文件。我对该目录有写权限,所以我猜这就是我可以移动它的原因,但在这种情况下,是否有保护源文件的方法?

该文件的权限如下;

cgi-bin> ls -al 

drwxrwxrwx   3 voyager  endeavor     512 Feb  1 10:45 .
drwxrwxrwx   6 voyager  endeavor     512 Feb  1 09:38 ..
-rwxr-xr-x   1 voyager  endeavor   22374 Feb  1 10:45 webvoyage_link.cgi

cgi-bin> whoami
moorc

cgi-bin> groups
lrsn endeavor

cgi-bin> rm webvoyage_link.cgi
rm: webvoyage_link.cgi: override protection 755 (yes/no)? yes
Run Code Online (Sandbox Code Playgroud)

最后一个对我来说是一个很大的惊喜。如何删除我无权访问的文件。显然我遗漏了一些东西。

permissions directory rename rm files

6
推荐指数
1
解决办法
9442
查看次数

硬链接、符号链接和 ACL 文件夹权限如何交互?

这对我来说有点难以实现,但我遇到了一种非常奇怪的行为,涉及ACL 扩展文件权限和硬/符号链接。我会尽力让我的问题简短明了,但我首先必须向您展示我目前情况的一个例子,因为我不知道发生了什么或它叫什么。


假设我们有一个有两个用户的系统,我们称他们为alicebob,他们在一定程度上共享一个名为 的文件夹,stuff具有以下权限:

bob@server:~$ getfacl /home/stuff getfacl: 
Removing leading '/' from absolute path names
# file: home/stuff
# owner: alice
# group: bob 
user::rwx
group::-wx
other::---
default:user::rwx
default:user:bob:rwx
default:group::-wx
default:mask::rwx
default:other::---
Run Code Online (Sandbox Code Playgroud)

如您所见,该文件夹的所有者是alice,但 bob 可以在其中写入内容并使其可执行,以便alice可以在(+x 标志)中运行。但是,由于 ACL,每次 bob 将文件写入/复制到 时stuff,文件的权限都会发生更改,最终如下所示。bob假设我们在主目录中创建一个文件并将其移动到stuff.

bob@server:~$ touch myfile
bob@server:~$ chmod 777 myfile
bob@server:~$ ls -la myfile
-rwxrwxrwx 1 bob bob 0 myfile

bob@server:~$ mv myfile /home/stuff/myfile
bob@server:~$ …
Run Code Online (Sandbox Code Playgroud)

security acl permissions hard-link symlink

5
推荐指数
1
解决办法
3517
查看次数

标签 统计

permissions ×3

files ×2

rm ×2

acl ×1

directory ×1

hard-link ×1

readonly ×1

rename ×1

security ×1

symlink ×1