从广义上讲,Linux系统账户包括用户账号和组账号两类。

用户账号又分为普通用户账号和超级用户账号(root),关于这两类账户的区别可以回顾Linux之用户管理实训。

组账号又分为私有组、系统组和标准组。

建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组只容纳了一个用户。

标准组可以容纳多个用户,组中的用户都具有组所拥有的权利。

系统组是Linux系统自动建立的。

相关知识(新创建一个用户组,并将一个已经存在的用户组删除掉)

Linux创建用户组命令

Linux 中使用groupadd命令来创建一个新用户组。

命令格式:groupadd [命令参数] 参数

常见命令参数:

  • -g:指定新建工作组的id;
  • -r:创建系统工作组,系统工作组的组ID小于500;

groupadd必须以root权限才能执行,如果是普通用户想使用该命令,需要在命令前加sudo命令来提升权限为root权限。

案例演示一

使用groupadd命令新创建一个用户组testGroup

[请在“命令行”里直接体验]

在背景介绍中,我们了解到,Linux中用户组信息是保存在/etc/group文件中,我们可以使用命令tail /etc/group命令查看/etc/group文件最后10行中是否存在刚刚新创建的testGroup用户信息。

[请在“命令行”里直接体验]

案例演示二

使用groupadd命令新创建一个用户组testGroupID,并且指定组的ID

[请在“命令行”里直接体验]

注意:我们可以看到有时执行sudo命令就不需要输入密码,这是因为每次都输入密码比较麻烦,所以Linux会设置一个sudo的会话时间,就是说我们在第一次执行sudo的时候是要输入密码,那么在接下来的一段时间内在执行sudo的时候就不需要输入密码,这个会话时间默认是5分钟,用户也可以通过编辑/etc/sudoers来修改这个会话时间的大小。

同样我们可以使用命令tail /etc/group命令查看/etc/group文件最后10行中是否存在刚刚新创建的testGroupID用户信息。

[请在“命令行”里直接体验]

Linux删除用户组命令

Linux 中使用groupdel命令来删除一个已经存在的用户组。

命令格式:groupdel 参数

参数为要删除的用户组名

groupdel必须以root权限才能执行,如果是普通用户想使用该命令,需要在命令前加sudo命令来提升权限为root权限。

案例演示一

使用groupdel命令删除上面创建的testGrouptestGroupID

[请在“命令行”里直接体验]

根据窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下:

  • 新创建一个用户组newGroup;
  • 新创建一个用户组newGroupID,并自设置其ID1010
  • 删除已经存在的用户组oldGroup

相关知识(新创建的用户修改其所属组)

Linux查看用户所属组

Linux中查看一个用户所属的组两种方法。

使用id命令查看。

命令格式:id [命令参数] 参数

参数为要查询的用户名,默认是当前登录用户。

常见命令参数:

  • -g或--group:显示用户所属群组的ID
  • -G或--groups:显示用户所属附加群组的ID
  • -n或--name:显示用户,所属群组或附加群组的名称。

id命令的执行权限是面向所有用户。

案例演示:

使用id命令查看用户fzm所属组。

[请在“命令行”里直接体验]

使用group命令查看。

命令格式:groups 参数

参数为要查询的用户名,默认是当前登录用户。

执行权限:groups命令的执行权限是面向所有用户。

案例演示:

使用groups命令查看用户fzm所属组。

[请在“命令行”里直接体验]

一个用户是可以属于多个组的。

Linux修改用户所属组

使用usermod命令修改用户组

如果要一个用户仅仅属于某一个组,而不是同时属于多个组,则使用如下命令:

命令格式:usermod -g 组名 用户名

如果要给一个用户添加一个新的组,同时保留原来有所的组,则使用如下命令:

命令格式:usermod -a -G 组名 用户名

usermod必须以root权限才能执行,如果是普通用户想执行usermod时,需要在命令前加sudo命令来提升权限为root权限。

案例演示一:

新创建一个用户newUser和新创建一个用户组newGroup,使用usermod命令将newUser用户所属组修改为newGroup

[请在“命令行”里直接体验]

首先,创建用户newUser和组newGroup,使用groups命令查看用户newUser所属的组,因为默认情况下新创建用户的时候会默认创建一个与用户名同名的私有组,并将新创建的用户所属组设置为私有组。接下来使用usermod命令来修改用户所属组,最后查看修改是否成功。

案例演示二:

新创建一个用户newUser和新创建一个用户组newGroup,使用usermod命令为newUser用户新添加一个组newGroup

[请在“命令行”里直接体验]

首先,创建用户newUser和组newGroup,使用groups命令查看用户newUser所属的组。接下来使用usermod命令来为用户添加一个新的组,最后查看添加是否成功。

使用useradd命令创建用户的时候指定用户组

在创建新用户的同时可以修改默认用户所属组,如果想在创建的时候直接将用户所属组修改成系统中已经存在的一个组,而不是使用默认私有组,则使用如下命令:

命令格式:useradd -g 组名 用户名

在创建新用户的同时可以为用户添加其它组,如果想在创建新用户的时候为用户添加一个已经存在的组,而不仅只属于默认创建的私有组,则使用如下命令:

命令格式:useradd -G 组名 用户名

useradd必须以root权限才能执行,如果是普通用户执行时,需要在命令前加sudo命令来提升权限为root权限。

案例演示一:

新创建一个用户组newGroup,并且使用useradd命令新创建用户newUser同时将其所属组修改为newGroup

[请在“命令行”里直接体验]

首先,创建用户组newGroup,使用useradd命令创建新用户newUser,同时将其所属组修改为newGroup,最后查看修改是否成功。

案例演示二:

新创建一个用户组newGroup,并且使用useradd命令新创建用户newUser同时为其添加一个新的用户组newGroup

[请在“命令行”里直接体验]

首先,创建用户组newGroup,使用useradd命令创建新用户newUser,同时为其添加一个新的用户组newGroup,最后查看添加是否成功。

根据窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下:

  • 新创建一个用户newUser;
  • 使用usermod命令为用户newUser新添加一个已经存在的用户组oldGroup。

相关知识(对一个已经存在的用户和用户组信息的修改)

Linux查看用户属性命令

Linux中使用id命令可以查看用户的大多数信息。具体使用方法请参看上一关的实训。

Linux中还可以通过查看/etc/passwd文件来获取用户的信息。具体方法可以参考背景知识。

Linux中还可以使用finger命令来查询用户的信息。

注意Ubuntu系统中默认没有安装finger命令,用户可以通过以下命令来安装finger,然后就可以使用finger

sudo apt-get install finger

具体使用方法如下:

命令格式:finger [命令参数] 参数

常见命令参数

  • -l:多行显示;
  • -s:单行显示。这个选项只显示登入名称、真实姓名、终端机名称、闲置时间、登入时间、办公室号码及电话号码。如果所查询的使用者是远端服务器的使用者,这个选项无效。

案例演示:

使用finger命令查看用户信息。

例如,查看系统中已经存在的用户newUser信息。

[请在“命令行”里直接体验]

Linux用户信息修改命令

Linuxusermod命令是最强大的用户账户修改实用工具。

usermod命令我们在上一关只是简单的用到其-g-G参数对用户的所属组进行修改,本关我们将进一步使用usermod命令的其它属性进行修改更多的属性。

命令格式:usermod [命令参数] 参数

常见命令参数:

  • -c<备注>:修改用户帐号的备注文字;
  • -d<登入目录>:修改用户登入时的目录;
  • -e<有效期限>:修改帐号的有效期限;
  • -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
  • -g<群组>:修改用户所属的群组;
  • -G<群组>;修改用户所属的附加群组;
  • -l<帐号名称>:修改用户帐号名称;
  • -L:锁定用户密码,使密码无效;
  • -s:修改用户登入后所使用的shell
  • -u:修改用户ID
  • -U:解除密码锁定。

usermod必须以root权限才能执行,如果是普通用户想使用该命令时,需要在命令前加sudo命令来提升权限为root权限。

案例演示一:

使用usermod命令修改用户名。

例如,在系统中已经存在一个用户名为oldUser的用户,由于某种原因,现在必须将其修改成newUser

[请在“命令行”里直接体验]

案例演示二:

使用usermod命令修改用户登录目录。

[请在“命令行”里直接体验]

首先使用finger命令查看用户newUser的登录目录为/home/oldUser,然后新创建一个/home/newUser,使用usermod将用户newUser的登录目录修改成/home/newUser,最后使用finger命令查看是否修改成功。

Linux用户组信息修改命令

Linux 中使用groupmod命令来修改用户组信息。

命令格式:groupmod [命令参数] 参数

常见命令参数:

  • -g<群组识别码>:设置欲使用的群组识别码;
  • -n<新群组名称>:设置欲使用的群组名称。

groupmod必须以root权限才能执行,如果是普通用户想使用该命令时,需要在命令前加sudo命令来提升权限为root权限。

案例演示:

使用groupmod命令修改已有用户组名称。

[请在“命令行”里直接体验]

首先通过tail命令查看一个已有用户组信息,可以看到该用户组名为oldUser,并且组ID为1004,通过groupmod命令将其名由oldUser修改成renameOldUser,最后使用再查看是否修改成功。

根据窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下:

  • 将系统已有用户oldName名修改成newName
  • 将修改过后的newName用户的登录目录修改成系统已存在文件夹/home/newName
  • 将系统已有用户组oldGroup名修改成newGroup

注意:执行环境默认以root账户登录,所以执行的所有命令都是以root权限执行。

人总会在不断进步,不要停下来,未来的我们要活出样子来,当我有天回忆起来这篇文章,我会记住当时我付出了多少努力

Linux用户高级管理综合讲解(中高级难度)相关推荐

  1. Linux之用户高级管理

    第1关:创建/删除用户组 编程要求 根据右侧窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下: 新创建一个用户组newGroup; 新创建一个用户组newGroupI ...

  2. linux用户密码管理,Linux_详解Linux中的用户密码管理命令passwd和change,passwd 修改用户密码参数 nbsp - phpStudy...

    详解Linux中的用户密码管理命令passwd和change passwd 修改用户密码 参数 -k 保持未过期身份验证令牌 -l 关闭账号密码.效果相当于usermod -L,只有root才有权使用 ...

  3. Linux文件/目录高级管理一(中级难度)

    Linux 系统中的每个文件和目录都有访问许可权限,用它来确定谁能通过何种方式对文件和目录进行访问和操作. 文件的访问权限分为只读,只写和可执行三种. 目录的访问权限分为可浏览.可修改目录内容和可进入 ...

  4. Linux操作系统高级管理

    文章目录 Web网站服务专业术语 HTTP协议 HTTP资源 Web网站服务专业术语 HTTP协议 1.TCP协议与HTTP协议 1.TCP协议主要用于数据传输控制,而HTTP协议主要用于应用层面的数 ...

  5. Linux用户权限管理命令行(详细)

    目录 基础知识-基本组与附加组:标识号 一.用户 1.用户添加 2.用户删除 3.用户修改 4.用户口令设置(密码) 5.用户权限 其他: 二.用户组管理 1.增加用户组 2.删除用户组 3.修改用户 ...

  6. Linux用户分组管理的常用操作笔记

    linux使用用户和分组的概念来分权限管理系统文件,这对于系统的安全有很大的用处. 先来看下linux中文件信息的基本属性: 如图所示,使用 ls -al 指令,就可以看到文件夹下各文件夹/文件的基本 ...

  7. Linux用户权限管理

    安全上下文 (secure context): 用户:#UID /etc/passwd 组:#GID /etc/group 影子口令: 用户:#/etc/shadow 组: #/etc/gshadow ...

  8. linux系统日常管理复习题讲解

    1. 如何看当前Linux系统有几颗物理CPU和每颗CPU的核数? 2. 查看系统负载有两个常用的命令,是哪两个?这三个数值表示什么含义呢? 3. vmstat r, b, si, so, bi, b ...

  9. linux系统高级管理工具包,linux两大系统的包管理工具

    linux系统分为两大阵营: 1. redhat系统:包括Redhat.Centos.Fedora等 2. debian系统:包括Debian.Ubuntu等 RedHat 系列 1 常见的安装包格式 ...

最新文章

  1. 硬盘温度70度正常吗_70多岁老年人原来血压160,现在130正常吗?医生为你分析实情...
  2. 社会大学的作业,活动篇
  3. netcore 学习
  4. vs debug 模式生成的exe 另一台电脑_神秘的 _DEBUG 宏从何处来?
  5. 【案例】弱电机房用电负荷计算意义及计算方法
  6. mysql运用与实践_MySQL开发与实践 PDF 下载
  7. 计算机二级基础知识 文库,计算机二级公共基础知识(全)
  8. GDCM:2个DICOM文件的diff测试程序
  9. RabbitMQ—性能测试
  10. c语言百文百鸡问题答案,python_百文买百鸡问题
  11. 大数据学习笔记02:在私有云上创建与配置虚拟机
  12. cdn加载插件和npm安装的差别_web开发:打字机效果插件Typed.js
  13. Windows服务器管理(3)——IIS服务器误删了Default Web Site 网站 解决方法
  14. 用户ID生成唯一邀请码的几种方法
  15. java 参数校验 优雅的,SpringBoot 如何优雅的进行参数校验
  16. java 数据转成xml_java转换CSV文件生成xml格式数据
  17. 湖北省首条短途运输航线“荆门—武汉”航线运营
  18. 数学建模——Logistic Regression逻辑回归算法(二分类及多分类的Python代码实现)
  19. GooglTest GoogleMock 实践感想三 死亡测试初步(1)
  20. 搞定HTML\CSS之background属性

热门文章

  1. matlab怎样返回前一步,执行完宏怎样恢复上一步
  2. html语言cellpadding,cellpadding
  3. 杂项-Map:高德地图
  4. PHP编辑正方体,【转】PHP编辑器:phpDesigner
  5. STM32F1网络编程-W5500网卡驱动移植
  6. 让姑姑不再划拳 码农也要有原则 : SOLID via C#
  7. Flutter之 GridView
  8. NO.3-SAP S4 HANA Cloud实施方法论(3)
  9. SaaS在中国没有未来,但他做了14年
  10. Android系统:SystemUi需要注意的一些知识点