setuid

使用 EUID 是什么意思?如果一个进程的 RUID 和 EUID 分别为 1000、0,并且如果我们运行任何命令,该命令将以 1000 权限级别运行,为什么?
setuid

使用 EUID 是什么意思?如果一个进程的 RUID 和 EUID 分别为 1000、0,并且如果我们运行任何命令,该命令将以 1000 权限级别运行,为什么?

据我了解, 鲁伊德:进程调用者的uid称为真实uid。 欧盟身份证:有效 uid 表示该进程允许的权限。 // setuid_file.c #include<stdio.h> int main(void) { int uid; uid=getuid(); printf("RUID : getuid() : %d\n",uid); uid=geteuid(); printf("EUID : geteuid() : %d\n",uid); syste...

Admin

为什么进程的“有效 UID”没有改变为文件所有者的 UID?
setuid

为什么进程的“有效 UID”没有改变为文件所有者的 UID?

script.sh我有 Ubuntu 20.04 虚拟服务器。我在 /opt 中有一个已设置位的可执行文件SetUID。 meliwex@linode:/opt$ ls -ld /opt drwxr-xr-x 2 root root 4096 Dec 19 03:45 /opt meliwex@linode:/opt$ ls -l total 4 -rwsr-xr-x 1 root root 125 Dec 19 03:45 script.sh meliwex@linode:/opt$ 当我以非 root 用户身份运行此文件时,effective UID...

Admin

为什么执行设置了 suid 的脚本时不应用所有者权限?
setuid

为什么执行设置了 suid 的脚本时不应用所有者权限?

我有一个 bash 文件,当由组用户执行时,我想以所有者权限运行它。因此,我使用以下命令设置文件权限: sudo -u owner_user chmod 4750 bash_script 该文件则具有以下权限: -rwsr-x---. 1 owner_user group 6559 Mar 15 09:52 bash_script 该文件包含以下行: cp other_folder/source_file other_folder/destination_file 当我以属于该组但不同于文件所有者的用户身份运行该文件时owner_user,收到以下...

Admin

使用 setuid 进程发送终止信号导致操作不允许
setuid

使用 setuid 进程发送终止信号导致操作不允许

我希望能够从使用与 Prometheus 不同的用户运行的 CI 工具向 Prometheus 进程发送 SIGHUP 信号。假设 CI 使用gitlab-runner用户,Prometheus 使用prometheus用户。我认为我可以通过以下步骤向 Prometheus 进程发送 SIGHUP 信号: 创建一个执行命令的简单 shell 脚本kill: $ cat `which promhup` kill -HUP $(pgrep prometheus) 更改此脚本的所有权并设置setuid此文件的位: chown prometheus pro...

Admin

CentOS 8 auditd AVC 拒绝消息泛滥,原因是 setuid 被拒绝
setuid

CentOS 8 auditd AVC 拒绝消息泛滥,原因是 setuid 被拒绝

今天我的 CentOS 8 突然冻结,不响应用户输入。当我尝试从控制台登录时,我看到如下消息: audit: backlog limit exceeded audit: backlog limit exceeded audit: backlog limit exceeded 使用 rd.break 方法启动到救援模式https://www.linuxtechi.com/boot-centos-8-rhel-8-single-user-mode/并使用中提到的步骤查找导致积压限制超出的原因https://www.hungred.com/how-to/back...

Admin

通过具有特殊权限的脚本修改文件
setuid

通过具有特殊权限的脚本修改文件

这可能很简单..但我没有找到发生了什么的解释..我拥有以下具有以下特定权限的文件: 因此,modtp2 是一个 shell 脚本,我用它来使用不属于“SYS”组、名为“user1”的用户来更改 tp2 内容: modtp2 脚本 我将用户更改为“user1”并尝试执行脚本,但总是出现此错误: 但据我所知,应该是可以执行的,因为即使SUID没有设置正确,SGID是可以的,所以执行有权限写入tp2的脚本时,有效GID应该是SYS的GID。 我知道这是一个错误的解释,因为权限被拒绝了,但你能纠正我吗?有效 GID 是否仅适用于当前脚本而不适用...

Admin

不支持“用户” CIFS 挂载 - fedora 30
setuid

不支持“用户” CIFS 挂载 - fedora 30

我有许多 smb v1 共享。(我知道 smbv1 已经过时且存在漏洞,但我无法改变它) 由于旧的 smb 协议,我无法使用 nautilus 打开它们。相反,我使用 fstab 条目来挂载它们。条目/etc/fstab如下所示: //smbserver/folder /media/user/smbserver/folder cifs credentials=/home/user/.smbcredentials,vers=1.0,noauto,user 0 0 在 Mint 19 机器上,这非常有效,但在新的 Fedora 30 安装中,我只收到以下错...

Admin

scp 到授权文件夹,但其父文件夹对我来说是被禁止的,失败了
setuid

scp 到授权文件夹,但其父文件夹对我来说是被禁止的,失败了

我尝试 scp 到不属于我的文件夹。其权限设置为 777,但 scp 告诉我权限被拒绝。当将其父文件夹的权限(仍然不属于我)设置为 777 时,scp 成功完成其任务。为什么? 重现步骤: me@host1:/tmp$ ls -lah /applis/foo/ drwxr-xr-x 4 you yourgroup 4.0K Jan 25 14:19 . drwxr-xr-x 4 you yourgroup 4.0K Oct 9 13:27 .. drwxrwxrwx 2 you yourgroup 4.0K Jan 25 14:19 build me...

Admin

滥用自杀计划
setuid

滥用自杀计划

我对 setuid 二进制文件有一些疑问。我知道它存在一些危险的程序(如果您允许将此程序与 sudo 一起使用,则有可能退出该程序并获得 root shell),例如 ftp、gdb 或 find。例如,如果我可以使用 root 权限创建 sudo ftp,那么我就可以输入 !/bin/bash 并获得 root shell。 所以我认为如果这个二进制文件有 suid 位,那么它也会遇到同样的问题。所以我在自己的电脑上试了一下,问题就出在这里。我把 suid 放在了 /usr/bin/netkit-ftp 上(/usr/bin/ftp 是指向 /usr/b...

Admin

Setuid 和 setgid 不起作用
setuid

Setuid 和 setgid 不起作用

我在 setuid 和 setgid 方面遇到了问题。我编写了以下 C 代码: int main() { setuid(0); setgid(0); system("/path/to/script.sh"); return 0; } 使用 gcc 进行编译: gcc test.c -o test 然后我使用了chmod +s。里面script.sh只有id命令。以下是可执行文件的权限test: -rwxr-sr-x 1 root root 8464 mag 15 20:14 test 当我执行该程序...

Admin

如何创建某些命令的 setuid 副本?
setuid

如何创建某些命令的 setuid 副本?

我正在读这本书How Linux Works,但有一点我不明白: 在普通的 Linux 系统上,大多数进程具有相同的effective user ID和real user ID。默认情况下,ps其他系统诊断程序会显示effective user ID。要查看系统上的有效用户 ID 和实际用户 ID,请尝试以下操作,但如果您发现系统上所有进程的两个用户 ID 列都相同,请不要感到惊讶: $ ps -eo pid,euser,ruser,comm 要创建异常以便您可以看到列中的不同值,请尝试通过创建该sleep 命令的 setuid...

Admin

setgid 位未在 execl 调用中保留
setuid

setgid 位未在 execl 调用中保留

我遇到了一种无法解释的情况:我有一个启用了 setgid 位的可执行文件。当我调用 getegid() 时,它会返回预期的组。但是,一旦我使用 execl 从中生成一个 shell,该 shell 就不再具有此有效 gid,而是具有启动它的用户的有效 gid。 它实际上对我来说一直有效,但这个系统最近升级了,可能有些设置被更改了。我无法 strace 它,因为在 strace 下 setgid 不起作用。有什么想法吗? ...

Admin

setuid 位根据目录有不同的行为
setuid

setuid 位根据目录有不同的行为

我一直在测试 setuid 权限,但在使其工作时遇到了一些麻烦。 假设我正在与两个用户owneruser和进行测试otheruser。 我编写了一个简单的 C 程序,它所做的就是调用它system()来显示当前用户。 测试id.c: int main(void) { setresgid(222, 222, 222); // To simplify, this numbers represent just harcoded setresuid(222, 222, 222); // values for the owneruser id and...

Admin

如何设置目录的权限,将其权限授予所有子目录?
setuid

如何设置目录的权限,将其权限授予所有子目录?

有没有办法设置 *nix 目录的权限,以便在创建子目录时,该子目录将具有与父目录相同的所有权限? 这是下列的,但它似乎并没有满足我的所有要求: 在大多数系统中,如果设置了目录的 set-group-ID 位,则新创建的子文件将继承与目录相同的组,而新创建的子目录将继承父目录的 set-group-ID 位。在少数系统中,目录的 set-user-ID 位对新子文件的所有权和新子目录的 set-user-ID 位具有类似的影响。这些机制让用户更轻松地共享文件,减少了使用 chmod 或 chown 共享新文件的需要。 ...

Admin

iptables、groups 和 setgid
setuid

iptables、groups 和 setgid

我对 iptables 的“所有者”模块有疑问。我发现它可以仅允许某些程序根据其 (e?)gid 使用服务。 在此基础上,我可以使用set-group-id位来改变程序的egid,从而对应用程序进行过滤。例如,只允许firefox使用HTTP和HTTPS服务。 尽管如此,我知道使用 set-group-id 位不是一个好的做法,但只是出于好奇:如果我为每个可执行文件使用单独的组(因此 Firefox 的“firefox”组等),并且这些组对其可执行文件只有读取和执行权限,这种用法是否会导致安全漏洞?如果是这样,你能给我举个例子吗? ...

Admin