Linux账号与权限管理

目录

一、账号管理

1. 用户账号

1.1 概述

1.2 用户账号类型

1.3 用户账号区分

2. 组账号

2.1 概述

2.2 区分

3. 用户账号管理

3.1 重要文件存放位置

3.2 基本信息

3.3 添加用户

3.3.1 通式

3.3.2 选项示例

3.4 密码管理

 3.4.1 通式

3.4.2 选项示例

3.4.3 免交互修改密码

3.4.4 随机生成密码 

3.5 修改用户账号的属性

3.5.1 通式

3.5.2 选项示例 

3.6 删除用户 

4. 组账号管理 

4.1 组账号文件

4.2 添加组

4.3 组内管理

4.3.1 通式

4.3.2 选项示例

4.4 删除组

5. 查询

二、权限管理

1. 权限查看与修改

2. 特殊权限管理

3. umask应用

4. 权限访问控制列表ACL


一、账号管理

1. 用户账号

1.1 概述

用户账户是用来记录用户的用户的和口令、隶属的组、可以访问的资源,以及用户的个人文件和设置。每个用户在系统中都有一个用户账号。

1.2 用户账号类型

普通用户:权限受到限制的用户

超级管理员:拥有至高无上的权限

程序用户:不是给用户使用的,供程序使用(不允许登录,安全性考虑)

1.3 用户账号区分

系统根据用户身份使用的uid号来辨识

超级管理员:默认是0

普通用户:centos7:1000-60000;centos6之前:500开始

程序用户:centos7:1-999;centos6之前:1-499

2. 组账号

2.1 概述

按照一定的宗旨和系统建立起来的集体。linux和windows中的组就是将多个用户集合起来,统一分配某种相同的权限(开通或关闭)。

2.2 区分

基本组:“主岗位”,私有组,有且唯一;用户所属组中的第一个组称为基本组

附加组:公共组,可有可无,可能有多个;除了第一个组外的其他组为附加组或公共组

3. 用户账号管理

3.1 重要文件存放位置

/etc/passwd:存放用户的信息

/etc/shadow:存放用户的密码信息

3.2 基本信息

  • passwd分为七段,每段用:隔开
[root@localhost ~]# cat /etc/passwd | head -n1
root:x:0:0:root:/root:/bin/bash

① 用户名,登录系统的名字,唯一

② 密码占位符,具体内容不在这里

③ uid,用户的身份证

④ gid,group组号

⑤ 备注信息,如经理、职员

⑥ 家目录位置

⑦ 默认的shell类型,/bin/bash

  • shadow分为九段,每段用:隔开
[root@localhost ~]# head -1 /etc/shadow
root:$6$Mx……8vV/L0Hxd1::0:99999:7:::

① root,用户名

② 加密的密码,*或!!代表不可以登录

③ 最近一次修改密码的时间,使用:date -d "1970-01-01 19717 days"可以查看具体时间

④ 如果这里是7,代表7天后才可以修改密码,0代表随时可以修改

⑤ 密码有效期,99999永久有效

⑥ 7代表密码过期前7天会提醒你一次

⑦ 如果这里是7,代表密码过期7天后会被锁定

⑧ 失效时间,如:19718代表明天过期,超过有效期也无法登录

⑨ 保留字段,未使用

3.3 添加用户

3.3.1 通式
useradd [选项]…… 用户名
[root@localhost ~]# useradd zhangsan               #创建用户zhangsan
[root@localhost ~]# tail -1 /etc/passwd
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash
3.3.2 选项示例

-u:指定uid

-M:不生成家目录

-s:指定shell类型

-e:指定失效时间

-c:备注信息

-d:指定家目录

-g:指定基本组

-G:指定附加组

-p:指定密码

[root@localhost ~]# useradd -u 1500 -M -s /sbin/nologin lisi
#添加用户李四指定uid1500,不生成家目录且不允许登录
[root@localhost ~]# tail -1 /etc/passwd
lisi:x:1500:1500::/home/lisi:/sbin/nologin

3.4 密码管理

 3.4.1 通式
passwd [选项] 用户
[root@localhost ~]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
3.4.2 选项示例

-l:锁定用户

-u:解锁用户

-S:查看当前用户状态

-d:清空密码,直接登录

[root@localhost ~]# passwd -l zhangsan
锁定用户 zhangsan 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -S zhangsan
zhangsan LK 2023-12-26 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# passwd -u zhangsan
解锁用户 zhangsan 的密码。
passwd: 操作成功
3.4.3 免交互修改密码
[root@localhost ~]# echo 123456 | passwd zhangsan --stdin
更改用户 zhangsan 的密码 。
passwd:所有的身份验证令牌已经成功更新。
3.4.4 随机生成密码 
[root@localhost ~]# cat /dev/random | tr -cd [a-zA-Z0-9] | head -c 12
F2Py]]O[ei6F[root@localhost ~]# 
#随机生成内容 | 删除字符取补集(取反) | 前面12个字符

3.5 修改用户账号的属性

3.5.1 通式

useradd  [选项]…… 用户

3.5.2 选项示例 

-l:修改用户名

-L:锁定用户

-U:解锁用户

选项与useradd基本一致

[root@localhost ~]# usermod -l wangwu zhangsan | id wangwu
uid=1001(wangwu) gid=1001(zhangsan) 组=1001(zhangsan)

3.6 删除用户 

userdel [选项] 用户
[root@localhost ~]# userdel -r wangwu  #-r将宿主(家)目录一起删除
[root@localhost ~]# id wangwu
id: wangwu: no such user

4. 组账号管理 

4.1 组账号文件

/etc/group:保存组帐号基本信息

/etc/gshadow:保存组帐号的密码信息基本不使用

4.2 添加组

groupadd  [-g GID]  组账号名 
[root@localhost ~]# groupadd ky35
[root@localhost ~]# tail -1 /etc/group
ky35:x:1501:

4.3 组内管理

4.3.1 通式

gpasswd [选项] 用户、组成员

4.3.2 选项示例

 -a:向组内添加一个用户

 -d:从组内删除一个用户成员

 -M:定义组成员列表,以逗号分隔

[root@localhost ~]# useradd zhangsan
[root@localhost ~]# groupadd ky35
[root@localhost ~]# gpasswd -a zhangsan ky35
正在将用户“zhangsan”加入到“ky35”组中
[root@localhost ~]# id zhangsan
uid=1001(zhangsan) gid=1001(zhangsan) 组=1001(zhangsan),1002(ky35)

4.4 删除

groupdel 组账号名

5. 查询

  • finger命令:查询用户帐号的详细信息(finger [用户名])
[root@localhost ~]# finger zhangsan
Login: zhangsan       			Name: 
Directory: /home/zhangsan           	Shell: /bin/bash
Never logged in.
No mail.
No Plan.
  • w命令:查询已登录到主机的用户信息
[root@localhost ~]# w23:25:58 up  1:38,  2 users,  load average: 0.22, 0.06, 0.06
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.190.1    21:47    1:02  17.29s 17.04s /usr/bin/python
root     pts/1    192.168.190.1    23:25    5.00s  0.08s  0.01s w
标题含义
USER登录到系统的用户。
TTY登录终端。
FROM表示用户从哪里登陆进来,一般显示远程登陆主机的 IP 地址或者主机名。
LOGIN@用户登陆的日期和时间。
IDLE表示某个程序上次从终端开始执行到现在所持续的时间。
JCPU和该终端连接的所有进程占用的 CPU 运算时间。这个时间里并不包括过去的后台作业时间,但是包括当前正在运行的后台作业所占用的时间。
PCPU当前进程所占用的 CPU 运算时间。
WHAT当前用户正在执行的进程名称和选项,换句话说,就是表示用户当前执行的是什么命令。
  • who命令:相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令。 who 命令的基本格式: who [选项] [file]
[root@localhost ~]# who
root     pts/0        2023-12-26 21:47 (192.168.190.1)
root     pts/1        2023-12-26 23:25 (192.168.190.1)
选项含义
-a列出所有信息,相当于所有选项。
-b列出系统最近启动的时间日期。
-l列出所有可登陆的终端信息。
-m仅列出关于当前终端的信息,who -m 命令等同于 who am i
-q列出在本地系统上的用户和用户数的清单。
-r显示当前系统的运行级别。
-s仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。
-u显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。
-T 或 -w显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。
  • user命令
[root@localhost ~]# users
root root

二、权限管理

1. 权限查看与修改

2. 特殊权限管理

3. umask应用

4. 权限访问控制列表ACL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/579631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

macos Apple开发证书 应用签名p12证书 获取生成方法 codesign 证书获取

在开发macos应用的时候必须要对自己开发的应用进行签名才能使用, 下面介绍个人如何获取Apple开发签名证书. 必备条件, 你需要先安装 xcode , 注册一个苹果开发者账号 免费的就可以, 以下为获取流程 You need to create a cert through xcode. Additionally, you need to have…

深信服技术认证“SCCA-C”划重点:云计算基础

为帮助大家更加系统化地学习云计算知识,高效通过云计算工程师认证,深信服特推出“SCCA-C认证备考秘笈”,共十期内容。“考试重点”内容框架,帮助大家快速get重点知识。 划重点来啦 *点击图片放大展示 深信服云计算认证&#xff08…

[Angular] 笔记 10:服务与依赖注入

什么是 Services & Dependency Injection? chatgpt 回答: 在 Angular 中,Services 是用来提供特定功能或执行特定任务的可重用代码块。它们可以用于处理数据、执行 HTTP 请求、管理应用程序状态等。Dependency Injection(依赖注入&#…

浅谈互联网架构演变

更好的阅读体验 \large{\color{red}{更好的阅读体验}} 更好的阅读体验 前言 可以将某个项目或产品的架构体系按照如下方式分层: 业务层面:项目业务体系技术层面: 数据架构:数据持久层策略应用架构:应用层的实现方式 …

云原生Kubernetes系列 | Kubernetes Secret及ConfigMap

云原生Kubernetes系列 | Kubernetes Secret及Configmap 1. Secret及Configmap使用背景简介2. Secret2.1. Secret创建方式2.1.1. 命令行方式2.1.2. 文件方式2.1.3. 变量方式2.1.4. YAML文件方式2.2. Secret使用方式2.2.1. 用于传递配置文件2.2.3. 用于传递变量3. ConfigMap1. Se…

CPU亲和性和NUMA架构

何为CPU的亲和性 CPU的亲和性,进程要在某个给定的 CPU 上尽量长时间地运行而不被迁移到其他处理器的倾向性,进程迁移的频率小就意味着产生的负载小。亲和性一词是从affinity翻译来的,实际可以称为CPU绑定。 在多核运行的机器上,…

AlignBench:量身打造的中文大语言模型对齐评测

对齐(Alignment),是指大语言模型(LLM)与人类意图的一致性。换言之,就是让LLM生成的结果更加符合人类的预期,包括遵循人类的指令,理解人类的意图,进而能产生有帮助的回答等…

SadTalker数字人增加视频输出mp4质量精度

最近在用数字人简易方案,看到了sadtalker虽然效果差,但是可以作为一个快速方案,没有安装sd的版本,随便找了个一键安装包 设置如上 使用倒是非常简单,但是出现一个问题,就是输出的mp4都出马赛克了 界面上却…

Servlet见解2

4 创建servlet的三种方式 4.1 实现Servlet接口的方式 import javax.servlet.*; import javax.servlet.annotation.WebServlet; import java.io.IOException;WebServlet("/test1") public class Servlet1 implements Servlet {Overridepublic void init(ServletConf…

怎么实现Servlet的自动加载

在实际开发时,有时候会希望某些Servlet程序可以在Tomcat启动时随即启动。但在默认情况下,第一次访问servlet的时候,才创建servlet对象。 如果servlet构造函数里面的代码或者init方法里面的代码比较多,就会导致用户第一次访问serv…

制作一个可以离线安装的Visual Studio安装包

须知 前提条件,需要电脑可以正常上网且网速还行,硬盘可以空间容量足够大,怎么判断容量够用?由组件数量的多少来决定。Visual Studio 频道和发布节奏 https://learn.microsoft.com/zh-cn/visualstudio/productinfo/release-rhythm…

AutoSAR(基础入门篇)3.2-Autosar中RTE的Ports【S/R】与【C/S】

目录 一、RTE的Ports【S/R】 1、特征 1.1、扮演SWCs和BSW的交流途径 1.2、其他特征

简析SoBit 跨链桥图文教程

从BTC网络到Solana网络桥接BRC20 1.打开SoBit平台:在您的网络浏览器中启动SoBit Bridge应用程序。 2.连接您的钱包: 选择SoBit界面右上角的比特币网络来连接您的数字钱包。 3.选择源链、目标链和您想桥接的代币: 从下拉菜单中选择’BTC’作为…

讯飞星火认知大模型智能语音交互调用

随着国内外大模型热度的兴起,依托于大模型的智能化,传统的人机交互已经不能满足人们交互的需求。而结合语音和大模型的交互拜托传统互联网获取知识的文字限制,用语音也可以轻松获取想要的知识和思路。 一、大模型智能语音交互调用实现思路 …

华为ipv6配置之ospf案例

R1 ipv6 ospfv3 1 router-id 1.1.1.1 //必须要手动配置ospf id,它不会自动生成 interface GigabitEthernet0/0/0 ipv6 enable ipv6 address 2000::2/96 ospfv3 1 area 0.0.0.0 interface LoopBack0 ipv6 enable ipv6 address 2001::1/96 ospfv3 1 area 0.0.0.0 R2…

创新科技赋能,易点易动设备管理系统助力企业实现设备管理升级

在当今竞争激烈的商业环境中,企业对设备管理的要求越来越高。高效的设备管理不仅可以提高生产效率,降低成本,还可以确保设备安全和可靠性。然而,传统的手工管理方式已经无法满足企业快速发展的需求。为了解决这一问题,…

electron autoUpdater自动更新使用示例 客户端+服务端

封装好的 update.js 模块 use strict; const { autoUpdater } require(electron) // 更新检测 // https://www.electronjs.org/zh/docs/latest/api/auto-updaterconst checkUpdate (serverUrl) >{const updateUrl ${serverUrl}/update?platform${process.platform}&am…

论文阅读——TÜLU

How Far Can Camels Go? Exploring the State of Instruction Tuning on Open Resources 统一输入格式:将所有数据集格式化为遵循聊天机器人风格的模式,以统一指令数据集的各种风格和格式。用户输入和目标话语之前特殊token:,助手…

Xcode 编译速度慢是什么原因?如何提高编译速度?

作为一个开发者,我们都希望能够高效地开发应用程序,而编译速度是影响开发效率的重要因素之一。然而,有时候我们会发现在使用 Xcode 进行开发时,译速度非常慢,这给我们带来了不少困扰。那么,为什么 Xcode 的…

57.0/初识 PhotoShopCS4(详细版)

目录 57.1 PhotoShop 概要 57.2.1 像素和分辨率 57.2.2 色彩模式 57.2.3 位图和矢量图 57.3 PhotoShop 基本操作 57.3.1 PhotoShop 界面的认识 57.3.2 PhotoShop 基本界面工具 57.3.3 移动选择工具(V) 57.3.4 选框工具(M)​编辑 ​编辑57.3.5 套索工具(L) 57.3…