在 Ubuntu 中,sudo 允许授权用户以 root 级别权限执行任务,即使他们不知道 root 用户密码。这对于执行管理任务非常重要,因为它可以避免直接使用 root 用户,从而减少系统被误操作的风险,同时在企业生产中由于ubuntu系统都是root的用户名,为了防止被爆破也是要减少root用户的ssh连接,转为提供拥有sudo权限的用户!!!

概念

        在Linux操作系统中,有一个特殊的用户叫做 root,root用户可以在系统中做任何事情。权限太大,可以对系统进行任意操作。例如:删除系统文件等危险操作。为了避免误操作导致系统崩溃或数据丢失,我们一般不使用超级用户账号进行日常操作。

        因而创建一个普通用户并将他添加到 sudo 用户组以执行管理任务很重要的原因,因此,该用户在运行以 sudo 为前缀的命令时,既可以作为普通用户,也可以作为拥有root权限的管理用户。

        其次管理员权限可以很容易地授予用户,如果不再需要,可以随时撤销。(centos系统禁止root用户ssh登录)ubuntu系统默认禁用 root 用户,外来用户没法对root用户发起暴力攻击。

        再者,进入sudo 会话后,一定时间内超时,从而失去管理用户的权限。因此,其他用户无法执行任何进一步的管理任务。默认情况下,在当前会话中记住 sudo 密码 15 分钟。

以下有免费的4090云主机提供ubuntu22.04系统的其他入门实践操作

地址:星宇科技 | GPU服务器 高性能云主机 云服务器-登录

相关兑换码星宇社区---4090算力卡免费体验、共享开发社区-CSDN博客

驱动操作:ubuntu22.04系统 cuda驱动版本过高,更换驱动的方法 (常规通用)-CSDN博客

接下来跟着我进行实操

一、在 Ubuntu22.04系统中添加新用户

其他ubuntu版本大同小异,如ubuntu20.04、18.04基本无异

首先创建普通用户

在普通用户下

sudo adduser user 
#user替换为自己需要的用户名字!

在root用户下

adduser user
#user替换为自己要新建的用户名

两者效果一直,如下图

在New password 和 Retype new password 中输入新建用户的登录密码即可

 Full Name []: 
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 

设置密码后,需要设置账户信息,默认回车即可, 输入y  用户创建就完成了

添加用户后,默认会在/home路径下创建一个与用户名相同的用户目录。

二、确认新建用户有无sudo权限

        由于新建的用户是普通用户,是没有sudo权限,我们是一定要记得要授权,否则新建的用户是不能管理系统中的任何任务

sudo -l -U roots
#roots更换为新建的用户名

三、授权sudo权限

将新建的用户添加到sudo组中即可获取sudo权限

方法一

sudo adduser roots sudo

不要妄想直接从步骤一的后面加上sudo就以为可以授权了,没有新建用户,这条命令走不通的

方法二

sudo usermod -aG sudo roots

检测新建用户是否加入到sudo中

sudo -l -U roots

        (ALL:ALL)ALL   表示该roots用户拥有无限权限,可以在系统上运行任何命令,表明roors已被添加到sudo 用户组中,他可以执行各种管理任务。

打开sudoers文件

sudo cat /etc/sudoers

可以看到下面的几行

其中

第一个行  User privilege specification    ALL 是允许的用户。

第二行 ALL 是主机。相同的sudoers文件分发给许多主机,相同的sudo用户组可以在所有主机上执行管理命令。

第三行是运行命令时的用户。

最后一行是允许的命令。

此处注意,在Debian系统中,创建新的sudo用户前,需要安装sudo包

在Debian系统中安装sudo包

apt install sudo

ubuntu桌面版和服务器版都是默认安装了sudo包

四、验证sudo权限是否生效

切换用户

由root用户切换到普通账号

sudo su roots
#roots替换为要切换的用户名

由普通用户切换到root用户

sudo su root

注意:切换为root用户时,输入的是root用户的密码,如若还没有设置root的用户密码,先对root用户进行密码设置,否则无法登录root用户

方法一 

在有sudo权限的用户下输入

sudo -i
#进入root用户
passwd
#修改root密码
exit
#推出root

方法二

在有sudo权限的用户下输入

sudo passwd root

以上完成,下面继续

切换当前用户

sudo -i -u roots
#roots换成自己新建的用户

sudo apt-get update
#用sudo命令更新软件包

成功更新,说明新建的roots用户拥有sudo权限

以上完成

五、移除sudo权限

        移除sudo权限,并非删除用户,在ubuntu系统中,sudo组至少有一个用户拥有sudo权限

在移除对应的用户的sudo权限时,确保对应的用户没有在登录

方法一

sudo deluser roots sudo
#roots更换为要移除sudo权限的用户名

        此命令只会从 sudo 组中删除用户 roots,但不会从系统中永久删除用户,换句话说,roots用户从高权限的管理用户变成了最底层的普通用户

方法二

也可以通过下面的命令移除sudo权限

sudo gpasswd -d roots sudo
#roots替换对应的用户名

通过以下命令验证是否移除成功

sudo -l -U roots
#roots替换移除sudo权限的用户名

成功

可以通过步骤四,反向验证sudo权限是否真的被移除了,这里就提供结果,不重复讲解如何切换用户了

失去sudo权限后 如下图

六、在系统中删除用户

        上面五个步骤只是在sudo组中加入用户和移除用户,并未把新建的用户给删掉,roots用户还是可以正常登录机器,接下来要想真正删除roots用户,需要拥有sudo权限的用户或在root用户下进行真正的删除用户   

sudo deluser roots
#roots替换为要删除的用户名

删除时确保没有roots用户在登录,否则会删除失败

以下是删除成功

若要删除用户的数据  移除/home目录下已删除的用户的数据  这部要优先与上面删除用户的那一步

sudo deluser --remove-home roots
#roots替换为要删除的用户的数据

不然  会提示没有该用户  接下来就只能通过rm -rf 移除对应的文件夹资料

sudo rm -rf /home/roots/

其他详情

在系统中输入

#man adduser
#man deluser
#man sudo
#查看各个的使用手册和方法

请各位帅哥美女们多多支持!!小花花小心心  更多入门知识慢慢补充啦

后期持续关注!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐