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

21 天前
 lisisi

有些云服务商默认 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 运行权限?
1471 次点击
所在节点    Ubuntu
6 条回复
aminobody
21 天前
.rwxr-xr-x root root /usr/bin/gcc
.rwsr-xr-x root root /usr/bin/sudo
看懂以上且意识到区别,可以回答问题 1,2.
问题 3, 系统开机自启是需要的, 用户登陆后自启是可以不需要的.
vcn8yjOogEL
21 天前
只要有读取和执行权限就可以执行程序, 进程通常会继承执行者的权限
apt 安装的程序通常由 root 所有
系统 systemd 由 root 运行, root 可以读取一切, 文件有执行权限就可以被它执行

更细致的权限控制可以用 AppArmor 或 SELinux 实现
expy
21 天前
1. 一般装在 /usr/bin ,不过路径可以打包时设置。
2.运行权限看你用什么用户运行,一般所有用户都有执行权限。格式化磁盘之类的肯定需要 sudo 。还有某些程序会自动切换到低权限用户来运行。
3.systemctl --user 不需要 root 权限,需要先 sudo loginctl enable-linger
busier
21 天前
建议 OP 找本书回炉重造基础知识
yafoo
21 天前
一直理解不了 linux 的用户权限,Windows 的权限清晰明了,有 10 个用户,可以给每个用户设置权限。linux 则是一个文件只能归属于一个用户,然后设置这个用户的权限和组的权限和其他用户权限,那现在有 9 个其他用户,该怎么给其他 9 个用户分别设置不同的权限呢?一直对这个问题很困惑
cnhongwei
20 天前
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 个组。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1077260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX