一,认识/etc/passwd和/etc/shadow

1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息.

在命令行输入 cat /etc/passwd  | head  (‘ | ’ 为管道符,作用是把前面的的命令输出在输入给后面的命令 )

由图所示 /etc/passwd/被:分为7个字段 其含义如下

第一个字段为用户名(图中为root),是代表用户账号的字符串。

第二个字段是该账号的口令,这里的"x"代表的是密码标志,而不是真正的密码,真正的密码是保存在 /etc/shadow 文件中的。

第三个字段就是用户 ID(UID),系统通过这个数字识别用户身份,如果用户 UID 为 0,则代表这个账号是root账号。也就是说我们可以修改test用户的uid为0,那么系统会认为root和test为同一个账户。

第四个字段就是用户的组 ID(GID),也就是这个用户的初始组的标志号。(所谓初始组,指用户一登陆录就立刻拥有这个用户组的相关权限。每个用户的初始组只能有一个,一般就是将和这个用户的用户名相同的组名作为这个用户的初始组。举例来说,我们手工添加用户 lamp,在建立用户 lamp 的同时就会建立 lamp 组作为 lamp 用户的初始组。)

第五个字段是这个用户的注释说明,如姓名,电话,地址等 可以使用chfn命令来修改这些信息。

第六个字段是这个用户的家目录,也就是用户登录后有操作权限的访问目录,我们把这个目录称为用户的家目录。root的家目录是/root,普通用户的家目录为/home/username ,用户的家目录是可以自定义的,将/etc/passwd中对应该用户的该字段修改为目标目录即可

第七个字段为用户的shell。用户登录后,要启动一个进程,用来将用户下达的指令传给内核,这就是shell。Linux的she有sh、csh、ksh、tcsh、bash等多种,而Red Hat/CentOS的shel就是bash。查看/etc/passwd文件,该字段中除了/bin/bash,还有很多/sbin/nologin,它表示不允许该账号登录。如果想建立一个不允许登录的账号,可以把该字段改成/sbin/nologin,默认是/bin/bash。

2./etc/shadow 文件,用于存储 Linux 系统中用户的密码信息,又称为“影子文件”。

在命令行中输入 cat /etc/shadow  | head -3

第一个字段为用户名,与 /etc/passwd 对应

第二个字段为用户密码,是该账号的真正密码,这个密码已经加密,但是有些黑客还是能够解密的。所以,将该文件属性设置为000,但root账户是可以访问或更改的。使用命令ls-l查看该文件的权限,示例命令如下:

第三个字段为上次修改密码的日期,这个数字以1970年1月1日和上次更改密码的日期为基准计算而来。例如,上次更改密码的日期为2012年1月1日,则这个值就是365*(2012-1970)+(2012-1970)/4+1=15341。如果是闰年,则有366天。

第四个字段为要过多少天才可以更改密码,默认是0,即不受限制。

第五个字段为密码多少天后到期,即在多少天内必须更改密码。例如,这里设置成30,则30天内必须更改一次密码;否则,将不能登录系统。默认是999,可以理解为永远不需要改。

第六个字段为密码到期前的警告期限。若这个值设置成7,则表示当7天后密码过期时,系统就发出警告,提醒用户他的密码将在7天后到期。

第七个字段为账号失效期限。如果这个值设置为3,则表示密码已经到期,然而用户并没有1到期前修改密码,那么再过3天,这个账号便失效,即锁定。

第八个字段为账号的生命周期。跟第三个字段一样,这个周期是按距离1970年1月1日多少天算|的。它表示的含义是,账号在这个日期前可以使用,到期后账号将作废。

第九个字段作为保留用的,没有什么意义。

二,用户和用户组管理

1.groupadd :新增组的命令 格式为 group  [-g GID]  groupname

(如果不加-g选项,gid是从1000开始的)

2.groupdel : 删除组的命令 (不能删除user1的主组)

3.useradd :增加用户的命令 格式为 useradd  [ -u IID ] [ -g GID ] [ -d HOME ] [ -M ] [-s]   username 其中各个选项具体含义如下

-u:表示自定义UID
-g:表示使新增用户属于已经存在的某个组,后面可以跟组id,也可以跟组名。
-d:表示自定义用户的家目录。
-M:表示不建立家目录。
-s:表示自定义shell。
下面我们先来新建一个用户test10,示例命令如下: (如果useradd不加任何选项,直接跟用户名,则会创建一个跟用户名同名的组)

如果-g选项后面各一个不存在的GID,仍会报错,提示该组不存在。

刚刚上面说过,加上-M选项后,则不建立用户家目录,但在/etc/passwd文件中仍然有这个字段。如果你使用命令ls /home/user11查看一下,会提示该目录不存在。所以,-M选项的作用只是不创建那个目录。下面我们来查看user11的家目录,会提示我们目录不存在,示例命令如下:

4.userdel :删除账户的命令  格式为userdel [-r] username,其中-r选项的作用是,当删除用户时,一并删除该用户的家目录。示例命令如下:

*inux中的 exec命令,-exec 后面跟的是linux的 command 命令,exec命令以分号结束‘;’, 该分号前面要放 反斜杠转义 。

2019/12/11学习内容摘要(Linux系统用户与用户组管理①)的更多相关文章

  1. 2019/12/10学习内容摘要(Linux文件和目录管理)

    1.绝对路径和相对路径 *绝对路径:路径的写法一定是由根目录 / 写起的,例如 /usr/local/mysql *相对路径:路径的写法不是由根目录 / 写起的,例如 首先用户进入到 /home,然后 ...

  2. linux系统用户以及用户组管理

    本系列的博客来自于:http://www.92csz.com/study/linux/ 在此,感谢原作者提供的入门知识 这个系列的博客的目的在于将比较常用的liunx命令从作者的文章中摘录下来,供自己 ...

  3. linux入门教程(七) linux系统用户以及用户组管理

    关于这部分内容,笔者在日常的linux系统管理工作中用到的并不多,但这并不代表该内容不重要.毕竟linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌.因为这涉及到一个安全的问题. [认 ...

  4. Linux系统用户及用户组管理

    目录一.新增/删除用户和用户组二.创建/修改密码三.用户身份切换--su和sudo 一.新增/删除用户和用户组1.用户组 命令 : groupadd 语法 : groupadd [-g GID] gr ...

  5. 2019/12/12学习内容摘要(Linux系统用户与用户组管理②)

    5.命令 chfn 用于修改用户的finger (finger为 /etc/passwd 文件第五个字段中显示的信息) 三,用户密码管理 1.命令passwd  格式 passwd [username ...

  6. 2019/12/13学习内容摘要(Linux磁盘管理①)

    一,查看磁盘或目录容量 1.命令df  查看已挂载磁盘的总容量,使用容量,剩余容量等,可以不加任何参数,默认以KB为单位 选项[-i] 表示查看inodes的使用情况 [-h] 表示用合适的单位显示 ...

  7. 2019/12/16学习内容摘要(Vim)

    一,Vim与vi的区别 vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息. vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以 ...

  8. linux 系统用户与用户组管理

    关于/etc/passwd和/etc/shadow /etc/passwd 第1个字段为用户名(第一行中的root就是用户名)第2个字段存放的是该账号的口令.第3个字段为一个数字,这个数字代表的用户标 ...

  9. Linux系统用户与用户组管理

    一.用户和用户组的管理 1.新增组 groupadd 命令 格式:groupadd 组名 2.删除组 groupdel 格式:groupdel 组名 3.增加用用户命令 useradd   格式:us ...

随机推荐

  1. git本地项目连接私人远程仓库以及遇到的问题

    一.引言 1.最开始的时候,我本地项目连接的是github远程仓库,现在要转到公司的私人远程仓库. 2.我和大家说两个事: (1)本地项目连接github远程仓库, (2)本地项目连接私人远程仓库, ...

  2. PHP经典面试题目汇总

    1.双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解释 双引号的变量名后面必须要有一个非数字.字母.下划线的特殊字符,或者用{}讲变量括起 ...

  3. 第三章 学习Shader所需的数学基础(1)

    1. 笛卡尔坐标系 在游戏中,我们使用的数学大部分都是为了计算位置.距离和角度等变量.而这些就算大部分是在笛卡尔坐标系下进行的. 1.1 二维笛卡尔坐标系 一个二维笛卡尔坐标系包含了两个部分的信息 1 ...

  4. 走近深度学习,认识MoXing:初识华为云ModelArts的王牌利器 — MoXing

    [摘要] 本文为MoXing系列文章第一篇,主要介绍什么是MoXing,MoXing API的优势以及MoXing程序的基本结构. MoXing的概念 MoXing是华为云深度学习服务提供的网络模型开 ...

  5. Unity 3D中C#的性能优化小陷阱

    本篇内容主要来自Unity官方手册: 一般性能优化 一些地方为本人瞎编杜撰,请酌情参考.如有错误,欢迎指出. Unity里C#编程虽然既简单还很爽,但是性能小陷阱还不少.我总强迫自己让代码最优,因此很 ...

  6. centos使用yum存储快速安装MySQL

    RHEL/CentOS 7.x MySQL yum库 https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm RHEL ...

  7. iOS apns推送

    前言:推送分为本地推送以及远程推送. 两者的区别为本地推送一般为定时推送.定期推送或者位置推送.而远程推送更为多样化,能满足较高的要求.当然远程推送需要服务器端开发,开发流程较复杂. 1.本地推送只需 ...

  8. imageView的使用

    转自:http://www.runoob.com/ios/att-ios-ui-imageview.html 图像视图用于显示单个图像或动画序列的图像. 重要的属性 image highlighted ...

  9. ecosystem.config

    ecosystem.config.js module.exports = { apps : [{ name : 'TOB_NODE', script : 'app.js', // 开发环境变量 env ...

  10. hdu3791二叉搜索树

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3791 题意:给定一个n(多组,n为0时结束),给一个串和n个串,分别判断n个串按序列构建的二叉搜索树和 ...