一、问题描述
使用源码部署Nginx时,使用sudo Nginx提示command not found,但是直接使用Nginx会导致权限问题。
这种情况应该是环境变量导致的。切换到普通用户,使用 env |grep PATH 和 sudo env |grep PATH 发现两者变量值不一样。

二、解决方案
1 修改/etc/sudoers文件中的env_reset参数
在env_reset前加!号
2 修改.bashrc文件
在该文件加入以下配置:
alias sudo='sudo env PATH=$PATH'
3 重新加载配置文件
source ~/.bashrc
三、总结
sudo是一套环境变量,root是一套环境变量,普通用户是一套环境变量。
本文指导如何在部署Nginx时,处理sudo权限问题和环境变量差异。通过修改sudoers文件的env_reset参数,及.bashrc文件实现sudo时保持PATH变量,确保普通用户和root权限下一致。
350

被折叠的 条评论
为什么被折叠?



