基于Red Hat Enterprise Linux 7.5


Linux中的root就是存在于所有类UNIX系统中的超级用户,持有最高管理权限,能添加/删除用户、开关机、关闭或开启硬件或者系统服务等,并且root的操作无法被阻挡。

Linux中root为什么叫root,不是因为名字叫root,而是UID为0(在Linux中每一个用户的UID都是唯一的)

UID为0:系统最高管理员用户root。

UID为1~999:系统用户,Linux为了避免某个服务被入侵以至于被提权到整个server,默认服务程序会有独立的系统用户负责运行,将入侵破坏的范围降到最低。

UID为1000~:普通用户,所有UID大于1000的用户都是普通用户,管理员创建的用户UID都是从1000开始。

为了方便管理,Linux增加了GID的概念,即将一个区域或者职权的用户加入到一个用户组中,在企业生产环境中能有效管控员工的安全风险问题,避免员工接触到非自身职权内的数据。

Linux创建用户的时候会自动创建一个同名用户组,称为基本用户组;如果以后该用户加入其他用户组,称之为拓展用户组;一个用户只有一个基本用户组,但可以拥有多个拓展用户组

常用命令

useradd

用于创建新的用户,useradd [参数] username

参数

-u:后面接的是UID,即“useradd -u 987 username”(意为创建一个UID为987,名字叫username的用户)

-e:后见接的是日期,格式为YYYY-MM-DD,即账号的失效时间,这会写入shadow的第八个栏位

-g:指定一个初始的基本用户组(该用户组必须事先在系统中创建并存在),该组的GID会被放置到/etc/passwd的第四个栏位

-G:指定一个或者多个拓展用户组(该用户组必须事先在系统中创建并存在),这个会修改/etc/group内的相关资料

-U:创建一个和用户同名的组,并将用户添加到组里面

-N:不创建与改用户同名的基本用户组,而是将用户添加到-g指定的用户组里面

-r:创建一个系统用户,这个用户的UID有限制(参考/etc/login.defs)

-s:指定该用户的默认shell解释器

-f:后面接shadow的第七栏位项目,密码过期后,该账户被彻底禁用之前的天数,0表示立即禁用,-1表示永不禁用(密码只会过期但登陆时强制重新设定密码)

-M:强制不要建立该用户家目录(系统账号预设值)

-m:强制建立改用户用户家目录(一般账号预设值)

-d:(不使用系统预设值)指定某个目录成为家目录,必须为绝对路径

groupadd

用于创建用户组,groupadd [参数] groupname

参数:

-g:创建的同时给这个group指定GID

-r:创建系统group

chage

用于修改账号和密码有效期限,chage [参数] username

参数

-l(小写L):列出该账号的详细密码参数

-d:后面接日期,上一次修改密码的时间,格式为YYYY-MM-DD

-m:后面接天数,两次密码之间间隔的最小天数,即除了root操作的情况下,用户修改自己的密码必须间隔的最短时间(如果设定为3,那么3天内用户无法自行修改密码),如果为0表示任何时间都可以修改

-M:后面接天数,两次密码之间间隔的最大天数

-W:用户密码到期前会接到天数警告

-I(大写i):后面接天数,密码失效日期

-E:后面接日期,账号失效时间,格式为YYYY-MM-DD

passwd

用于修改用户密码,过期时间、认证信息等,passwd [参数] username

参数:

-l(小写L):锁定该用户密码,禁止其登陆(root使用su切换到该用户除外)

-u:解除该用户密码锁定,允许登陆

-S:显示改用户密码是否被锁定以及密码的加密算法

-d:删除该用户的密码,即可以用空密码登陆

-e:强制该用户下次登陆时修改密码

-n:接天数,多少天内不可修改密码

-x:接天数,多少天内必须修改密码

-w:警告密码过期时间

-i:接天数,密码失效天数

usermod

用户修改用户的属性,usermod [参数] username

参数

-c:填写账户的备注信息

-d、-m:-d和-m参数必须连用,指定用户新的家目录并将原有家目录数据转移至新目录(-d是指定目录,-m是移动文件)

-g:变更所属用户组(该用户组必须事先在系统中创建并存在)

-G:变更拓展用户组(多个组之间用逗号隔开,没有空格)注意:如果该用户本身在一个组里面(假定为group9),但-G后接参数group1,group2,group3......内没有该组,那么该用户就会从该组(group9)里面删除,可以使用-a参数避免这个问题(-a参数是添加,如果不加-a那么就是设定)

-a:将用户添加到拓展用户组中,该参数必须和-G连用,但不是-G的必要参数

-f:密码过期之后,账户被彻底禁用前的天数

-e:后接日期,账户被彻底禁用的时间,格式为YYYY-MM-DD

-L:锁定用户禁止其登陆

-U:解锁用户并允许其登陆

-s:变更默认shell,如果为空即为系统默认登陆shell

-l(小写L):修改用户名

-u:修改该用户的UID

-o:-u的可选参数,-o可以使得-u修改的UID可以是非唯一值(非负值)

userdel

用于删除用户,userdel [参数] username

参数

-f:强制删除用户账户,即使该账户目前仍处于登陆状态,将强制删除用户邮箱以及家目录,即使其他用户也在浏览使用该用户的邮箱和家目录;如果/etc/login.defs中的USERGROUP_ENAB为yes,那么如果有与该用户同名的组也一并删除,即使是其他用户的基本组。该参数危险性极高,甚至可能将破坏系统稳定性

-r:用户家目录中的文件将随着用户家目录和用户邮箱一起删除,其他位置的文件需要手动搜索并删除,该账户的邮箱在login.defs中的MAIL_DIR中有定义。

Linux用户身份(命令详解与补正)的更多相关文章

  1. 4-1 Linux用户管理命令详解

    1. /etc/passwd 格式 用户名:密码:UID:GID:注释:家目录:默认shell useradd  [options ]    USERNAME -u: UID  要大于等于500, - ...

  2. linux下tar命令详解

     linux下tar命令详解    tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...

  3. Linux主要shell命令详解(上)

    [摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...

  4. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  5. linux之find命令详解

    linux之find命令详解 查找文件find ./ -type f查找目录find ./ -type d查找名字为test的文件或目录find ./ -name test查找名字符合正则表达式的文件 ...

  6. Linux下rar命令详解

    Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...

  7. Linux下chkconfig命令详解(转)

    Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...

  8. Linux知识积累(4) Linux下chkconfig命令详解

    Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...

  9. Linux下top命令详解

    Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...

随机推荐

  1. js 判断当前操作系统 ios, android, 电脑端

    一 .   js判断移动端的操作系统(ios或Android) $(function () { var u = navigator.userAgent; var isAndroid = u.index ...

  2. 基于java开发的在线题库系统tamguo

    简介 探果网(简称tamguo)是基于java开发的在线题库系统,包括 在线访问 后台运营 会员中心 书籍中心 管理员账号:system 密码:123456 因为线上数据和测试数据没有做到隔离,作者已 ...

  3. 关于JS中的call()方法和apply() 暂时只接触到call() 等接触到apply()再回头来看

    1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法. 2. 相同点:这两个方法的作用是一样的. 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖 ...

  4. go系列(4)- go环境和docker容器的使用

    这篇文章讲述把go环境及beego框架装进容器.docker的安装该篇不讲述,请自行查阅.本篇是基于docker已经安装的前提. 跟据前三篇系列,然后写Dockerfile,一般是到项目的根目录下 1 ...

  5. C# 基础之构造函数

    什么是构造函数? 构造函数主要用于创建类的实例对象,当调用一个构造函数创建对象时,构造函数会为对象分配内存空间并初始化类的成员. 构造函数分为:1.实例构造函数.2.静态构造函数 1.实例构造函数 使 ...

  6. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  7. Ice-cream Tycoon9(线段树)

    线段树的一些基本应用,就是函数写了很多,有点繁琐. 以每个物品的单价建树,刚开始写了个裸的想水过去直接MLE了,然后又离散化了下. 离散化单价后建树,lz数组用来清零,s数组保存结点所含物品个数,co ...

  8. 寻找最美的你(select)

    Time Limit:2000ms   Memory Limit:128MB 题目描述 这个问题是这样的,如果一个区间[L,R]存在一个数ai,使得这个数是这个区间所有数的约数,那么[L,R]这段区间 ...

  9. WEB 前端菜鸟,感觉很迷茫,该怎么做?

    前几天看到这样的问题 先说问题吧:感觉前端涉及到的东西太多了,自己也很浮躁,看了挺多书,可是代码缺敲得却不多.技术菜,又什么都想学,比如现在纠结要不要先学scss或者php或者angularjs,ba ...

  10. jQuery和AJAX基础

    jQuery和AJAX基础 jQuery 基础: 1.jQuery 选择器: 元素选择器:$("p"): #id 选择器:$("#test"): .class ...