是否可以禁用ext3或ext4文件系统上的文件权限?


10

是否可以在ext3 / 4文件系统上禁用文件权限?

只是想知道是否有可能完全禁用或忽略ext3或ext4文件系统上的文件权限。也许是安装选项?

我并不担心安全隐患,因为我将在测试和可移动媒体时执行此操作。


2
为什么要从ext3或ext4文件系统中删除文件权限?它们是在考虑POSIX文件权限的情况下构建的。如果您要使用权限受限的文件系统,也许像FAT32或exFAT这样的文件系统会更好?
罗布·吉布森

我很好奇是否有Linux本机选项
Corey

2
使用FAT32是Linux的本机选项,因为它是受支持的文件系统。您仅需要使用不是为POSIX系统设计的文件系统,因为那些文件系统支持文件权限。
罗布·吉布森

1
不会成功$ sudo chmod -R 777 /your/filesystem吗?
Red Cricket'3

1
@RedCricket,如果答案是否定的,这将是一种解决方法
Corey

Answers:


5

这不是您唯一能做的。

有一种方法可以在不使用常规权限的情况下仅授予所有人权限,这会(以某种方式)使您的显示混乱。

这意味着ls --color(默认情况下)将始终o:rwX在块背景中显示,这是可怕的,仅用于警告用户错误的权限(当它们适合您时)。

但是,您可以使用访问控制列表轻松地实现对文件的通用(或接近通用)写入权限。

setfacl -d -m g:sudo:rwX .
setfacl -m g:sudo:rwX .

将向sudo组中的所有人授予rwX权限。由于大多数系统中,您将在sudo组中拥有一个用户,尤其是对于可移动媒体(因此,对于本地系统)而言,您将始终可以在该组中的任何人(您)中访问任何地方。如果您在使用该组的其他系统上,也可以将其扩展给用户:

setfacl -d -m g:users:rwX .
setfacl -m g:users:rwX .

-d标志意味着权限将传播到所有新创建的文件(默认)。唯一的缺点是您实际上通常看不到那些权限,这意味着您宁愿完全将其关闭(因此,如果您设置了所有人都可以规避的权限,那么在清除介质上有什么用,对吗?)。这就像说:如果您称自己为John,则可以访问这些文件。好吧,我称自己为约翰。很好,您现在可以访问。

(每个人都可以在他们拥有的每个系统上都拥有root身份,因此文件系统权限毫无意义)。

ExtFS并非仅适用于可移动媒体。没有可移动媒体上真正有用的Linux文件系统,但是FAT和NTFS的缺点是不真正支持符号链接和执行标志,例如,这对于git存储库来说很难。只是我的意见在这里。

您只能通过执行以下操作来查看文件ACL:

getfacl <file>

当您使用ls -l命令时,您将看到:

drwxr-xr-x+ 4 user user 4096 aug 31 03:40 .

+表示文件(或目录)上有一个活动的ACL。

getfacl的输出将是(例如):

# file: .
# owner: user
# group: user
user::rwx
group::rwx                      #effective:r-x
group:sudo:rwx                  #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:sudo:rwx
default:mask::rwx
default:other::r-x

我不知道所有的细节,但这应该可行。只要您处于sudo,您就可以做任何事情。


4

不,您不能放弃ext {2,3,4}文件系统的文件权限。

您唯一可以做的就是将所有文件设置为777权限。

赶紧跑:

 chmod a+rwX -R <mountpoint>

4
最好chmod a+rwX -R <mountpoint>不要提供虚假的执行权限。
vonbrand

@vonbrand右
H.-Dirk Schmitt

但是Xin chmod a+rwX使所有文件都可执行,对不对?这是好事??
becko

3
@becko您错过了前两个评论的重点。大写字母X只会使目录可执行(可输入),而不会使文件可执行;小写x将使所有文件和目录可执行。
XA21X

0

当然,文件系统权限仅由文件系统驱动程序(模块)检查,如果要修补该模块,则可以全部禁用文件系统权限。

我曾经为cifs.ko(内核的“ Samba”(客户端)模块)执行此操作,因为存在一些samba错误,您应具有本地访问权限,并且具有远程访问权限,但仍不授予访问权限。

我禁用了本地权限检查,如果本地用户是否在文件的(本地)组中,则与“ noperm”选项相同,这一次仅在您是组成员时才激活。

当然,extfs并不是内核中的模块,但是添加一个新标志将是微不足道的。


我不确定您是否在回答问题。您说有可能,如果它是一个模块,那么您说它不是一个模块。
杰夫·谢勒

如果太阳也可以在天空中跳动,那将是可能的。如果您对内核有所了解,那么您就会知道,不是模块的东西将需要重新编译整个内核,这对普通人来说有点过分,而编译模块是相对免费的。我只是在说一个事实,Linux没有内在的东西可以阻止这种选择的出现,因为这种限制也困扰了我很多。
Xennex81 '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.