我需要允许我的 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
,并在挂载时应用(对于该设备)。