WEB开发网      濠靛倻鏅悵顖涚附閽樺鐎诲ù婊庡亾缁辨帗鎷呴悩鍨暠濞戞挴鍋撳ù鐘烘閸ㄥ孩绂嶉锝喰﹂柟瀛樺灣濠婃垿鎯冮崟顏嗩伇濞寸姾妫勬慨鈺呭礉濞戝磭骞㈤悹鍥у槻閸ㄥ孩绂嶉敓锟� ---闁挎洩鎷�
开发学院操作系统Linux/Unix 充分发挥 sudo 的作用 阅读

充分发挥 sudo 的作用

 2009-11-26 00:00:00 来源:WEB开发网 闁靛棴鎷�闁告垵绻愰惃顒傗偓娑欍仦缂嶏拷濠⒀呭仜閵囧洨鈧稒銇炵紞锟�闁靛棴鎷�  闁稿繗娅曢弫鐐次涘▎鎰泚闁告娲ㄥ▓鎴濐嚗椤旂厧瑙�
核心提示: 保留系统环境变量的另一种方法是在 sudoers 中使用 Defaults !env_reset 指令:Defaults!env_reset然后,在命令行上指定环境变量名和值:$sudoLIBPATH=″/usr/lib:/opt/db2_09_05/lib64″-ude

保留系统环境变量的另一种方法是在 sudoers 中使用 Defaults !env_reset 指令:

Defaults !env_reset 

然后,在命令行上指定环境变量名和值:

$ sudo LIBPATH=″/usr/lib:/opt/db2_09_05/lib64″ -u delta /usr/local/bin/datapmp 

如果没有设置 !env_reset 条目,那么在试图运行命令时会从 sudo 收到以下错误:

sudo: sorry, you are not allowed to set the following environment variables: LIBPATH 

如果发现 sudo 还会缩减其他环境变量,那么可以在 sudoers 中指定变量名(使用 Defaults env_keep += 指令),让 sudo 保持这些变量不变。例如,假设对于我的一个使用 sudo 的脚本,sudo 会缩减应用程序变量 DSTAGE_SUP 和 DSTAGE_META。为了保留这些变量,可以在 sudoers 中设置以下条目:

Defaults env_keep += "DSTAGE_SUP" 
Defaults env_keep += "DSTAGE_META" 

注意,我指定了变量名,但是没有指定变量值。值已经包含在我的脚本中,比如:

export DSTAGE_SUP=/opt/dstage/dsengine; export DSTAGE_META=/opt/dstage/db2 

现在,在执行这个脚本时,这两个环境变量会保持不变。

保护 sudo 路径

可以使用 secure_path 指令修改 sudoers 中默认的 PATH。这个指令指定当用户执行 sudo 命令时在什么地方寻找二进制代码和命令。这个选项的目的显然是要限制用户运行 sudo 命令的范围,这是一种好做法。在 sudoers 中使用以下指令,指定安全 PATH 及其搜索目录:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/opt/freeware/bin:/usr/sbin" 

上一页  2 3 4 5 6 7 8 9  下一页

Tags:充分 发挥 sudo

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接