linux nosuid能否與sudo結(jié)合使用

小樊
81
2024-09-21 20:19:45

在Linux中,nosuid選項(xiàng)通常用于移除文件或目錄的setuid位,這樣可以防止文件執(zhí)行者獲得root權(quán)限

然而,你可以在一個(gè)特定的場(chǎng)景下將nosuidsudo結(jié)合使用,那就是當(dāng)sudo配置允許某個(gè)用戶或用戶組無需輸入密碼即可執(zhí)行特權(quán)命令時(shí)。在這種情況下,你可以將該用戶或用戶組的shell設(shè)置為沒有setuid位的可執(zhí)行文件,例如/bin/false。這樣,即使他們使用sudo執(zhí)行命令,也不會(huì)獲得root權(quán)限,因?yàn)榭蓤?zhí)行文件沒有setuid位。

要實(shí)現(xiàn)這一點(diǎn),你需要編輯/etc/sudoers文件,找到相應(yīng)的用戶或用戶組設(shè)置,并添加以下行:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
UserAlias       sudoers = user1,user2,user3
RunasAlias      sudoers = ALL
Percent-Group  sudoers = %admin
Defaults        env_reset, !requiretty
Defaults        secure_root_file=/dev/null

然后,將UserAliasRunasAliasPercent-Group中的用戶或用戶組添加到Defaults secure_path行中。這樣,當(dāng)這些用戶使用sudo執(zhí)行命令時(shí),將會(huì)使用/bin/false作為他們的shell,從而避免了獲得root權(quán)限的風(fēng)險(xiǎn)。

0