解决银河麒麟操作系统中`sudo su`命令切换用户失败的问题
- 1、问题描述
- 2、问题分析
- 3、问题解决办法
- 步骤 1:修改`/usr/bin/sudo`的权限
- 步骤 2:修改`/etc/sudoers`的权限
🌼The Begin🌼点点关注,收藏不迷路🌼 |
在银河麒麟操作系统中,使用sudo su
命令尝试切换到root用户时,有时会遇到权限相关的错误提示,如:“sudo:/usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置setuid位”。这个问题通常是由于/usr/bin/sudo
和/etc/sudoers
文件的权限设置不正确导致的。
1、问题描述
当你尝试使用sudo su
命令时,系统报错提示/usr/bin/sudo
的权限设置不正确,需要确保该文件属于用户ID 0(即root用户),并且设置了setuid位。
2、问题分析
通过执行以下命令,我们可以检查相关文件的权限设置:
ls -l /usr/bin/sudo
:查看/usr/bin/sudo
的权限,正常情况下应为-rwsr-xr-x
(即4755),表示该文件具有setuid位,允许普通用户以root权限执行。ls -l /etc/sudoers
:查看/etc/sudoers
的权限,正常情况下应为-r--------
(即400),表示该文件仅root用户可读。
如果权限设置不正确,如/usr/bin/sudo
的权限为777,/etc/sudoers
的权限也为777,那么就会出现上述错误。
3、问题解决办法
步骤 1:修改/usr/bin/sudo
的权限
打开终端,执行以下命令来设置正确的权限:
sudo chmod 4755 /usr/bin/sudo
这条命令将/usr/bin/sudo
的权限修改为-rwsr-xr-x
,确保普通用户能以root权限执行它。
步骤 2:修改/etc/sudoers
的权限
接下来,修改/etc/sudoers
的权限,确保只有root用户可以读取:
sudo chmod 400 /etc/sudoers
这条命令将/etc/sudoers
的权限修改为-r--------
,防止非root用户访问或修改该文件。
🌼The End🌼点点关注,收藏不迷路🌼 |