Debian 10 为什么默认不安装 sudo?

如果在安装过程中,设置了 root 密码,则默认情况下不会安装 sudo。
如果不设置 root 密码,sudo 则安装。

问题

Debian 10 sudo 安装软件时,报错:-bash: sudo: command not found

解决

切换到 root

su -

安装 sudo

apt-get install sudo -y

将 shanks 用户,添加到 sudo 组

usermod -aG sudo shanks

查看 shanks 用户是否被添加到 sudo 组。正确时,groups 中应有 sudo 组

id shanks

使用 visudo 编辑 /etc/sudoers。visudo 基本操作:修改后,执行 ctrl + x 退出,退出时,输入 y 保存修改;输入 n 不保存修改;输入 ctrl + c 继续编辑。

visudo 

# 若不存在以下内容,则添加
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
# 如果希望 shanks 用户再使用 sudo 时,无需输入密码,则继续添加。
shanks ALL=(ALL) NOPASSWD:ALL

重启

reboot

补充

su - 和 su 的区别

su -:切换用户 = 切换用户身份 + 切换工作目录 + 切换 PATH 环境变量
su:切换用户 = 切换用户身份

visudo

visudo 用类似于 vipw 的方式,安全的编辑 sudoers 文件。
visudo 将锁定 sudoers 文件,防止同时进行多次编辑,并提供基本的完整性检查与检查解析错误。
visudo 在编辑后解析 sudoers 文件,如果存在语法错误,将不保存更改。发现错误后,visudo 将提示发生错误的行号,并且请示用户该如何操作,请示语类似"What now?"。此时,用户可执行以下操作:
输入 e:重新编辑 sudoers 文件。
输入 x:不保存并退出。
输入 q:退出并保存。注意:保存后,如果 visudo 仍认为存在解析错误时,任何人都无法再次进行 sudo!除非错误修复!请谨慎保存。

参考

unix.stackexchange.com/questions/7013/why-do-we-use-su-and-not-just-su
unix.stackexchange.com/questions/354928/bash-sudo-command-not-found

最后修改:2021 年 05 月 22 日 12 : 20 AM
如果觉得文章帮助了您,您可以随意赞赏。