【Ubuntu】--- 创建用户 删除用户 及其他用户操作大全 持续更新中

news2024/12/30 14:53:01

在这里插入图片描述

  • 在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。
  • 而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。

【Ubuntu】--- 创建用户 删除用户 及其他用户操作大全 持续更新中

  • 开发环境
  • 一、创建系统用户
    • 1、设置密码(可选)
    • 2、示范
  • 二、创建常规用户
    • 1、创建一个名为`qiuzhiyei1`的用户
    • 2、示范
  • 三、创建用户但不创建home目录
  • 四、修改账户密码
  • 五、删除账户
    • 1. 仅删除用户账户
    • 2. 删除用户及其主目录和邮箱
    • 3. 删除用户及其所有文件
    • 4. 特殊情况处理
  • 六、查看现有用户
    • 方法一:`cat /etc/passwd`
    • 方法二:`getent passwd`
  • 七、给账户root权限


开发环境

  • 开发环境:ubuntu20

一、创建系统用户

  • 系统用户通常用于运行后台服务或执行系统任务,它们不需要登录shell,也不会创建家目录。然而,如果你需要为系统用户指定一个登录shell,可以使用以下命令:
sudo adduser --system --shell /bin/bash --group qiuzhiyei
  • --system: 创建一个系统用户。
  • --shell /bin/bash: 为用户指定bash作为登录shell(尽管系统用户通常不需要登录)。
  • --group: 创建一个与用户同名的用户组,并将用户添加到该组中。

1、设置密码(可选)

  • 尽管系统用户通常不需要密码,但如果你确实需要设置,可以使用:
sudo passwd qiuzhiyei

2、示范

root@ubuntu20:~$ sudo adduser --system --shell /bin/bash --group qiuzhiyei
Adding ubuntu20 user `qiuzhiyei' (UID 113) ...
Adding new group `qiuzhiyei' (GID 118) ...
Adding new user `qiuzhiyei' (UID 113) with group `qiuzhiyei' ...
root@ubuntu20:~$ sudo passwd qiuzhiyei
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@ubuntu20:~$

注意: 在实际使用中,通常不需要为系统用户设置密码。

二、创建常规用户

  • 常规用户具有登录权限和家目录,适合进行日常开发和存储个人文件。

1、创建一个名为qiuzhiyei1的用户

sudo adduser qiuzhiyei1
  • 此命令会提示你设置密码并询问一些个人信息。创建的用户将没有root权限,适合开发人员使用。

2、示范

root@ubuntu20:~# sudo adduser qiuzhiyei1
Adding user `qiuzhiyei1' ...
Adding new group `qiuzhiyei1' (1001) ...
Adding new user `qiuzhiyei1' (1001) with group `qiuzhiyei1' ...
Creating home directory `/home/qiuzhiyei1' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for qiuzhiyei1
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n]

三、创建用户但不创建home目录

  • 如果你不想为新用户创建家目录,可以使用--no-create-home选项:
sudo adduser --no-create-home changfanglan

这种用户可能适合某些特定场景,如Samba共享,但请注意,没有家目录的用户在登录桌面环境时可能会遇到问题。

四、修改账户密码

sudo passwd username

五、删除账户

1. 仅删除用户账户

  • 若只需删除用户账户,不涉及其个人文件和设置,可使用以下命令:
sudo deluser 用户名
  • 例如,删除名为qiuzhiyei的用户:
sudo deluser qiuzhiyei
  • 系统将提示正在删除用户qiuzhiyei,并可能警告该用户组已无其他成员。

2. 删除用户及其主目录和邮箱

  • 如需彻底删除用户,并同时移除其主目录和邮箱,应执行:
sudo deluser --remove-home 用户名
  • qiuzhiyei为例:
sudo deluser --remove-home qiuzhiyei
  • 系统将搜索并删除相关文件,然后删除用户账户。

3. 删除用户及其所有文件

  • 若需更彻底地删除用户及其拥有的所有文件,可使用:
sudo deluser --remove-all-files 用户名
  • 请注意,此操作将删除用户的所有文件,需谨慎使用。

4. 特殊情况处理

  • 在删除用户时,可能会遇到无法删除用户主组的情况,如:
groupdel: cannot remove the primary group of user '用户名'
  • 此时,可以尝试使用userdel命令配合-r选项来删除用户及其主目录:
sudo userdel -r 用户名
  • 例如,删除qiuzhiyei用户及其主目录:
sudo userdel -r qiuzhiyei
  • 重要提示:执行删除操作前,请务必确认操作对象,以免误删重要数据或账户。

六、查看现有用户

方法一:cat /etc/passwd

cat /etc/passwd

区别与好处

  • 直接性:这个命令直接展示了/etc/passwd文件的内容,该文件明确记录了系统上的所有用户信息。
  • 全面性:你可以看到每个用户的详细信息,包括用户名、用户ID、组ID、家目录和默认shell。
  • 简单性cat命令是Linux中最基础的命令之一,易于使用和理解。

方法二:getent passwd

getent passwd

区别与好处

  • 动态性:与直接查看/etc/passwd文件不同,getent命令查询的是系统的用户数据库,这意味着它可以反映实时的用户信息,即使在/etc/passwd文件未被直接更新的情况下。
  • 兼容性getent是一个更为通用的命令,可以用于查询不同类型的系统数据库,不仅仅是用户信息。
  • 安全性:由于不直接操作文件,使用getent可能在一定程度上减少了误操作的风险。

七、给账户root权限

  • 当用户尝试使用sudo命令却收到“qiuzhiyei is not in the sudoers file. This incident will be reported.”这样的提示时,说明该用户没有被授予Root权限。为了解决这个问题,需要将用户添加到sudoers文件中。

以下是授予用户Root权限的步骤:

  1. 编辑sudoers文件
    打开终端,输入以下命令以编辑sudoers文件:

    sudo vim /etc/sudoers
    
  2. 找到用户权限规格部分
    sudoers文件中,找到类似于下面的行:

    # User privilege specification
    root    ALL=(ALL:ALL) ALL
    
  3. 添加用户权限
    root权限行下方,添加想要授予Root权限的用户,格式如下:

    用户名 ALL=(ALL:ALL) ALL
    

    qiuzhiyei为例,添加:

    qiuzhiyei ALL=(ALL:ALL) ALL
    
  4. 保存并退出编辑器
    如果使用的是vim编辑器,按Esc键退出插入模式,然后输入:wq并按Enter键保存并退出。如果使用的是nano编辑器,可以按Ctrl + O保存,然后按Ctrl + X退出。

  5. 测试sudo权限
    保存并退出编辑器后,就可以尝试使用sudo命令来验证权限是否已成功授予。例如,输入sudo ls并查看是否要求输入密码。如果要求输入密码并能够成功执行命令,则说明Root权限已正确授予。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1837228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

React常用方法汇总【更新中】

文章目录 前言创建项目启动命令列表渲染useEffect 异步函数使用方法useEffect 异步函数清除方法控制组件显示隐藏axios 安装使用 前言 运行 react 需要先安装 node.js,具体安装步骤可以参考这篇文章 https://blog.csdn.net/weixin_43721000/article/details/134284…

C++ 57 之 静态联编和动态联编

#include <iostream> #include <string> using namespace std;// 动态多态产生条件: // 1.要有继承关系 // 2.父类中有虚函数、子类要重写父类的虚函数 // 3.父类的指针或引用指向子类的对象class Animal{ public:virtual void speak(){ // 虚函数 父类中的vir…

大数据—“西游记“全集文本数据挖掘分析实战教程

项目背景介绍 四大名著&#xff0c;又称四大小说&#xff0c;是汉语文学中经典作品。这四部著作历久不衰&#xff0c;其中的故事、场景&#xff0c;已经深深地影响了国人的思想观念、价值取向。四部著作都有很高的艺术水平&#xff0c;细致的刻画和所蕴含的思想都为历代读者所…

计算机网络实验(9):路由器的基本配置和单臂路由配置

一、 实验名称 路由器的基本配置和单臂路由配置 二、实验目的&#xff1a; &#xff08;1&#xff09;路由器的基本配置&#xff1a; 掌握路由器几种常用配置方法&#xff1b; 掌握采用Console线缆配置路由器的方法&#xff1b; 掌握采用Telnet方式配置路由器的方法&#…

Linux之网络编程

Linux之网络编程 TCP协议 TCP(Transmission ControlProtocol) : 传输控制协议&#xff0c;是一个 面向连接的、可靠的、基于字节流的传输层的协议。TCP 协议建立的是一种点到点的&#xff0c;一对一的可靠连接协议 特点&#xff1a; 数据无丢失数据无失序数据无错误数据无重…

gitblit git pycharm 新建版本库及push备忘

在终端l中输入ssh,如果有消息弹出说明安装成功。 // 在任意路径打开GIT BASH,执行以下命令,期间所有询问可以直接Enter跳过 ssh-keygen -t rsa -C "注册Gitlab的邮箱" “”之内可以任何文字,备注提示作用。 设置用户名和邮箱 已经设置的可以检查一下。 #设置用…

Aiflow中,代码逻辑中明明不该触发的方法但是却触发了。

图中这个红圈的task&#xff0c;是我更新error记录的task&#xff0c;是某些特定的task特定情况会触发的。正常情况走的最下面的箭头的路径。但是现在就是就算只走了下面箭头的路径&#xff0c;红圈那个task依然被触发了。检查了半天才发现&#xff0c;它的TriggerRule设置的是…

Git记录 上传至Gitee

1.GitHub拉去的代码需要上传至自己的Gitee需要清除原有remote服务器信息 查看原始远程服务器信息&#xff0c;后删除远程服务器信息 git remote -v git remote rm origin 2.Gitee新建软件仓库 法1&#xff09;不用初始化仓库&#xff0c;初始化会自动生成.git。如果本地.git…

【Linux Vim的保姆级教程】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

MongoDB和AI 赋能行业应用:零售

欢迎阅读“MongoDB 和 AI 赋能行业应用”系列的第三篇。 本系列重点介绍 AI 应用于不同行业的关键用例&#xff0c;涵盖制造业和汽车行业、金融服务、零售、电信和媒体、保险以及医疗保健行业。 利用生成式 AI 技术&#xff08;Gen AI&#xff09;&#xff0c;零售商可以创造…

内网横向渗透篇

目录 一.什么是内网横向渗透 二.域环境搭建 一.什么是内网横向渗透 内网横向渗透是指攻击者在成功进入企业或组织的内部网络之后&#xff0c;试图扩展其访问权限和影响力&#xff0c;以便获取更多敏感信息或执行更深入的攻击。 拓扑图: 以下是内网横向渗透的简要步骤和策略&…

C++ 68 之 类模版作函数的参数

#include <iostream> // #include <cstring> #include <string> using namespace std;template<class T1, class T2> // 可以设置默认的类型值&#xff0c;后面在使用的时候&#xff0c;就不用再指定类型了 class Students08{ public:T1 m_name;T2 m_a…

mybatis框架相关问题总结(本地笔记搬运)

1、背景 2、运行启动问题 问题一 运行spring boot项目时报错&#xff1a;‘factoryBeanObjectType‘: java.lang.String 解决一 版本问题&#xff0c;springframework版本和mybatis/mybatis-plus版本不兼容。现spring-boot使用3.3.0版本&#xff0c;mybatis-plus使用3.5.7…

0618_QT4

练习&#xff1a; 完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示”登录成功“&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和…

骁龙662_高通SM6115主要参数_高通模块方案定制

骁龙662&#xff08;SM6115&#xff09;采用了全新的44 Kryo 260 CPU架构&#xff0c;由四核Cortex-A73(高达2.0 GHz)和四核Cortex-A53(高达1.8 GHz)组成。这种架构的设计使得骁龙662在性能上相较于上一代产品有了显著的提升&#xff0c;为用户提供了更快的运行速度和更流畅的使…

【机器学习300问】123、什么是GRU?GRU网络的基本结构是怎样的?

在之前的文章中&#xff0c;我们谈到了标准RNN所面临的诸多困境&#xff0c;你也可以理解为RNN的缺点。其中最让人苦恼的就是梯度消失问题&#xff0c;正是由于梯度消失问题的存在&#xff0c;导致RNN无法获得上下文的长期依赖信息。那么就没有办法解决了吗&#xff1f;非也&am…

查看服务器端口,如何查看服务器端口是多少并修改

查看服务器端口并修改内容是一个涉及网络管理和系统配置的专业任务。以下是一个详细的步骤说明&#xff0c;用于查看和修改服务器端口。 一、查看服务器端口 1. 使用命令行工具&#xff1a; - 对于Linux或Unix系统&#xff0c;可以使用netstat、lsof或ss等命令来查看端口状…

深度神经网络——什么是降维?

引言 什么是降维&#xff1f; 降维是用于降低数据集维度的过程&#xff0c;采用许多特征并将它们表示为更少的特征。 例如&#xff0c;降维可用于将二十个特征的数据集减少到仅有几个特征。 降维通常用于无监督学习任务 降维是一个用于降低数据集维度的过程&#xff0c;采用许…

JupyterLab使用指南(四):JupyterLab的Magic 命令

1. 什么是 Magic 命令 Magic 命令是 JupyterLab 中的一类特殊命令&#xff0c;用于简化和增强代码的执行。它们以 % 或 %% 开头&#xff0c;可以进行各种操作&#xff0c;如时间测量、环境设置、文件操作等。Magic 命令分为行 Magic 命令和单元 Magic 命令两种。 行 Magic 命…

Transformer预测 | 基于Transformer的锂电池寿命预测(Pytorch,CALCE数据集)

文章目录 文章概述模型描述程序设计参考资料文章概述 Pytorch实现基于Transformer 的锂电池寿命预测,环境为pytorch 1.8.0,pandas 0.24.2 随着充放电次数的增加,锂电池的性能逐渐下降。电池的性能可以用容量来表示,故寿命预测 (RUL) 可以定义如下: SOH(t)=CtC0100%, 其中,…