Linux配置允許普通用戶免密碼切換其他普通用戶
背景
業務需求:使用su
命令將賬號user01免密碼切換到user02,不添加其他特權
操作
通過配置/etc/pam.d/su
,能夠實現不加入wheel
用戶組,不使用sudo
命令從user01免密碼切換到user02
具體配置:
在/etc/pam.d/su
配置文件中pam_rootok.so
行后添加如下配置:
auth [success=ignore default=1] pam_succeed_if.so user = user02
auth sufficient pam_succeed_if.so use_uid user = user01
該配置使用了 pam_succeed_if.so
模塊,更多相關信息參閱 Linux-PAM configuration file syntax
配置解釋:
1、第一行檢查目標用戶是否是user02,如果是則無操作繼續下一行檢查當前用戶(success=ignore
);如果不是,則下一行被跳過,當前兩行配置執行結束(default=1
),繼續執行其他配置行。
2、第二行檢查當前用戶是否是user01,如果是,則認證成功,並返回(sufficient
);如果不是,則當前兩行配置執行結束,繼續執行其他配置行。
更多配置
1、限制su
到一個組,組內允許的賬戶不需要密碼即可切換:
auth sufficient pam_succeed_if.so use_uid user ingroup allowedpeople
2、使用sudo
免密切換到其他普通用途:
在配置文件/etc/sudoers.d/custom
中添加如下配置:
user01 ALL=(user02:user02) NOPASSWD:ALL
當user01
使用sudo su - user02
可以不受密碼限制進行切換。
參考鏈接:https://unix.stackexchange.com/questions/113754/allow-user1-to-su-user2-without-password