千家信息网

文件访问和共享的方法介绍

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号模式显示在屏幕上。
千家信息网最后更新 2025年01月31日文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号模式显示在屏幕上。

每个集合都有 r、w 和 x 条目,表示特定用户(所有者、组成员或其他)是否可以读取、写入或执行该文件。但是还有另一种表达这些权限的方法:八进制模式。

你已经习惯了十进制编号系统,它有十个不同的值(0 到 9)。另一方面,八进制系统有八个不同的值(0 到 7)。在表示权限时,八进制用作速记来显示 r、w 和 x 字段的值。将每个字段视为具有如下值:

r = 4w = 2x = 1

现在,你可以使用单个八进制值表达任何组合。例如,读取和写入权限(但没有执行权限)的值为 6。读取和执行权限的值仅为 5。文件的 rwxr-xr-x 符号权限的八进制值为 755。

与符号值类似,你可以使用八进制值使用 chmod 命令设置文件权限。以下两个命令对文件设置相同的权限:

chmod u=rw,g=r,o=r myfile1chmod 644 myfile1

特殊权限位

文件上还有几个特殊权限位。这些被称为 setuid(或 suid)、setgid(或 sgid),以及粘滞位sticky bit(或阻止删除位delete inhibit)。 将此视为另一组八进制值:

setuid = 4setgid = 2sticky = 1除非该文件是可执行的,否则 setuid 位是被忽略的。如果是可执行的这种情况,则该文件(可能是应用程序或脚本)的运行就像拥有该文件的用户启动的一样。setuid 的一个很好的例子是 /bin/passwd 实用程序,它允许用户设置或更改密码。此实用程序必须能够写入到不允许普通用户更改的文件中(LCTT 译注:此处是指 /etc/passwd 和 /etc/shadow)。因此它需要精心编写,由 root 用户拥有,并具有 setuid 位,以便它可以更改密码相关文件。

setgid 位对于可执行文件的工作方式类似。该文件将使用拥有它的组的权限运行。但是,setgid 对于目录还有一个额外的用途。如果在具有 setgid 权限的目录中创建文件,则该文件的组所有者将设置为该目录的组所有者。

最后,虽然文件粘滞位没有意义会被忽略,但它对目录很有用。在目录上设置的粘滞位将阻止用户删除其他用户拥有的该目录中的文件。

在八进制模式下使用 chmod 设置这些位的方法是添加一个值前缀,例如 4755,可以将 setuid 添加到可执行文件中。在符号模式下,u 和 g 也可用于设置或删除 setuid 和 setgid,例如 u+s,g+s。粘滞位使用 o+t 设置。(其他的组合,如 o+s 或 u+t,是没有意义的,会被忽略。)

http://www.51cto.com/it/news/2019/1014/15367.html

https://article.pchome.net/content-2101735.html

http://www.pcpop.com/article/6067769.shtml

共享与特殊权限

回想一下前一篇文章中关于需要共享文件的财务团队的示例。可以想象,特殊权限位有助于更有效地解决问题。原来的解决方案只是创建了一个整个组可以写入的目录:

drwxrwx---. 2 root finance 4096 Jul 6 15:35 finance此目录的一个问题是,finance 组成员的用户 dwayne 和 jill 可以删除彼此的文件。这对于共享空间来说不是最佳选择。它在某些情况下可能有用,但在处理财务记录时可能不会!

另一个问题是此目录中的文件可能无法真正共享,因为它们将由 dwayne 和 jill 的默认组拥有 - 很可能用户私有组也命名为 dwayne 和 jill,而不是 finance。

解决此问题的更好方法是在文件夹上设置 setgid 和粘滞位。这将做两件事:使文件夹中创建的文件自动归 finance 组所有,并防止 dwayne 和 jill 删除彼此的文件。下面这些命令中的任何一个都可以工作:

sudo chmod 3770 financesudo chmod u+rwx,g+rwxs,o+t finance该文件的长列表现在显示了所应用的新特殊权限。粘滞位显示为 T 而不是 t,因为 finance 组之外的用户无法搜索该文件夹。
drwxrws--T. 2 root finance 4096 Jul 6 15:35 finance


文件 权限 用户 目录 八进制 特殊 模式 符号 问题 方法 不同 命令 所有者 文件夹 程序 实用 字段 密码 情况 意义 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 通信网络技术就业前景 艾尔登法环总是断开服务器 计算机网络技术的技术技能 企业如何学习网络安全知识 软件开发 助理 岗位职责 网络技术转让合同模板 河北服务器机柜虚拟主机云服务器 linux服务器密钥交互失败 江苏信息软件开发费用是多少 厦门市鑫通泰网络技术有限公司 合肥信诺网络技术有限公司 山东物美网络技术有限公司 怎样开发多人使用的数据库 如何用post写入数据库 开封网络安全等级评估 密集网络技术应用 卫生网络安全工作汇报 如何导出sqlsever数据库 服务器内存能否使用取决于cpu 国泰安数据库下载的数据格式 html读取数据库的表格 黄浦区信息网络技术服务 客户端u8管理服务器 山东库存软件开发平台 数据库怎样实现生成表格 免费时间服务器软件 数据库技术2021考试a卷 加强网络安全工作制度建设 qt读取数据库blob文件 c 编写web服务器端
0