有些云服务商默认 Server 的账号是 root ,有一些则是另外建一个 newuser1 账号。登录 newuser1 安装应用就要 sudo apt-get install xxxapp 之后,运行权限是属于 root? 还是所有 users?
1
aminobody 56 天前 2
.rwxr-xr-x root root /usr/bin/gcc
.rwsr-xr-x root root /usr/bin/sudo 看懂以上且意识到区别,可以回答问题 1,2. 问题 3, 系统开机自启是需要的, 用户登陆后自启是可以不需要的. |
2
vcn8yjOogEL 56 天前 1
只要有读取和执行权限就可以执行程序, 进程通常会继承执行者的权限
apt 安装的程序通常由 root 所有 系统 systemd 由 root 运行, root 可以读取一切, 文件有执行权限就可以被它执行 更细致的权限控制可以用 AppArmor 或 SELinux 实现 |
3
expy 56 天前 1
1. 一般装在 /usr/bin ,不过路径可以打包时设置。
2.运行权限看你用什么用户运行,一般所有用户都有执行权限。格式化磁盘之类的肯定需要 sudo 。还有某些程序会自动切换到低权限用户来运行。 3.systemctl --user 不需要 root 权限,需要先 sudo loginctl enable-linger |
4
busier 56 天前
建议 OP 找本书回炉重造基础知识
|
5
yafoo 56 天前 via Android
一直理解不了 linux 的用户权限,Windows 的权限清晰明了,有 10 个用户,可以给每个用户设置权限。linux 则是一个文件只能归属于一个用户,然后设置这个用户的权限和组的权限和其他用户权限,那现在有 9 个其他用户,该怎么给其他 9 个用户分别设置不同的权限呢?一直对这个问题很困惑
|
6
cnhongwei 55 天前 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 个组。 |