Linux安全模型中的3A
3A
- Authentication : 认证 验证用户身份
- Authorization : 授权 不同用户设置不同权限
- Accouting | Audition : 审计
Linux
验证用户身份
UID User ID
- 管理员 root UID=0
- 普通用户
- 系统用户 UID 1-999 不需要登陆,给程序用的
- 自定义用户 UID 1000+ 可以登录
GID Group ID
创建用户时会自动创建同名的用户组
- 管理员组 root GID=0
- 普通用户组
- 系统用户组
- 自定义用户组
用户和组的关系
- 主要组 用户必须有且只有一个主要组
- 附加组 用户可以加入多个附加组,可以有也可以没有
一个程序访问一个文件,需要看运行程序的用户身份来决定是否可以访问该文件。
用户的UID可以修改
修改/etc/passwd 中相关内容,可以更改用户UID
思考:在Liunx系统中UID可以重复么?例如,可以将user1的UID更改为0么?
根据规定,普通用户的uid必须大于499且不能和已存在的uid重复。
但是我们通过看useradd 选项可以发现
-o, --non-unique 允许使用重复的 UID 创建用户
也就是说,系统中允许uid重复的用户,类似于硬链接的形式。
在某些特 定目的下,系统中可以存在多个拥有不同注册名、但UID相同的用户,事实上,这些使用不同注册名的用户实际上是同一个用户。
[21:03:34 root@C8-3-55 ~]#tail -2 /etc/passwd
pipewire:x:989:985:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
user1:x:8892:8892::/home/user1:/bin/bash
[21:03:45 root@C8-3-55 ~]#useradd -o user2 -u 8892 -g 8892
[21:04:27 root@C8-3-55 ~]#tail -2 /etc/passwd
user1:x:8892:8892::/home/user1:/bin/bash
user2:x:8892:8892::/home/user2:/bin/bash
通过实验,我们可以看到使用-o参数,我们创建了两个uid同样为8892的用户uesr1和user2,但家目录却不相同。
我们知道,不同用户是不可以进入其他用户的home目录中的,但具有相同UID的不同用户,却可以进入对方的目录。
[21:05:56 root@C8-3-55 ~]#su user1
[21:06:29 user2@C8-3-55 root]$pwd
/root
[21:06:34 user2@C8-3-55 root]$cd
[21:06:39 user2@C8-3-55 ~]$pwd
/home/user1
[21:06:41 user2@C8-3-55 ~]$cd ~user2
[21:06:52 user2@C8-3-55 user2]$pwd
/home/user2
你懂了么?
Linux安全模型中的3A的更多相关文章
- Linux系统中的Device Mapper学习
在linux系统中你使用一些命令时(例如nmon.iostat 如下截图所示),有可能会看到一些名字为dm-xx的设备,那么这些设备到底是什么设备呢,跟磁盘有什么关系呢?以前不了解的时候,我也很纳闷. ...
- linux shell 中的sleep命令
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...
- 在linux系统中安装VSCode(Visual Studio Code)
在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make) 访问Visual Studio Code官网 ...
- Linux 系统中的MySQL数据库默认区分大小写
今天在开发中遇到这么个问题,将连接的数据库改为服务器上的时候(服务器是Linux系统的),程序跑起来后一直出错,总提示数据库的表找不到, 而打开数据库看该表明明是存在的,在我的印象中MySQL数据是不 ...
- Linux环境中Openfire安装指南
Linux环境中Openfire安装指南 安装环境: 安装软件:Openfire 4_1_0 http://download.igniterealtime.org/openfire/openfire_ ...
- Linux 内核中的 Device Mapper 机制
本文结合具体代码对 Linux 内核中的 device mapper 映射机制进行了介绍.Device mapper 是 Linux 2.6 内核中提供的一种从逻辑设备到物理设备的映射框架机制,在该机 ...
- Linux 系统中僵尸进程
Linux 系统中僵尸进程和现实中僵尸(虽然我也没见过)类似,虽然已经死了,但是由于没人给它们收尸,还能四处走动.僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸.配图源 ...
- 79 umount-卸除目前挂在Linux目录中的文件系统
Linux umount命令用于卸除文件系统. umount可卸除目前挂在Linux目录中的文件系统. 语法 umount [-ahnrvV][-t <文件系统类型>][文件系统] 参数: ...
- 如何在Linux服务器中隐藏PHP版本
通常,大多数默认设置安装的web服务器存在信息泄露,这其中之一就是PHP.PHP 是如今流行的服务端html嵌入式语言(之一?).在如今这个充满挑战的时代,有许多攻击者会尝试发现你服务端的漏洞.因此, ...
随机推荐
- Best Reward && Girls' research
After an uphill battle, General Li won a great victory. Now the head of state decide to reward him w ...
- Codeforces Round #686 (Div. 3) E. Number of Simple Paths (思维,图,bfs)
题意:有一个\(n\)个点,\(n\)条边的图,问你长度至少为\(1\)的简单路径有多少条. 题解:根据树的性质,我们知道这颗树一定存在一个环,假如一棵树没有环,那么它的所有长度不小于\(1\)的简单 ...
- Codeforces Round #683 (Div. 2, by Meet IT) D. Catching Cheaters (DP)
题意:给你两个字符串,每次取它们的子串C和D,然后求LCS,得到的贡献为\(4*LCS(C,D)-|C|-|D|\),求最大贡献. 题解:首先应该了解\(O(n^2)\)的LCS的dp写法,然后在此基 ...
- 2020ICPC·小米 网络选拔赛第一场 A.Intelligent Warehouse (DP)
题意:给你一组数,选一些数出来组成一个排列,使得每个数都能被前一个数整除,求排列的最大元素. 题解:我们先用欧拉筛筛出\(1e7\)的质数,设\(dp[i]\)表示当前选的数都是\(i\)的约数且合法 ...
- 功能按钮发post请求 参数放入body中
1.功能按钮事件参数 queryBody_ids:{data.ids} 前端会生成下划线后面的编码ids,并替换{data.ids} 2.后端建参数model后端参数可以只包含前端返回的部分参数 [D ...
- SQL Server 新安装启用sa用户/sa用户登录提示管道另一端无进程
安装时只用windows验证 安装完成后: 首先选中服务器(右键)->属性->安全性->服务器身份验证修改为"SQL SERVER和WINDOWS身份验证模式"其 ...
- C++实现二叉树的基本操作:建立、遍历、计算深度、节点数、叶子数等
题意: 代码实现: #include<iostream> #include<queue> #include<stack> using namespace std; ...
- 新闻类爬虫库:Newspaper
newspaper库是一个主要用来提取新闻内容及分析的Python爬虫框架.此库适合抓取新闻网页.操作简单易学,即使对完全没了解过爬虫的初学者也非常的友好,简单学习就能轻易上手,除此之外,使用过程你不 ...
- NoSQL 数据库案例实战 -- MongoDB数据备份、恢复
MySQL数据迁移到MongoDB数据库中 前言 一.数据备份 二.数据恢复 前言 本环境是基于 Centos 7.8 系统构建mongodb-enterprise-4.2.8学习环境具体构建,请参考 ...
- how to updating Node.js and npm
how to updating Node.js and npm 1 Installing Node.js and updating npm How do I update Node.js ? Not ...