问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在linux系统中哪个文件系统不支持文件权限控制

发布网友 发布时间:2023-05-03 07:44

我来回答

5个回答

热心网友 时间:2023-05-03 07:59

文件的权限管理是否生效是由文件系统决定的,传统的linux文件系统都是支持的,如ext4、xfs,不支持的比如vfat既windows中的fat32,是不支持权限设置的

进程对文件的访问权限应用模型:

首先检查进程的属主与文件的属主是否相同,如果相同,则应用属主权限;如果不同就查看suid权限,如果相同就使用suid权限;如果匹配,就不检查后面的权限了。
其次,则检查进程的属组是否属于文件的数组,如果是,则应用属组的权限;如果不同就查看sgid权限,如果相同就是用sgid权限;如果匹配,就不检查后面的权限了。
最后只能应用 other 权限。
同用权限
权限说明
目录是一个特殊的文件,内容就是其中所有的目录文件列表,rwx权限对应的是对文件列表的权限,对于目录来说,可执行权限是基本权限。

类型rwx
文件可读可写可将此文件运行为进程
目录可以使用ls命令获取其下的所有文件列表可以修改此目录下的文件列表,即创建和删除文件可以 cd 至目录中,可以使用 ls -l 来读取所有文件的详细属性信息,使用cat来查看文件内容
有一个特殊的指向权限,大X , 该设置只对目录添加可执行权限,而不对文件添加可执行权限【除非文件本身带有可执行权限位】

权限组合机制(八进制组合标识法)
原始二进制数字
—0000
–x0011
-w-0102
-wx0113
r–1004
r-x1015
rw-1106
rwx1117
同ls -l可以发现符号链接类型的文件权限都是777,但实际上通过符号链接访问其指向的文件的时候,权限由其指向的文件权限决定的。

chmod
chmod [OPTION]... MODE[,MODE]... FILE...

MODE表示法:

赋权表示法:直接操作一类用户的所有权限位。
u=,g=,o=可以一起使用,也可以单独用其中一个,u=时表示属主没有权限,如果属组属主相同权限,可以ug=rx。a=表示操作所有权限位
授权表示法:操作一类用户的一个权限位。用法一般为u+r,g+x,o+w 或者u-r,g-x,o-w,a+ 或者 a- 表示操作所有用户的权限位。
chmod [OPTION]... OCTAL-MODE FILE...

八进制权限表示法

## 修改前
ls -l first.sh
# -rw-rw-r--. 1 vagrant vagrant 176 11月 18 14:58 first.sh
## 修改
chmod 770 first.sh
## 修改后
ls -l first.sh
#-rwxrwx---. 1 vagrant vagrant 176 11月 18 14:58 first.sh
复制
chmod [OPTION]... --reference=RFILE FILE...

引用参考目标文件的权限

## 参考目标文件
ls -l /var/log/messages
#-rw-------. 1 root root 70721 11月 18 15:16 /var/log/messages
## 将要被修改文件权限
ls -l first.sh
#-rwxrwx---. 1 vagrant vagrant 176 11月 18 14:58 first.sh
## 修改文件权限为参考目标文件
chmod --reference=/var/log/messages first.sh
## 参考修改后的情况
ls -l first.sh
#-rw-------. 1 vagrant vagrant 176 11月 18 14:58 first.sh
复制

选项: -R,--recursive递归修改,只对目录才有意义,可能会对没有执行权限的文件分配可执行权限,有风险,慎用

在递归修改执行权限的时候,有一个特殊的指向权限,大X , 该设置只对目录添加可执行权限,而不对文件添加可执行权限【除非文件本身带有可执行权限位】

chown命令
chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。
具体用法看这里
特殊权限
SUID:setuid,用户在运行二进制程序时,若此程序拥有SUID权限,则此程序会根据程序文件本身的属主身份运行,而不是调用此程序的用户.

需要特别说明的suid仅对二进制命令程序有效,不能作用在shell等脚本文件上,而且suid权限仅在命令执行过程中有效。

# 命令格式
chmod u{+|-}s file...
SUID的权限位在属主的可以执行权限x的位置,如果发起调用的用户原来有执行权限,则显示为s,否则显示为S

给文件设置SUID,意思在于没权限不要紧,你只要来调用我就将我的属主权限借给你

示例

# 输出当前用户
whoami
# vagrant

# 使用 cat 查看 /etc/shadow
cat /etc/shadow
# cat: /etc/shadow: permission denied

# 查看 /etc/shadow 权限位情况,只有 root 用户才有权限
ll /etc/shadow
# ----------. 1 root root 919 6月 13 17:33 /etc/shadow
root 是超级用户,对所有文件具有最大权限,给/etc/cat添加SUID,使其在被调用的时候,使用root权限,而不是调用者的权限。

# 查看当前用户
whoami
# root

# 查看 /bin/cat 的权限位
ll /bin/cat
# -rwxr-xr-x. 1 root root 54160 10月 30 2018 /bin/cat

# 添加 SUID 权限
chmod u+s /bin/cat
ll /bin/cat
# -rwsr-xr-x. 1 root root 54160 10月 30 2018 /bin/cat

# 切换用户
su - vagrant
whoami
# vagrant
cat /etc/shadow
# root:$1$GcxvZm4N$67SLqTRkOUb2z5dNFck6P1:18407:0:99999:7:::
# bin:*:17834:0:99999:7:::
# daemon:*:17834:0:99999:7:::
# adm:*:17834:0:99999:7:::
# lp:*:17834:0:99999:7:::
# ...
SGID

sgid既可以针对文件也可以针对目录。

对于文件来说,sgid仅对二进制命令程序有效,执行命令的用户可以获得该程序执行期间所属组的权限,这一点和suid基本类似。

对于目录来说,意义就非常重大了。**当用户对某一目录有写和执行权限时,该用户就可以在该目录下建立文件,如果该目录用 SGID 修饰,则该用户在这个目录下建立的文件都是属于这个目录所属的组。**若该目录的组拥有写权限,则可以互相修改彼此文件。

# 命令格式
chmod g{+|-}s file...
SGID的权限位在属组的可以执行权限x的位置,如果发起调用的用户本身有执行权限,则显示为s,否则显示为S

演示准备:

# 准备两个两个用户 user1 user2 , 一个用户组 group1 , 并将 group1 设置为 user1 和 user2 的附加组
useradd user1
useradd user2
groupadd group1
usermod -aG group1 user1
usermod -aG group1 user2

# 查看命令执行情况
id user1
#uid=1006(user1) gid=1007(user1) groups=1007(user1),1009(group1)
id user2
#uid=1007(user2) gid=1008(user2) groups=1008(user2),1009(group1)

# 给 user1 、user2 设置密码
passwd user1
# ...
passwd user2
# ...

# 创建操作目录
cd /tmp
mkdir testsgid
ll -d testsgid
# drwxrwxr-x. 2 root root 6 Jun 14 03:42 testsgid
chown :group1 testsgid
chmod g+w testsgid
ll -d testsgid
# drwxrwxr-x. 2 root group1 6 Jun 14 03:52 /tmp/testsgid
演示

su - user1
cd /tmp/testsgid
touch user1.test
ll user1.test
# -rw-rw-r--. 1 user1 user1 0 Jun 14 03:44 user1.test
## 这里 user1.test 的属主和数组都是user1

su - user2
cd /tmp/testsgid
touch user2.test
ll user2.test
# -rw-rw-r--. 1 user2 user2 0 Jun 14 03:57 user2.test
## 这里 user2.test 的属主和数组都是user2

# 对 testsgid 添加 sgid 修饰
chmod g+s /tmp/testsgid
ll -d /tmp/testsgid
# drwxrwsr-x. 2 root group1 42 Jun 14 03:57 /tmp/testsgid

su - user2
cd /tmp/testsgid
touch user2.sgid.test
ll user2.sgid.test
# -rw-rw-r--. 1 user2 group1 0 Jun 14 04:03 user2.sgid.test
## 这时新创建文件的属主就变成 testsgid 文件夹的属主了

### ... 同样使用 user1 在 testsgid 中创建文件,属主也都变成 group1 了

sticky

一般情况下,对于属组/全局可写的目录,组内的所有用户/全局用户都可以在该目录创建文件或者删除文件,无论是否属主是否是自己。

若是对目录使用了sticky权限,则每个用户都可以创建新文件/目录,但是只能删除属主是自己的部分。

root用户除外,root依然可以删除所有。

# 命令格式
chmod o{+|-}t file...
sticky的权限位在其他用户的可以执行权限x的位置,如果发起调用的用户本身有执行权限,则显示为s,否则显示为T

sticky 权限目前只对目录有效,用来阻止非文件的所有者删除文件。系统中的/tmp和/var/tmp两个目录默认就是具有sticky权限的。

ll -d /tmp
# drwxrwxrwt. 17 root root 4096 Jun 14 04:05 /tmp

权限信息中最后一位 t 表明该目录被设置了 sticky 权限。

还有一种为特殊权限位设置权限的方式,在基于通用权限八进制授权机制的基础上,在左侧再增加一位八进制数字,用以表示特殊权限位。如 chmod 7777 file

facl 访问控制列表
file access control lists

这个功能主要是提供在传统的ugo和suid/sgid/sticky之外的另一种更灵活、更精细的权限控制方式,通过facl可以针对单一的用户或者组设置特定的权限。

facl允许你给任何的用户或用户组设置任何文件/目录的访问权限。

getfacl用来获取指定文件/目录的facl信息

格式getfacl file_path

setfacl用来设置文件/目录的facl权限

参数示例说明
-msetfacl -m u:username:rwx filepath
setfacl -m g:groupname:rwx filepath配置后面的 acl 参数给文件/目录使用,不可与 -x 合用;
-xsetfacl -x u:username filepath
setfacl -x g:username filepath删除指定用户/组的所有 facl 参数,不可与 -m同用
-Rsetfacl -R -m g:groupname:rwx filepath递归执行
-d配置“默认 acl 参数”,只对目录有效,在该目录新建的数据会引用此默认值;
-b移除所有的 ACL 配置参数;
$ getfacl user2.sgid.test
# file: user2.sgid.test
# owner: user2
# group: group1
user::rw-
group::rw-
other::r--

$ setfacl -m u:user1:rwx user2.sgid.test
$ getfacl user2.sgid.test
# file: user2.sgid.test
# owner: user2
# group: group1
user::rw-
user:user1:rwx
group::rw-
mask::rwx
other::r--

$ setfacl -m g:basher:rwx user2.sgid.test
$ getfacl user2.sgid.test
# file: user2.sgid.test
# owner: user2
# group: group1
user::rw-
user:user1:rwx
group::rw-
group:basher:rwx
mask::rwx
other::r--

$ ll user2.sgid.test
# 看到权限的后面多了个 + 号
-rw-rwxr--+ 1 user2 group1 0 Jun 14 04:03 user2.sgid.test

复制

umask命令
umask 设置了用户创建文件的默认权限,它与 chmod 的效果刚好相反,umask设置的是权限“补码”,既用来取消对应的权限,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

一般来说,umask命令是在/etc/profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。如果希望永久 性地设置自己的umask值,那么就把它放在自己$HOME目录下的.profile或.bash_profile文件中。

对于文件来说,这一数字的最大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。

目录则允许设置执行权限,这样针对目录来说umask中各个数字最大可以到7。

若没有文件掩码时,文件的默认权限为0666,文件夹的默认权限为0777。但是系统为了保护用户创建文件和文件夹的权限,此时系统会有一个默认的用户掩码(umask),大多数的Linux系统中root的默认掩码为0022,非特殊用户的默认掩码为0002。

权限公式:新建文件的时候,666和掩码对位相减后,对奇数位进行+1 ,偶数不变 ; 新建文件夹的时候,777和掩码直接对位相减即可。

例如,当umask为251的时候,创建文件的权限为:0666-0251=0415,奇数加一处理后为426。创建文件夹的权限为:0777-0251=0526

热心网友 时间:2023-05-03 07:59

在Linux系统中,FAT文件系统和NTFS文件系统(通过ntfs-3g实现)默认不支持文件权限控制。这是因为这两个文件系统是在Windows操作系统上开发和使用的,Windows系统中没有和Linux类似的基于用户/组的文件权限控制机制。

在FAT文件系统和NTFS文件系统上,可以通过挂载时添加一些额外的 mount 选项(如umask、uid、gid等)来实现一些基本的权限控制。但这种方法并不能完全替代Linux系统中的完整的文件权限控制机制,例如不能实现对文件夹的递归访问权限控制等。

因此,建议在Linux系统上使用支持文件权限控制的文件系统,如ext4、XFS等。这些文件系统可以有效地保护文件和文件夹的访问和控制,是Linux系统下的主流文件系统类型。

热心网友 时间:2023-05-03 08:00

您好,在Linux系统中,FAT32文件系统不支持文件权限控制。FAT32是一种比较早期的文件系统,它最初被设计用于Windows操作系统,因此没有考虑到Linux系统中的文件权限控制机制。在FAT32文件系统中,所有文件和目录都被视为“公共”的,即所有用户都具有相同的读写权限。这意味着,无论是系统管理员还是普通用户,都无法对文件和目录进行访问控制,也无法*其他用户对它们的访问。因此,对于需要进行严格的文件权限控制的应用场景,建议使用支持文件权限控制的文件系统,如ext4、NTFS等。

热心网友 时间:2023-05-03 08:00

FAT32文件系统不支持文件权限控制。这是因为FAT32文件系统最初是由微软设计用于DOS操作系统,而DOS操作系统不支持文件权限控制。虽然现在FAT32文件系统可以在Linux系统中使用,但它仍然无法支持文件权限控制。

在Linux系统中,文件系统权限是非常重要的,因为它们决定了哪些用户能够访问和修改文件。大多数常见的Linux文件系统,如ext4、XFS和NTFS,都支持文件权限控制。如果你需要在Linux系统上使用一个文件系统,建议选择支持文件权限控制的文件系统。

热心网友 时间:2023-05-03 08:01

在linux系统中哪个文件系统不支持文件权限控制
在linux系统中,FAT32文件系统不支持文件权限控制。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 成龙和吴京合作的电影 石油烃含量多少是危险废物 找人翻译下面一小段话,中译英.200分感谢 翻译 Firm backinc three backdrop promote a potential business. 背景的国语词典背景的国语词典是什么 电脑下方的任务栏不动是怎么回事啊? 清明新诗词 CorelDraw2017如何导入及导出工作区 铂德kate国标通用么 铂德烟弹通用什么杆 铂德kate可以用盛世吗 铂德kate通用什么烟弹 检波的引证解释检波的引证解释是什么 号叫的引证解释号叫的引证解释是什么 信号枪的引证解释信号枪的引证解释是什么 信号弹的引证解释信号弹的引证解释是什么 信号旗的引证解释信号旗的引证解释是什么 奇瑞销量几乎下滑7成?Q1新能源厂商销量榜解析 奇瑞各城市销量多少 2023年1月奇瑞汽车销量 如何取消word中的分节符? 交通事故赔偿九级残疾赔多少钱 车祸九级伤残一次性可以赔多少钱 只记得,忘记密码,只有一个好友,没有绑定手机号、QQ,怎么找回密码?怎么注销账号? 只有一位好友,怎么把找回? 以前的微信只记得怎么找回来,那个那个微信上什么都没有绑,也只有一个好友,急 犹豫期是什么含义? 萝卜制品卡路里一览表 拌萝卜干的热量是多少? 张学友和张信哲关系 问个无聊的问题,张学友和张信哲谁的实力强,谁在人生活中流行得比较多,比如酒吧,卡拉OK啦。 如何破解ERP系统登陆密码(erp系统密码忘了怎么办) 你的哪些行为让客人投诉过? 返哺的读音返哺的读音是什么 哺_的拼音狐哺_的拼音是什么 读书君子是才人代表什么生肖 梦见别人打吊瓶的预兆 梦见别人扎吊瓶的预兆 梦见朋友打吊瓶针的预兆 梦见别人在头上打吊瓶的预兆