V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lisisi
V2EX  ›  Ubuntu

系统非 root 账号,安装了 xxxapp 后,运行权限是属于 root? 还是所有 users?

  •  
  •   lisisi · 87 天前 · 1921 次点击
    这是一个创建于 87 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有些云服务商默认 Server 的账号是 root ,有一些则是另外建一个 newuser1 账号。登录 newuser1 安装应用就要 sudo apt-get install xxxapp 之后,运行权限是属于 root? 还是所有 users?

    1. sudo apt-get install xxxapp 安装的路径,算是在 root 用户下面?还是在 newuser1 下面?
    2. sudo apt-get install xxxapp 安装的应用,运行权限是不是 root 权限?另外在创建一个 newuser2 有没有权限直接运行 xxxapp ?
    3. 如果 xxxapp 需要加入到系统开机自启动服务中,比如 systemd 中,是否需要添加 root 运行权限?
    6 条回复    2024-10-02 12:14:30 +08:00
    aminobody
        1
    aminobody  
       87 天前   ❤️ 2
    .rwxr-xr-x root root /usr/bin/gcc
    .rwsr-xr-x root root /usr/bin/sudo
    看懂以上且意识到区别,可以回答问题 1,2.
    问题 3, 系统开机自启是需要的, 用户登陆后自启是可以不需要的.
    vcn8yjOogEL
        2
    vcn8yjOogEL  
       87 天前   ❤️ 1
    只要有读取和执行权限就可以执行程序, 进程通常会继承执行者的权限
    apt 安装的程序通常由 root 所有
    系统 systemd 由 root 运行, root 可以读取一切, 文件有执行权限就可以被它执行

    更细致的权限控制可以用 AppArmor 或 SELinux 实现
    expy
        3
    expy  
       87 天前   ❤️ 1
    1. 一般装在 /usr/bin ,不过路径可以打包时设置。
    2.运行权限看你用什么用户运行,一般所有用户都有执行权限。格式化磁盘之类的肯定需要 sudo 。还有某些程序会自动切换到低权限用户来运行。
    3.systemctl --user 不需要 root 权限,需要先 sudo loginctl enable-linger
    busier
        4
    busier  
       87 天前
    建议 OP 找本书回炉重造基础知识
    yafoo
        5
    yafoo  
       87 天前 via Android
    一直理解不了 linux 的用户权限,Windows 的权限清晰明了,有 10 个用户,可以给每个用户设置权限。linux 则是一个文件只能归属于一个用户,然后设置这个用户的权限和组的权限和其他用户权限,那现在有 9 个其他用户,该怎么给其他 9 个用户分别设置不同的权限呢?一直对这个问题很困惑
    cnhongwei
        6
    cnhongwei  
       86 天前   ❤️ 1
    1. 安装路径是软件打包指定的,一般在/usr/bin 下面,当然有例外,不过一般不会在用户 home 目录,只能说是属于所有用户。
    2. 用户只有要对程序文件有 x 权限,就能运行,一般的软件都会给所有用户,也就是 others 运行权限。不过,程序用户时的身份是用户本身,所以能不能成功是另一回事,比如普通用户能运行 fdisk ,但没有权限操作磁盘,所以没有办法成功,当然这里有个例外,SetUID 和 SetGID 这两个权限标识存在的话,你运行时的用户身份是这个文件的所有者,但这种软件很少,如 passwd,一般的软件不会这样做,只是提示你用 root 身份来运行就行了。
    3. systemd 启动的程序,默认是以 root 身份启动的,所以为了安全,好多程序都是切换到特定的身份来运行,比如 nginx 一般就是切换到 nginx 用户来启动,这个是在 systemd 的脚本中指定的。

    @yafoo linux 权限就 rwx,所以那有会 9 个用户有不同权限的情况,一般就 2-3 种不同的权限,所以划分一个组就够,理论是有 9 个不同的权限,你得划分 9 个组。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   935 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:19 · PVG 06:19 · LAX 14:19 · JFK 17:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.