Newyorkcity
V2EX  ›  问与答

初学 Linux ,请教一个 SUID 的问题

  •  
  •   Newyorkcity · Jul 6, 2019 · 1414 views
    This topic created in 2599 days ago, the information mentioned may be changed or developed.
    一个二进制程序

    ---s------ (-rws------)

    ---s-----x (-rws---rwx)

    ---x-----x (-rwx---rwx)

    这三者有区别么?如果三者有区别,各自最优的应用场景是?

    谢谢
    3 replies    2019-07-06 17:17:11 +08:00
    msg7086
        1
    msg7086  
       Jul 6, 2019   ❤️ 1
    s 是 setuid 标志位,就是任何能执行这个程序的人,执行这个程序的时候都自动切换到这个文件的所属用户。
    比如 sudo 程序就是 setuid 且属于 root 的,所以任何人执行 sudo 都会自动让程序运行在 root 权限上。

    你这 3 个例子。
    rws 没意义因为别人无法执行这个程序。
    rws---rwx 可以让任何人通过所属用户权限执行。当然也可以肆意修改这个程序。
    rwx---rwx 可以让任何人正常执行程序,当然也可以肆意修改这个程序。

    应用场景的话,这 3 个权限组合都没有应用场景,正常人不会用的。
    Newyorkcity
        2
    Newyorkcity  
    OP
       Jul 6, 2019
    请问 SUID 和将其它用户的权限+x 有何区别呢?
    tempdban
        3
    tempdban  
       Jul 6, 2019 via Android
    @Newyorkcity 提示:fork
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5823 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 03:20 · PVG 11:20 · LAX 20:20 · JFK 23:20
    ♥ Do have faith in what you're doing.