rmdir系统调用
日志
type=SYSCALL msg=audit(1715262316.495:210491): arch=c000003e syscall=84 success=yes exit=0 a0=55c925c93820 a1=0 a2=7fe3072afc00 a3=100 items=2 ppid=0 pid=1 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="systemd" exe="/usr/lib/systemd/systemd" subj=unconfined key="my_syscall_watch"ARCH=x86_64 SYSCALL=rmdir AUID="unset" UID="root" GID="root" EUID="root" SUID="root" FSUID="root" EGID="root" SGID="root" FSGID="root" type=CWD msg=audit(1715262316.495:210491): cwd="/" type=PATH msg=audit(1715262316.495:210491): item=0 name="/sys/fs/cgroup/unified/user.slice/user-1000.slice/" inode=2000 dev=00:1d mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="root" OGID="root" type=PATH msg=audit(1715262316.495:210491): item=1 name="/sys/fs/cgroup/unified/user.slice/user-1000.slice/session-1975.scope" inode=8570 dev=00:1d mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=DELETE cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="root" OGID="root" type=PROCTITLE msg=audit(1715262316.495:210491): proctitle=2F7362696E2F696E69740073706C617368
type=SYSCALL msg=audit(1716475565.398:157863): arch=c000003e syscall=84 success=yes exit=0 a0=7ffdb8e3b42e a1=1 a2=7f744f0b2520 a3=55a65392d340 items=2 ppid=175857 pid=189161 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts2 ses=3 comm="rmdir" exe="/usr/bin/rmdir" subj=unconfined key="my_syscall_watch"ARCH=x86_64 SYSCALL=rmdir AUID="randy" UID="randy" GID="randy" EUID="randy" SUID="randy" FSUID="randy" EGID="randy" SGID="randy" FSGID="randy" type=CWD msg=audit(1716475565.398:157863): cwd="/home/randy/Desktop/test" type=PATH msg=audit(1716475565.398:157863): item=0 name="/home/randy/Desktop/test" inode=1446948 dev=08:03 mode=040775 ouid=1000 ogid=1000 rdev=00:00 nametype=PARENT cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="randy" OGID="randy" type=PATH msg=audit(1716475565.398:157863): item=1 name="bb" inode=1443535 dev=08:03 mode=040666 ouid=1000 ogid=1000 rdev=00:00 nametype=DELETE cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="randy" OGID="randy" type=PROCTITLE msg=audit(1716475565.398:157863): proctitle=726D646972006262
有特殊情况,不显示名字:
type=SYSCALL msg=audit(1716475255.226:157839): arch=c000003e syscall=84 success=yes exit=0 a0=7ffeaf57a429 a1=1 a2=7f7b35ce6520 a3=55d6d3beb340 items=3 ppid=175857 pid=188732 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts2 ses=3 comm="rmdir" exe="/usr/bin/rmdir" subj=unconfined key="my_syscall_watch"ARCH=x86_64 SYSCALL=rmdir AUID="randy" UID="randy" GID="randy" EUID="randy" SUID="randy" FSUID="randy" EGID="randy" SGID="randy" FSGID="randy" type=CWD msg=audit(1716475255.226:157839): cwd="/home/randy/Desktop/test" type=PATH msg=audit(1716475255.226:157839): item=0 name="/home/randy/Desktop/test" inode=1446948 dev=08:03 mode=040775 ouid=1000 ogid=1000 rdev=00:00 nametype=PARENT cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="randy" OGID="randy" type=PATH msg=audit(1716475255.226:157839): item=1 name=(null) inode=1446948 dev=08:03 mode=040775 ouid=1000 ogid=1000 rdev=00:00 nametype=PARENT cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="randy" OGID="randy" type=PATH msg=audit(1716475255.226:157839): item=2 name=(null) inode=1446949 dev=08:03 mode=040775 ouid=1000 ogid=1000 rdev=00:00 nametype=DELETE cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0OUID="randy" OGID="randy" type=PROCTITLE msg=audit(1716475255.226:157839): proctitle=726D646972006E65776469722F
分析
构建进程删除节点的边
WasGeneratedBy
删除路径为 nametype=DELETE:
name="/sys/fs/cgroup/unified/user.slice/user-1000.slice/session-1975.scope"
系统调用原型
rmdir() 系统调用用于删除一个空的目录。下面是 rmdir() 的原型:
#include <unistd.h> int rmdir(const char *pathname);
这里是 rmdir() 的参数说明:
pathname:表示要删除的目录的路径名。
函数的返回值:
- 如果成功,返回值为0。
- 如果失败,返回值为-1,并设置
errno来指示错误的原因。
调用 rmdir() 函数时,会删除指定路径的空目录。如果目录不存在、不是空目录,或者没有足够的权限来删除目录,则会导致删除失败。

浙公网安备 33010602011771号