AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 581290
Accepted
Mas Bagol
Mas Bagol
Asked: 2015-02-04 08:59:34 +0800 CST2015-02-04 08:59:34 +0800 CST 2015-02-04 08:59:34 +0800 CST

4 个数字的 chmod 参数(例如 `chmod 4555`)中的第一个数字是什么?

  • 772

当我安装一个程序时,它建议我做chmod 4555. 好的,如果我只使用三个数字,我就知道价值。例如

chmod 555 test-file

会给

-r-xr-xr-x

4 个用于写入,2 个用于读取,1 个用于执行。但是,当我这样做时:

chmod 4555 test-file

它给了我

-r-sr-xr-x

所以,x改为s. 那是什么意思?

command-line
  • 2 2 个回答
  • 13881 Views

2 个回答

  • Voted
  1. Best Answer
    Thomas Ward
    2015-02-04T09:10:28+08:002015-02-04T09:10:28+08:00

    实际上有 4 个属性集可以通过chmod.

    Special, User/Owner, Group, 并且Others按照这个顺序,当使用四个数字的 chmods 时,第一个数字是可以设置的特殊位。

    chmod 4555等同于以下内容:

    • Set UIDbit - 以所有者身份运行文件,无论哪个用户正在运行它
    • 用户/所有者:Read, Execute
    • 团体:Read, Execute
    • 其他:Read, Execute

    在s您的“人类可读”字符串中的权限表示该SetUID位(如下所述)已设置。


    实际上,我们可以将四数字chmod权限参数分解为如下特定的描述符,并进行数学计算以确定4第一部分中的a 是什么,下一节5中的 a 是什么,等等。

    请记住,这是####按顺序进行的。Special User/Owner GroupOthers

    对于Special属性(四数字chmod参数中的第一个数字):

    • Set UID- 以所有者身份运行文件,无论运行它的用户如何(显示为部分s的人类可读权限字符串User)= +4(--s下User/Owner)
    • Set GID- 将文件作为组运行,而不管运行它的用户/组(显示为部分s的人类可读权限字符串Group)= +2(--s下Group)
    • Sticky Bit- 仅对目录有效 - 如果设置,只有目录的所有者用户root可以删除目录,只有文件所有者root可以删除其中的文件。(显示为部分t的人类可读权限字符串Others)= +1(--t下Others)

    对于User/Owner,Group和Others属性(四数字chmod参数中的最后三个数字):

    • Read= +4 ( r--)
    • Write= +2 ( -w-)
    • Execute(对于文件),或“进入/列出项目”(对于目录)= +1 ( --x)
    • 38
  2. heemayl
    2015-02-04T09:12:53+08:002015-02-04T09:12:53+08:00

    它被称为SETUID位。如果它是由chmod 4555 test-file(在您的情况下)设置的,则test-file任何用户都可以执行,就好像该用户是文件的所有者一样。

    设置该SETUID位后EUID,无权以其他方式(通过正常权限,例如0744)执行文件的用户的有效用户 ID () 将采用文件所有者的 EUID 并可以执行文件。

    • 8

相关问题

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • 如何从命令行刻录双层 dvd iso

  • 如何从命令行判断机器是否需要重新启动?

  • 文件权限如何工作?文件权限用户和组

  • 如何在 Vim 中启用全彩支持?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve