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

1、/etc/passwd 由 ‘:’ 分割成7个字段,每个字段的具体含义是:

  • 用户名
  • 存放账号的口令;现在存放在/etc/shadow下,在这里只用一个 ‘x’ 代替
  • 用户标识号,也叫做uid;0是超级用户(root)的标识号,1~499由系统保留,作为管理账号,普通用户的标识号从500开始;UId取值范围:0~65535(但实际上已经可以支持到4294967294)
  • 组标识号,也叫做gid;这个字段对应着/etc/group 中的一条记录
  • 注释说明,该字段没有实际意义
  • 用户的家目录,当用户登录时就处在这个目录下;
  • Shell,用户登录后要启动一个进程,用来将用户下达的指令传给内核,这就是shell

2、/etc/shadow, 用 ‘:’ 分割成9个字段

  • 用户名
  • 用户密码
  • 上次更改密码的日期
  • 要过多少天才可以更改密码,默认是0,即不限制
  • 密码多少天后到期
  • 密码到期前的警告期限
  • 账号失效期限
  • 账号的生命周期
  • 作为保留用的,没有什么意义。

二、新增/删除用户和用户组

1、 groupadd 命令
作用:添加一个组
语法:groupadd [-g GID] groupname
“-g” 选项可以自定义gid.;不加 “-g” 选项则按照系统默认的gid创建组,跟用户一样,gid也是从500开始的
2、 groupdel 命令
作用:删除组
格式:groupdel groupname 如果组中存在账号是不能删除的,必须先删除组内的账号
3、 useradd 命令
作用:添加账户
格式:useradd [-u UID] [-g GID] [-d HOME] [-M] [-s]
-u :设置用户UID
-g :设置用户组GID
-d : 自定义用户的家目录
-M: 不建立家目录
-s : 自定义shell
注意:不加任何选项直接跟用户名,则会创建一个跟用户名同样名字的组
4、 userdel 命令
作用:删除账户
语法 : userdel [-r] username
参数:‘-r’ 选项的作用只有一个,就是删除账户的时候连带账户的家目录一起删除。

三、创建/修改一个用户的密码

1、  passwd 命令

作用:修改用户密码

格式:passwd [username]

注意:

1、  只有root才可以修该其他账户的密码,普通账户只能修改自己的密码,其他账户的密码是不可以修改的。

2、  如果直接使用passwd则修改当前用户的密码

mkpasswd 命令

作用:自动生成密码

默认你的Linux是没有这个命令的,需要安装一个包 “expect”, 如果你的CentOS可以上网,请使用命令 yum install -y expect 即可完成安装

四、用户身份切换

1、  su 命令

作用:切换用户

语法:su [-] username

注意:- 可以添加也可以不添加。添加之后会初始化当前用户的各种环境变量。例如:

如果不加 ‘-‘ 切换到root账户下时,当前目录没有变化,而加上 ‘-‘ 切换到root账户后,当前目录为root账户的家目录,这跟直接登陆root账户是一样的。当用root切换普通用户时,是不需要输入密码的。这也体现了root用户至高无上的权利

Whoami 命令

作用:查看当前使用的用户

Sudo 命令

见网页:

http://www.apelearn.com/study_v2/chapter8.html

Linux学习笔记06—系统用户及用户组的管理的更多相关文章

  1. Linux 的基本操作(系统用户及用户组的管理)

    [认识/etc/passwd和/etc/shadow] 这两个文件可以说是linux系统中最重要的文件之一.如果没有这两个文件或者这两个文件出问题,则你是无法正常登录linux系统的. /etc/pa ...

  2. Linux学习--第七天--用户和用户组

    用户和用户组 usermod -a -G groupname username // 将已有用户添加到已有用户组 /etc/passwd michael:x:500:500:CentOS:/home/ ...

  3. Linux学习笔记13-用户和组

    操作系统通过用户.组概念来管理使用计算机的人 用户代表一个使用计算机的使用者,操作系统通过用户概念限制一个使用者能够访问的资源 组用来组织管理用户 用户具有以下概念: 每个用户有一个用户名和一个用户I ...

  4. linux学习(十一)用户和用户组管理

    一.用户文件 文件:/etc/passwd 这个文件记录了用户了用户名,用户id,所属组,家目录,shell信息: [root@iZ25lzba47vZ ~]# tail -n3 /etc/passw ...

  5. kali linux学习笔记之系统定制及优化(附:中文输入法设置)

    fix update flash plugin on kali rolling author:@kerker 0x00设置软件源 root@kali:~# vim /etc/apt/sources.l ...

  6. 鸟哥Linux学习笔记06

    Linux 系统常用的压缩命令 1,*.Z compress程序压缩的文件,这个已经很老了,几乎不再使用,因此不再介绍. 2,gzip应用最广泛的压缩命令.目前gzip可以解开compress.zip ...

  7. linux学习笔记 4建立用户

    一般用法  #useradd mysql 含义 创建 mysql用户 特殊用法 1> #useradd -d /usr/cjh -m cjh 含义:创建cjh用户 产生一个主目录 /usr/cj ...

  8. Linux学习笔记——1.超级用户

    以超级用户工作:su su命令允许临时变换到任何一用户标识(如果拥有口令的话),并挂起当前shell,为新用户开启一个新的shell. su <user> 将当前用户标识harley变换为 ...

  9. linux学习笔记之系统标准:POSIX,ISO C...

    一.POSIX,ISO C,Single UNIX Specification的概念. 1,POSIX:Portable Operating System Interface.可移植操作系统接口.期望 ...

随机推荐

  1. SpringMvc数据校验@Valid等注解的使用与工具类抽取

    最近在重构老项目的代码,发现校验入参占用了很多代码,之前我对这一块的认识局限于使用StringUtils等工具来多个if块进行判断,代码是没什么问题,但是总写这些令人生烦,毕竟写代码也要讲究优雅的嘛, ...

  2. ASP.NET私有构造函数作用

    一.私有构造函数的特性 1.一般构造函数不是私有或者保护成员,但构造函数可以使私有成员函数,在一些特殊的场合,会把构造函数定义为私有或者保护成员. 2.私有构造函数是一种特殊的实例构造函数.它通常用在 ...

  3. CSS-3 RGBA的使用

    由于IE-8及以下都不支持 RGBA(),所以往往大家都不用这个属性,而是用图层叠加的方式去实现我们想要的效果.因为 opacity 这个属性是会影响到子孙元素的. 例如: <div class ...

  4. c++刷题(39/100)笔试题3

    题目1: 现在你需要用一台奇怪的打字机书写一封书信.信的每行只能容纳宽度为100的字符,也就是说如果写下某个字符会导致行宽超过100,那么就要另起一行书写 信的内容由a-z的26个小写字母构成,而每个 ...

  5. webpack react 错误整理

    1.ERROR in ./src/entry.js Module build failed: SyntaxError 解决方法: 安装babel-preset-react,  npm install ...

  6. Ubuntu 查看CPU温度

    按照这篇文章: http://www.webupd8.org/2014/06/psensor-updated-with-option-to-display.html

  7. Redis配置文件介绍

    Redis在源码包中存放了一个Redis配置实例文件,文件中对各个配置点进行了简单的介绍,我也通过这个文件来对Redis的一些配置进行一些简单介绍. 一.UNITS(单位)[了解] 1.Redis服务 ...

  8. .net的锁

    一.lock .Monitor  处理并行任务的时候,效率最高的就是多线程.当不同线程需要访问同一资源时候,就需要同步了.就像生活中很多人要一起赶飞机大家都要访问飞机这个资源每个人是一条线程那么就有门 ...

  9. win7下iis中配置php.ini文件

    将php.ini-development配置文件重命名为php.ini配置文件即可. 接着做如下配置操作: 1.修改php.ini配置文件 打开php.ini配置文件,找到 12 ; On windo ...

  10. CentOS7上安装与配置Tomcat8与MySQL5.7

    一.安装tomcat Tomcat 的安装依赖 JDK,在安装 Tomcat 之前需要先安装 Java JDK.输入命令 java -version,如果显示 JDK 版本,证明已经安装了 JDK.