如何允许 SUID

如何允许 SUID

我需要允许我的 ubuntu 13.04 上的用户帐户 suid。

根据mount命令,我的帐户的位标志是nosuid。我如何将其更改为suid。

答案1

您的系统是否有单独的/home分区?如果有,则可能是出于nosuid正当理由而使用 挂载的。如果这只是一个测试,那么无需对 /etc/fstab 中的挂载选项进行任何持久更改,应该可以使用 suid 临时重新挂载该分区

$ sudo mount -o remount,suid /home

例如(由于我的主分区没有定期安装nosuid,为了说明起见,我将首先执行此操作):

$ ls -l id_demo
-rwsrwxr-x 1 root root 7394 Sep 21 08:52 id_demo
$ 
$ sudo mount -o remount,nosuid /home
$ ./id_demo
real uid: 1006
effective uid: 1006

然后使用选项重新安装后再次测试suid

$ sudo mount -o remount,suid /home
$ ./id_demo
real uid: 1006
effective uid: 0

请注意,这chmod u+s对于您的测试来说应该足够了(chmod a+s但不是必需的)。

答案2

告诉您的“SUID/NOSUID”mount与您的“用户帐户”无关。请参阅 man mount。它是一种安全功能,它告诉系统识别/忽略已安装介质上的 setuid 可执行文件。当从使用 SUID 安装的磁盘执行 setuid 可执行文件时,它将使用可执行文件所有者的 UID 运行,而不是使用您的 UID 运行。

简而言之,不用担心

如果您想担心它,SUID/NOSUID 位来自/etc/fstab(请参阅man -k fstab;man 5 fstab,并在挂载时应用(对于该设备)。

相关内容