使用sudo -i 切换用户后,全局变量会刷新
时间: 2023-05-30 16:07:25 浏览: 139
是的,当使用sudo -i切换用户时,当前用户的环境变量和全局变量会被刷新,变成新用户的环境变量和全局变量。这是因为sudo -i会启动一个新的shell,以新用户的身份运行。如果需要保留原来用户的环境变量和全局变量,可以使用sudo -s命令。
相关问题
使用sudo -i 切换用户后,如何让全局变量不在刷新,并永久保持?
如果使用sudo -i切换用户后,全局变量在刷新并且不能永久保持,可以尝试使用以下方法:
1. 将全局变量添加到/etc/profile文件中。这个文件是系统启动时自动加载的,所以添加到这个文件中的变量将在每次登录时都被加载。
2. 将全局变量添加到~/.bashrc文件中。这个文件是当前用户登录时自动加载的,所以添加到这个文件中的变量将在每次登录后都被加载。
3. 将全局变量添加到/etc/environment文件中。这个文件是系统启动时自动加载的,并且所有用户都可以访问它,所以添加到这个文件中的变量将在全局范围内保持。
注意:修改这些文件需要使用root权限。
设置普通用户使用sudo -i需要输入root密码
在默认情况下,普通用户使用`sudo -i`命令需要输入自己的密码而不是root密码。如果您想要让普通用户使用sudo命令时输入root密码,可以按照以下步骤进行设置:
1. 打开sudoers文件,命令为`sudo visudo`
2. 找到以下行:
```
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
```
3. 在这些行的下面添加以下内容:
```
Defaults rootpw
```
4. 保存并退出sudoers文件。
现在,当普通用户使用`sudo -i`命令时,系统将提示输入root密码,而不是普通用户的密码。请注意,这样做可能会增加安全风险,因为让普通用户具有root权限可能会导致系统被攻击。