Linuxカーネル開発の本を読んでいます。第5章の「システムコールの実装」の77ページに記載されています。
たとえば、capable(CAP_SYS_NICE)は、呼び出し元が他のプロセスのnice値を変更できるかどうかをチェックします。デフォルトでは、スーパーユーザーはすべての機能を所有し、非ルートは何も所有しません。たとえば、次に示すのはreboot()システムコールです。最初のステップが、呼び出しプロセスにCAP_SYS_REBOOTがあることを確認する方法に注意してください。その1つの条件ステートメントが削除された場合、任意のプロセスがシステムを再起動する可能性があります。
ただし、Debian Sidでは、gnomeを使用するか、sudoまたはsuなしで/ sbin / rebootを実行して、マシンを再起動できます。これはどのようにして可能ですか?
たぶんsystemctlで?
ls -l /sbin/reboot
lrwxrwxrwx 1 root root 14 Jun 28 04:23 /sbin/reboot -> /bin/systemctl
編集:ユーザーグループ
[damian@xvz:~]$ groups
damian sudo wireshark bumblebee
編集2:systemctl権限
[damian@xvz:~]$ ls -l /bin/systemctl
-rwxr-xr-x 1 root root 626640 Jun 28 04:23 /bin/systemctl
systemctl
。何をls -l /bin/systemctl
教えてくれますか?