Linux用户身份(命令详解与补正)
基于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用户身份(命令详解与补正)的更多相关文章
- 4-1 Linux用户管理命令详解
1. /etc/passwd 格式 用户名:密码:UID:GID:注释:家目录:默认shell useradd [options ] USERNAME -u: UID 要大于等于500, - ...
- linux下tar命令详解
linux下tar命令详解 tar是Linux环境下最常用的备份工具之一.tar(tap archive)原意为操作磁带文件,但基于Linux的文件操作机制,同样也可适用于普通的磁盘文件.ta ...
- Linux主要shell命令详解(上)
[摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...
- Linux下ps命令详解 Linux下ps命令的详细使用方法
http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...
- linux之find命令详解
linux之find命令详解 查找文件find ./ -type f查找目录find ./ -type d查找名字为test的文件或目录find ./ -name test查找名字符合正则表达式的文件 ...
- Linux下rar命令详解
Linux下rar命令详解 用法: rar <命令> -<选项1> ….-<选项N> < 操作文档> <文件…> <@文件列表…> ...
- Linux下chkconfig命令详解(转)
Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...
- Linux知识积累(4) Linux下chkconfig命令详解
Linux下chkconfig命令详解 chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. ...
- Linux下top命令详解
Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...
随机推荐
- Lock1
分布式锁1 Java常用技术方案 前言: 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题,那么就要利用分布式锁来解决这些问题.所以自己结合实际 ...
- Java 执行linux命令(转)
转自 http://blog.csdn.net/a19881029/article/details/8063758 java程序中要执行linux命令主要依赖2个类:Process和Runtime 首 ...
- [Python]IndentationError: unindent does not match any outer indentation level
这个是缩进没对齐 可能是混用了tab与空格,到这里显示空白就可以看出来.
- POJ-1258-Agri Ned
链接:https://vjudge.net/problem/POJ-1258#author=fuxianda 题意: 有n个农场,已知这n个农场都互相相通,有一定的距离,现在每个农场需要装光纤,问怎么 ...
- python学习之队列
import queue task_queue = queue.Queue() #创建队列
- 移动端 mui框架中input输入框或任何输入框聚焦后页面自动上移
一.mui框架中点击input后,安卓手机弹出自带的输入键盘时,页面自动上移 实现方法: (1)只要把input标签放在mui-content这个类里面就可以了 <div class=" ...
- Mysql优化配置
Mysql配置优化 一.环境介绍 Mysql版本:5.5.27 二.优化内容 字段 介绍 推荐值 skip-locking 避免MySQL的外部锁定,减少出错几率增强稳定性 back_log MySQ ...
- Nginx pathinfo模式配置
正常配置 location ~ \.php$ { fastcgi_pass ; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $docu ...
- AJPFX关于子类父类中的构造
1.子父类中的构造函数不存在重写,因为子父类的构造函数名字不一样(重写要求子父类的方法名字一模一样,包括参数列表)2.子类创建对象时会先运行父类的构造函数再运行子类的构造函数.因为每个子类的构造函数的 ...
- java定时读取文件
在项目中经常会用到定时器,在笔试或者面试中也会经常问到定时器和IO流. public class TimerDemo { public static void main(String[] args) ...