一、用户分类

1、管理员和普通用户

1️⃣:管理员   ——    用户ID:0

2️⃣:普通用户 ——   用户ID:1—65535

2、普通用户又分为系统用户和登陆用户

1️⃣:系统用户 —— 用户ID:1—999 (一般系统用户不需要登录的,都是给护远程使用的)

2️⃣:登陆用户 —— 用户ID:1000—60000(为了完成交互式登陆而使用的用户)

3、示例

//创建一个普通用户,查看ID
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# id zhangsan
uid=1000(zhangsan) gid=1000(zhangsan) 组=1000(zhangsan) //创建一个系统用户,查看ID
[root@localhost ~]# useradd -r -M -s /sbin/nologin lisi
[root@localhost ~]# id lisi
uid=991(lisi) gid=987(lisi) 组=987(lisi)

二、用户和组的类别

1️⃣:私有组 ——创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名相同的组

2️⃣:基本组 ——用户的默认组

3️⃣:附加组 ——除默认组以外其他的组

三、用户和组的相关配置文件

1️⃣:/etc/passwd —— 用户及其属性信息

2️⃣:/etc/shadow ——用户密码及相关信息

3️⃣:/etc/group —— 组及其属性信息

4️⃣:/etc/gshadow —— 组密码及其相关属性

四、用户和组的相关命令

1、useradd —— 创建用户命令

useradd
-u:指定用户的UID
-c<备注>:加上备注文字
-d<家目录>:指定用户家目录,该目录必须事先存在
-g<基本组名>:指定用户所属的基本组
-G<附加组名>:指定用户所属的附加组,可以有多个,用逗号隔开
-M:不要自动创建用户的家目录
-r:创建一个系统用户

2、userdel —— 用户删除命令

userdel
-f:强制删除用户,即使用户当前已登录
-r:删除用户的同时,删除与用户相关的所有文件。

3、usermod —— 修改用户信息命令

usermod
-u<uid>:修改用户UID
-s<shell>:修改该用户帐号的新登录 shell
-c<备注>:修改用户帐号的备注信息
-d<登入目录>:修改用户登入时的家目录
-e<有效期限>:修改帐号的有效期限
-g<群组>:修改用户所属的群组
-G<群组>;修改用户所属的附加群组
-l<帐号名称>:修改用户帐号名称
-L:锁定用户密码,使密码无效
-U:解除密码锁定

4、groupadd —— 组创建命令

groupadd
-g:指定新建工作组的GID
-r:创建系统工作组,系统工作组的组ID小于500

5、groupdel —— 组删除命令

groupdel
//删除组名只需要指定组名即可 groupdel groupname

6、groupmod —— 组信息修改命令

groupmod
-g, --gid GID 将组 GID 改为新的 GID
-n, --new-name 修改新的组名

7、su —— 切换用户命令

su
-c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份 su username :非登录式切换(切换后,任然在root家目录下,不会跳转到该用户的家目录)
su - usernaem :登录式切换 (切换后,自动跳转到该用户的家目录)
su - :不指定用户名,则直接切换到root用户

五、密码管理

1、passwd —— 设置用户密码命令

passwd
--stdin //标准输入获取用户密码(也叫明文获取用户密码)
e.g:[root@localhost ~]# echo '123456' | passwd --stdin lisi -d:删除用户密码,仅有系统管理者才能使用
-f:强制执行
-l:锁住用户密码
-u:解开已上锁的用户密码
-s:列出密码的相关信息,仅有系统管理者才能使用
-n:指定使用最短期限
-x:指定使用最长期限
-w:指定多少天开始警告

2、openssl —— 密码生成工具

openssl  command

command
dgst //提取特征码
passwd //生成密码
rand //生成伪随机数
version //查看程序版本号 示例
//提取特征码
[root@localhost ~]# openssl dgst -md5 /etc/passwd
MD5(/etc/passwd)= 93690d490a4c6767084ab1c4c19a22a5
[root@localhost ~]# openssl dgst -md5 /etc/fstab
MD5(/etc/fstab)= f57f5c4e8baa2e133f583c88bfb69abd //生成密码
格式:openssl passed -number(1-6) -salt 杂质词(string:一般为8位)
[root@localhost ~]# openssl passwd -1 -salt password
Password:
$1$password$7ZK8mMeLGXxbNPeJEFJOU0 //生成随机数
格式:openssl rand -base64 num(num为随机数长度)
[root@localhost ~]# openssl rand -base64 10
1F3boAMqLShFKg==
[root@localhost ~]# openssl rand -base64 20
Jo35wmVC2X2Qw4WwjYJY90/1J/k=
[root@localhost ~]# openssl rand -base64 30
LZPA3UcV4yYEaD7G5ywVo9j+SCU8+i6ovrik0MPh
[root@localhost ~]# openssl rand -base64 40
ZjqZxMsdj7MJM0IlUzrDj2WNRlZ+xDH2C3FI5YZbSx8n13KiOim5SA==
[root@localhost ~]# openssl rand -base64 50
RjkM9gcXwOBdKzlDdH6ZHqXknJfHK9vi1IiSbTaDMiLeUpmg3ab6c5VV8twfs+sC
To8=

Linux_用户和组管理的更多相关文章

  1. Solaris用户管理(一):用户与组管理

    Solaris用户管理(一):用户与组管理  2008-07-01 09:19 用户管理是系统管理的基础.Solaris中不但支持传统Unix所支持的用户和组的概念,还从Solaris 8开始引入了基 ...

  2. 总结描述用户和组管理类命令的使用方法,系统用户相关信息,取出主机IP地址

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. [root@db146 ~]# who|cut -f1 -d' ' |sort -u root 2.取出最后 ...

  3. linux基础之用户和组管理及权限

    一.用户和组管理 相关配置文件 /etc/passwd: 用户名 : 密码占位符 : UID : GID : COMMENTS : 家目录 :默认shell /etc/group: 组名 : 组密码占 ...

  4. linux系统用户和组管理

    用户和组管理 Linux是多用户多任务的网络操作系统,作为网络管理员,掌握用户的组的创建与管理至关重要. 学习要点: 了解用户和组的群的配置文件. 熟悉掌握Linux下用户的创建和维护管理. 熟悉掌握 ...

  5. Linux 用户和组管理

    这是用户和组管理的知识点,不想看文字就看视频吧,还是视频为主,文字为备忘录 视频链接: 项目1用户管理 1.创建一个新用户user01,设置其主目录为/home/user01: #useradd –d ...

  6. 一、Vim编辑器 二、用户和组管理 三、软件的安装(jdk,mysql) 四、Shell编程

    一.Vim编辑器的使用 1. vim编辑器的运行模式 编辑模式:等待用户编辑命令的输入 插入模式:编辑文本内容 命令模式:执行命令 2. 使用 :vim 文件名 3. 查看当前vim编辑器介绍:vim ...

  7. (转)AIX 用户和组管理

    AIX 用户和组管理 原文:https://www.ibm.com/developerworks/cn/aix/library/au-aixuseradmin/ 管理 IBM AIX 中的用户和组是管 ...

  8. Linux用户与组管理命令

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...

  9. (转)Centos 7.3 用户和组管理

    Centos 7.3 用户和组管理 原文:http://blog.csdn.net/github_39069288/article/details/73306489 3.1 用户和密码配置文件 pas ...

随机推荐

  1. 在ASP.NET Core中使用ViewComponent

    前言 在之前的开发过程中,我们对于应用或者说使用一些小的组件,通常使用分布页(partial view),再往前在Web Form中我们会进行应用WEB Control,好吧提及一个关键性代码TagP ...

  2. Java读取图片exif信息实现图片方向自动纠正

    起因 一个对试卷进行OCR识别需求,需要实现一个功能,一个章节下的题目图片需要上下拼接合成一张大图,起初写了一个工具实现图片的合并,程序一直很稳定的运行着,有一反馈合成的图片方向不对,起初怀疑是本身图 ...

  3. Python数据分析入门(十六):设置可视化图表的信息

    现在我们添加图后,没有指定x轴代表什么,y轴代表什么,以及这个图的标题是什么.因此以下我们通过一些属性来设置一下. 设置线条样式: 使用plot方法:plot方法就是用来绘制线条的,因此可以在绘制的时 ...

  4. MySQL数据库高级五:主从复制

    主机只能一台 从机去复制 单表500万上限

  5. Python中的多进程、多线程和协程

    本文中的内容来自我的笔记.撰写过程中参考了胡俊峰老师<Python程序设计与数据科学导论>课程的内容. 并发处理:多进程和多线程 前置 概念: 并发:一段时间内同时推进多个任务,但不一定要 ...

  6. C#搞个跨平台的桌面NES游戏模拟器

    支持Windows,Mac,Linux    NES模拟器内核源码来自 https://github.com/colinvella/EmuNes   他这边的源码功能很完善了的,支持视频录制,手柄,金 ...

  7. Codeforces Global Round 14 E. Phoenix and Computers

    题目链接 点我跳转 题目大意 给定 \(N\) 台电脑,起初每台电脑都是关闭的 现在你可以随意打开电脑,但如果第 \(i-1\).第 \(i+1\) 台电脑是开启的,则第 \(i\) 台电脑也会自动开 ...

  8. .Net之Docker部署详细流程

    开篇语 自己从头开始走一遍docker部署.net的流程,作为一种学习总结,以及后续会写一些在该基础之上的文章. 本次示例环境:vs2019.net5.docker.postman 创建项目 本次事例 ...

  9. ajax--实现异步请求,接受响应及执行回调

    ajax最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页的内容 ajax指是一种创建交互式网页应用的网页开发技术,其实就是实现前后端交互. 1)ajax是异步javascr ...

  10. 02- APP需求分析与APP测试流程

    在展开一轮测试的时候,我们要遵循一个规范的流程. APP测试流程: 项目立项:简单介绍项目内容是什么? 需求评审:开发,测试,和产品. 分析需求:编写测试用例 测试用例评审:一般测试团队参加,测试点是 ...