一、认识/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. Spring 学习02

    一.上节内容回顾 1 spring的概念 (1)核心:ioc和aop (2)spring一站式框架 2 spring的bean管理(xml) (1)bean实例化 (2)注入属性 (3)注入对象属性 ...

  2. 基于JWT(Json Web Token)的ASP.NET Web API授权方式

    token应用流程 初次登录:用户初次登录,输入用户名密码 密码验证:服务器从数据库取出用户名和密码进行验证 生成JWT:服务器端验证通过,根据从数据库返回的信息,以及预设规则,生成JWT 返还JWT ...

  3. Mysql MERGE引擎简介

    一. 什么是MERGE引擎MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询. 二. 应用场景如果需要把日志纪录不停的录入MySQL数据库,并且每天.每周或 ...

  4. TTPRequest 提示#import <libxml/HTMLparser.h>找不到 的解决方法

    本文永久地址为http://www.cnblogs.com/ChenYilong/p/3984251.html ,转载请注明出处. ASIHTTPRequest 或者AFNetwork提示的#impo ...

  5. scala笔记之惰性赋值(lazy)

    一.lazy关键字简介 lazy是scala中用来实现惰性赋值的关键字,被lazy修饰的变量初始化的时机是在第一次使用此变量的时候才会赋值,并且仅在第一次调用时计算值,即值只会被计算一次,赋值一次,再 ...

  6. Spark笔记之Catalog

    一.什么是Catalog Spark SQL提供了执行sql语句的支持,sql语句是以表的方式组织使用数据的,而表本身是如何组织存储的呢,肯定是存在一些元数据之类的东西了,Catalog就是Spark ...

  7. springboot自定义SpringApplication启动类

    如果默认的SpringApplication不符合你的口味,你可以创建一个本地的实例并自定义它.例如,关闭banner你可以这样写: public static void main(String[] ...

  8. 测试开发之Django——No3.Django中的试图(views)

    说到views,我们先来说django中执行的一个顺序. 我们打开一个django中配置的页面,之后的执行是有这么几个步骤: 1.系统配置的urls中寻找是否配置了这个地址: 2.如果已经配置了这个地 ...

  9. MySQL问题解决:-bash:mysql:command not found

      问题:        [root@linux115 /]# mysql -uroot -p          -bash: mysql: command not found    www.2cto ...

  10. Explain之key_len长度计算

    以前我很好奇通过执行计划Explain去分析SQL的时候看到的key_len值有时很小,有时看到很大,那时也不知道它是怎么算出来的,现在终于搞懂了,嘻.因为网上对key_len的长度的计算的资料也很少 ...