setgid 的作用:当程序设置了 setgid 位时,运行该程序的进程会临时切换到文件所属的组(如 root),而用户仍保持为原运行用户(如 ubuntu)。这使得某些程序可以在运行时具有指定组的权限。
举例:
# 1 将可执行文件(如 ss-redir等)设置为特定组。
chgrp proxy_group /path/to/ss-redir
# 配置 setgid 位,使这些文件启动的进程在运行时自动切换到指定的组。
chmod g+s /path/to/ss-redir
ls -l /path/to/ss-redir
-rwxr-sr-x 1 root proxy_group 12345 Dec 13 12:00 /path/to/ss-redir
运行时效果
用户执行 /path/to/ss-redir 时,启动的进程会自动切换到 proxy_group。
这确保了 ss-redir 进程具有 proxy_group 的权限,而无需修改用户的主组或进程所属组。
对文件:
设置了 setgid
位的可执行文件,当用户运行该文件时,生成的进程将继承文件所属的组,而不是当前用户的主组。
设置后,用 ls -l
查看权限时,组权限位的执行位(x
)会显示为 s
:
-rwxr-sr-x
drwxr-sr-x
-rwxr-sr-x
的每一部分含义如下:
例如用户是ubuntu,组是root
运行程序时的行为
权限范围
sudo
或 setcap
。作用:如果程序需要真正的 root 权限运行,而不希望普通用户每次都使用 sudo。
某些权限可以通过 setuid 位授予用户,允许用户执行程序时临时拥有文件所有者(通常是 root)的权限。
#修改程序的所有者为 root:
sudo chown root:root /path/to/executable
#设置 setuid 位:
sudo chmod u+s /path/to/executable
#验证设置:
ls -l /path/to/executable
输出中应包含 s 位,如:
-rwsr-xr-x 1 root root 12345 Dec 13 12:00 /path/to/executable
使用 setcap
sudo setcap cap_net_bind_service=e /path/to/program
程序运行时获得精确的能力,而非完全的 root 权限。
可以看看笔记
因篇幅问题不能全部显示,请点此查看更多更全内容
怀疑对方AI换脸可以让对方摁鼻子 真人摁下去鼻子会变形
女子野生动物园下车狼悄悄靠近 后车司机按喇叭提醒
睡前玩8分钟手机身体兴奋1小时 还可能让你“变丑”
惊蛰为啥吃梨?倒春寒来不来就看惊蛰
男子高速犯困开智能驾驶出事故 60万刚买的奔驰严重损毁