业界动态
linux命令-管理用户
2024-10-31 13:15

目录

linux命令-管理用户

一、导入

1、基础

2、切换用户

二、用户与用户组基本信息

1、用户基本信息:  /etc/passwd

2、用户密码信息: /etc/shadow

3、用户组配置信息:  /etc/group

4、用户组密码信息: /etc/gshadow

三、管理用户

1、添加用户-useradd命令

(1)useradd基本操作

(2)useradd特殊操作

2、passwd使用

3、修改用户信息-usermod命令

4、删除用户-userdel命令

四、管理用户组

1、添加用户组-groupadd命令

2、修改用户组信息-groupmod命令

3、删除用户组信息-groupdel命令

六、其他命令

1、id与group命令

2、groupmems命令

3、修改用户有效组-newgrp命令

4、chage命令


Linux 是一个多用户操作系统,支持多个用户同时登录操作系统(window某些版本支持 用户组是用户的逻辑组合,自动继承用户组的权限 用户和用户组既有名称,也有数字形式的 ID root 用户是系统超级管理员,拥有最高的权限,所有对象都可以操作 查看当前登录账户:命令为 whoami

su命令:实现任何身份的切换,包括从普通用户切换为 root 用户、从 root 用户切换为普通用户以及普通用户之间的切换。【只切换用户,不切换当前目录】

su - 命令:切换到用户的主目录。

su - -c "command" 命令root用户身份执行一条特权命令,执行之后立刻恢复为普通用户,注意两个“-”之间有空格

  1. 记录用户的基本信息,每行代表一个用户
  2. 每一行包含 7 个字段,用“:”分隔各字段的含义如下

用户名一串代表用户身份的字符串。

密码"x" 表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件中

UID用户 ID,每个用户都有唯一的一个 UID当UID为0时,表示超级用户,系统用户UID范围为:1~999,普通用户UID为1000~65535.【在 Linux 中,如何把普通用户升级成管理员呢?只需把其他用户的 UID 修改为 0 就可以了,此时用户名也变为root,因为一个id对应一个用户名,当id为0时,用户名也变为root

GID   简称“组ID”,表示用户初始组的组 ID 号。

初始组,指用户登陆时就拥有这个用户组的相关权限。每个用户的初始组只能有一个,通常就是将和此用户的用户名相同的组名作为该用户的初始组。比如说,我们手工添加用户 lamp,在建立用户 lamp 的同时,就会建立 lamp 组作为 lamp 用户的初始组。
附加组,指用户可以加入多个其他的用户组,并拥有这些组的权限。每个用户只能有一个初始组,除初始组外,用户再加入其他的用户组,这些用户组就是这个用户的附加组。附加组可以有多个,而且用户可以有这些附加组的权限。附加组的身份是可以修改的,但是我们在工作中不修改初始组,只修改附加组,因为修改了初始组有时会让管理员逻辑混乱。

用户描述信息用来解释这个用户的意义

主目录用户登录后有操作权限的访问目录,通常称为用户的主目录。

root 超级管理员账户的主目录为 /root,普通用户的主目录为 /home/yourIDname

默认Shell:可以理解为用户登录之后所拥有的权限。如果这里使用的是 bash 命令解释器,就代表这个用户拥有权限范围内的所有权限。例如

[root@localhost ~]# vi /etc/passwd
lamp:x:502:502::/home/lamp:/bin/bash

我手工添加了 lamp 用户,它使用的是 bash 命令解释器,那么这个用户就可以使用普通用户的所有权限。
如果我把 lamp 用户的 Shell 命令解释器修改为 /sbin/nologin,那么,这个用户就不能登录了,例如

[root@localhost ~]# vi /etc/passwd
lamp:x:502:502::/home/lamp:/sbin/nologin

因为 /sbin/nologin 就是禁止登录的 Shell。同样,如果我在这里放入的系统命令,如 /usr/bin/passwd,例如

[root@localhost ~]#vi /etc/passwd
lamp:x:502:502::/home/lamp:/usr/bin/passwd

那么这个用户可以登录,但登录之后就只能修改自己的密码。但是,这里不能随便写入和登陆没有关系的命令(如 ls,系统不会识别这些命令,同时也就意味着这个用户不能登录。

  1. 记录用户密码相关信息,每行代表一个用户
  2. 只有 root 用户可以查看
  3. 每一行包含 9 个字段,用“:”分隔,各字段含义为

        ①用户名:一串代表用户身份的字符串。

        ②密码"x" 表示此用户设有密码,但不是真正的密码,真正的密码保存在 /etc/shadow 文件中

        ③最近一次密码修改日期:此字段表示最后一次修改密码的时间,Linux 计算日期的时间是以  1970 年 1 月 1 日作为 1 不断累加得到的时间,到 1971 年 1 月 1 日,则为 366 天。这里显示 15775 天,也就是说,此 www 账号在 1970 年 1 月 1 日之后的第 19103 天修改的www用户密码。

        ④最小修改时间间隔:该字段规定了从第 3 字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是 0,则密码可以随时修改;如果是 10,则代表密码修改后 10 天之内不能再次修改密码。

        ⑤密码有效期:这个字段可以指定距离第 3 字段(最后一次更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段。

        ⑥密码到期前的警告天数:与第 5 字段相比较,当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户 "再过 n 天你的密码就要过期了,请尽快重新设置你的密码"。该字段的默认值是 7,也就是说,距离密码有效期的第 7 天开始,每次登录系统都会向该账户发出 "修改密码" 的警告信息。

        ⑦密码到期后的宽限天数:也称为“口令失效日”,简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用。比如说,此字段规定的宽限天数是 10,则代表密码过期 10 天后失效;如果是 0,则代表密码过期后立即失效;如果是 -1,则代表密码永远不会失效。

        ⑧账号失效日期:同第 3 个字段一样,使用自  1970 年 1 月 1 日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!该字段通常被使用在具有收费服务的系统中。

        ⑨保留使用:这个字段目前没有使用,等待新功能的加入。

  1. 记录用户组信息,每行代表一个用户组
  2. 每一行包含 4 个字段,用“:”分隔,各字段的含义如下

        ①组名:用户组的名称,有字母或数字构成。也不能重复。

        ②组密码:这里的 "x" 仅仅是密码标识,真正加密后的组密码默认保存在 /etc/gshadow 文件中。

        ③GID:群组的 ID 号,Linux 系统就是通过 GID 来区分用户组的

        这里的组 GID 与 /etc/passwd 文件中第 4 个字段的 GID 相对应,实际上,/etc/passwd 文件中使用 GID 对应的群组名,就是通过此文件对应得到的。   

        ④组内用户:此字段列出每个群组包含的所有用户。如果该用户组是这个用户的初始组,则该用户不会写入这个字段,可以这么理解该字段显示的用户都是这个用户组的附加用户。

1、记录用户组密码相关信息,每行代表一个用户组

2、只有root可以访问

3、每一行包含4 个字段,用“:”分隔,各字段含义为

①组名:同 /etc/group 文件中的组名相对应。

②加密密码:对于大多数用户来说,通常不设置组密码,因此该字段常为空,但有时为 "!",指的是该群组没有组密码,也不设有群组管理员。

③组管理员:考虑到 Linux 系统中账号太多,而超级管理员 root 可能比较忙碌,因此当有用户想要加入某群组时,root 或许不能及时作出回应。这种情况下,如果有群组管理员,那么他就能将用户加入自己管理的群组中,也就免去麻烦 root 了。不过,由于目前有 sudo 之类的工具,因此群组管理员的这个功能已经很少使用了。

④组附加用户列表:该字段显示这个用户组中有哪些附加用户,和 /etc/group 文件中附加组显示内容相同。

使用 useradd 命令新建用户,此命令的基本格式如下

useradd [选项] 用户名

选项

功能说明

-d  homedir

指定用户的主目录,必须是绝对路径

-u  uid

指定用户的 UID

-g  gid | gname

指定用户主组的 GID 或组名,必须是已经存在的组

-G  groups

指定用户的附加组,如果有多个附加组就用“,”分隔 

-m

强制建立用户的主目录,这是普通用户的默认值

-M

不要建立用户的主目录,这是系统用户的默认值

-s  shell

指定用户的默认 Shell

-c  comment

关于用户的简短描述,也就是 /etc/passwd 5 列的内容

-r

创建一个系统用户UID 1000 以内

-e  expiredate

指定账号失效日期,即 /etc/shadow 的第 8 ,格式为YYYY-MM-DD

-f  inactive

用户密码到期后的宽限天数/etc/shadow 的第 7 列。

0 表示立即失效-1 为永远不失效

(1)useradd基本操作

系统已经帮我们规定了非常多的默认值,在没有特殊要求下,无需使用任何选项即可成功创建用户。例如

useradd tester2 

此条命令完成以下操作

① 在 /etc/passwd 文件中新增一行与新用户相关的数据

② 在 /etc/shadow 文件中写入一行与新用户相关的密码数据

③ 在 /etc/group 文件中新增一行与新用户同名的用户组

④ 在 /home 目录下创建与新用户同名的目录作为新用户的主目录

 例

(2)useradd特殊操作

添加新用户,用户名为 tong,手动指定其UID和主组

创建一个具有root权限的用户

功能:修改用户密码,命令格式为

passwd [选项] 用户名

选项

功能说明

-l

锁定用户,即“lock”。在 /etc/shadow 的第一列前加“!”使密码无效,只有 root 用户可以使用这个选项

-u

解锁用户,即“unlock,作用与-l选项相反,只有 root 用户能够使用

-S

查询用户密码的相关信息,也就是 /etc/shadow 文件的内容

-n  mindays

密码修改后多长时间内不能再修改密码,即 /etc/shadow 4 列的内容

-x  maxdays

密码有效期,即 /etc/shadow 5 列的内容

-w  warndays

密码过期前的警告天数,即 /etc/shadow 6 列的内容

-i  inactivedays

密码失效日期,即 /etc/shadow 7 列的内容

-c  comment

关于用户的简短描述,也就是 /etc/passwd 5 列的内容

root用户修改普通用户的密码root 用户可以修改普通用户的密码

普通用户修改自己密码要求1,普通用户只能修改自己的密码、要求2,普通用户修改密码前必须输入原密码、要求3,普通用户设置的密码必须满足密码复杂性要求

用户密码 10 天内不允许修改、但 30 天内必须修改、密码到期前 5 天会有提示

如果不小心添错用户信息,后期如何修改呢?使用usermod命令。

基本命令格式

usermod [选项] 用户名

选项和useradd类似。这里不再做赘述。

useradd 命令用于添加用户,当然,添加用户时可以对用户信息进行定制

usermod 命令针对与已存在的用户,使用该命令可以修改它们的信息。

如果指定的用户目录不存在呢

:命令执行成功,但不会创建不存在的文件夹。

功能:userdel 命令的作用就是从下面文件中,删除与指定用户有关的数据信息。

  • 用户基本信息:存储在 /etc/passwd 文件中
  • 用户密码信息:存储在 /etc/shadow 文件中
  • 用户群组基本信息:存储在 /etc/group 文件中
  • 用户群组信息信息:存储在 /etc/gshadow 文件中
  • 用户个人文件:主目录默认位于 /home/用户名,邮箱位于 /var/spool/mail/用户名。

基本格式如下

userdel -r 用户名

 -r 选项表示在删除用户的同时删除用户的家目录。

注意,在删除用户的同时如果不删除用户的根目录,那么根目录就会变成没有属主和属组的目录,也就是垃圾文件。

命令格式如下:

groupadd [选项] 组名

  • -g GID:指定组 ID
  • -r:创建系统群组。

命令格式如下

 groupmod [选现] 组名

  • -g GID:修改组 ID
  • -n 新组名:修改组名

功能删除用户组本命令要修改的系统文件包括/ect/group/ect/gshadow

groupdel 组名

: 不能删除用户的主组

id命令功能:用户的UID、GID 和附加组的信息。

命令格式

 id 用户名

group命令功能显示用户的组信息,与 id  -Gn 命令效果相同,命令格式

group 用户名

n 功能 把用户添加到或移出用户组,命令格式 groupmems [选项] 常用选项为

选项

功能说明

-a  username

把用户添加到组中

-d  username

从组中移除用户

-g  grpname

目标用户组

-l

显示组成员

-p

删除组内所有用户

每个用户可以属于一个初始组(用户是这个组的初始用户,也可以属于多个附加组(用户是这个组的附加用户)。既然用户可以属于这么多用户组,那么用户在创建文件后,默认生效的组身份是哪个呢
当然是初始用户组的组身份生效,因为初始组是用户一旦登陆就获得的组身份。也就是说,用户的有效组默认是初始组,因此所创建文件的属组是用户的初始组。那么,既然用户属于多个用户组能不能改变用户的初始组呢?使用命令 newgrp 就可以。 功能:可以从用户的附加组中选择一个群组,作为用户新的初始组。命令格式: newgrp 组名

功能显示用户的密码信息,和带 -S 选项的 passwd 命令效果类似,命令格式

chage [选项] 用户名

  • -l:列出用户的详细密码状态;
  • -d 日期:修改 /etc/shadow 文件中指定用户密码信息的第 3 个字段,也就是最后一次修改密码的日期,格式为 YYYY-MM-DD
  • -m 天数:修改密码最短保留的天数,也就是 /etc/shadow 文件中的第 4 个字段
  • -M 天数:修改密码的有效期,也就是 /etc/shadow 文件中的第 5 个字段
  • -W 天数:修改密码到期前的警告天数,也就是 /etc/shadow 文件中的第 6 个字段
  • -i 天数:修改密码过期后的宽限天数,也就是 /etc/shadow 文件中的第 7 个字段
  • -E 日期:修改账号失效日期,格式为 YYYY-MM-DD,也就是 /etc/shadow 文件中的第 8 个字段。
    以上就是本篇文章【linux命令-管理用户】的全部内容了,欢迎阅览 ! 文章地址:http://mdekt.bhha.com.cn/news/14.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 康宝晨资讯移动站 http://weazh.bhha.com.cn/ , 查看更多   
最新新闻
35位数!巨头收天价罚单,超全球GDP总和
10月31日,“谷歌被俄罗斯罚款35位数”冲上微博热搜榜第一。据央视新闻报道,当地时间10月29日,因谷歌公司在视频网站优兔(YouT
《NCX》软件的搜索功能如何使用?
一、概述《NCX》是一款功能强大的数据搜索和分析,它能够通过先进的搜索技术,帮助用户快速、准确地找到所需的数据。本篇文章将
世界科学史上十大“最意外的发明”
  俗话说 ” 需要是发明之母 “,然而许多发明家或许不太肯承认的是,” 运气 ” 有时也是发明之母。很多人都以为科学史上许多
SQL与NoSQL未来会走向融合?
开发应用程序时之前最基础的工作之一是评估该使用SQL还是NoSQL 数据库来存储数据。传统数据库,即使用SQL(结构化查
怎么查看每天网站有多少人访问?加个代码或插件就行了
当自己搭建好一个网站后,每天更新了文章,一定还想知道有多少人访问了自己的网站吧。查看每天网站有多少IP的东西,我们称它为统
Python 静态网页信息爬取
在当今数字化时代,数据的价值不言而喻。对于研究人员、开发者和数据分析师来说,能够从互联网的海量信息中提取所需
2023开年抖音直播带货分析
随着互联网技术的发展,以直播为代表的KOL(关键意见领袖)带货模式给消费者带来更直观、生动的购物体验,转化率高,营销效果好
9岁儿童脑筋急转弯
9岁儿童脑筋急转弯大全  还记得小时后和小伙伴们经常说的那些脑筋急转弯吗?它们充满着我们儿时的回忆。下面小编为您搜集了9岁
java操作minio删除文件夹及其文件方法
Minio是一款开源的对象存储服务,可以用来存储和管理大量的数据。在Minio中,可以使用Java API来进行对象的操作,包括上传、下载
上升造句
1、从方便计算的角度上建议段采用比例方程表示,下降段简化为以拐点分界的两部分直线。2、这个季度初,厂家新研究了一种型号的液
本企业新闻
推荐企业新闻