IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux用户权限基础知识学习 -> 正文阅读

[系统运维]Linux用户权限基础知识学习

用户与用户组相关概念

我们装完虚拟机后会创建一个账号,那个账号我们可以理解为用户,也就是操作系统的人,我们叫做用户。Linux是一个多任务多用户的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统,我们的系统账号一定有唯一的用户名,就比如我们的手机号码对应唯一的身份证号码,那么在我们的Linux系统里,每个用户都有唯一的用户名和各自独有的口令。

用户
我们的用户分为三类:超级用户,普通用户,虚拟用户
在linux系统中,超级用户就是具有最高的管理权限,就好比安卓手机我们经常说的root一下,就是为了获取最高的管理权限,那么在linux系统里,我们的超级用户的代表符号也是root
我们的普通用户只能对自己目录下的文件进行访问和修改,具有登录到系统的权限,就比如下图,我们装虚拟机时创建了xiaolang这个用户,这个用户就是普通用户,那么我们在root用户的家目录下就无法创建文本,它提醒我们权限不够。
在这里插入图片描述
虚拟用户的话其实也就是在linux系统里那些软件所拥有的用户,他们并不能登陆系统,主要的作用只是方便管理系统,如: bin、adm、nobody用户等等。

用户组
用户组其实就是具有相同权限系统的一组用户,就好像是具有特征用户的一个集合,就好比我们日常的学习小组。
linux将用户进行分组管理,更大程度上简化了工作。
用户与用户组的关系:
1.一对一 : 一个用户可以存在一个组中,是组中的唯一成员
2.一对多∶一个用户可以存在多个用户组中,此用户具有多个组的共同权限
3.多对一∶ 多个用户可以存放在一个组中,这些用户具有和组相同的权限
4.多对多∶多个用户可以存在多个组中,即以上3种关系的扩展
参考链接:http://c.biancheng.net/view/3038.html

主要组和附属组
用户可以同时属于多个组,其中一个主要组,多个附属组
在这里插入图片描述
我们可以这样想,主要组可以看作你面前拥有的电脑,那么附属组,相当于你在网吧租的电脑,只要你有钱想租多少都行,也就是说你的用户(test)可以有很多个附属组,所有的这些都归你本人也就是User用户使用。

linux相关文件配置

/etc/passwd存储当前系统中所有用户的信息(密码除外)
我们在终端输入:vim /etc/passwd(若没有安装vim编辑器先安装,安装教程:https://blog.51cto.com/u_14413105/2434434,或者使用cat命令也可)

在这里插入图片描述
我们可以发现这一堆用 “ ” 隔开的东西,这里每个小块就代表一个用户的配置信息,基本信息格式都是一样的
我们由上图可以知道,第一个字段:用户名
第二个字段(×) :加密后的密码
第三个字段(数字1):用户ID
第四个字段(数字0):用户组ID
第五个字段(第二个root ) :用户的描述信息,默认用户的全名或空值
第六个字段(/root ) :用户的主目录
第七个字段(/bin/bash ):登录shell,字段/sbin/nologin表示禁止登录

每个字段的意义如下所示:
在这里插入图片描述
我们创建的普通用户格式(下图)也可以通过上图分析出来。
在这里插入图片描述

在终端输入bin/bash命令,可以发现下图:
在这里插入图片描述

/etc/shadow存储当前系统中所有用户的密码信息
在这里插入图片描述
普通用户表示形式:
在这里插入图片描述
/etc/group存储当前系统中所有用户组信息
在这里插入图片描述
第一个字段( root ) :用户组组名
第二个字段(×):加密后的用户组密码
第三个字段(0)∶用户组ID
第四个字段(空值):用户组的成员列表,多个组成员用逗号分隔
在这里插入图片描述

/etc/gshadow储存用户组密码的一类信息
在这里插入图片描述

第一个字段:用户组名称
第二个字段:加密后的用户组密码,如果是空或 ! 代表没有密码
第三个字段:用户组管理员,空值代表没有组管理员
第四个字段:用户组的成员列表,空值代表无成员列表

在这里插入图片描述

上图显示了他们彼此的关系。

用户命令

useradd 用户名
创建用户,同时创建与用户名同名的组
useradd -g 组名 用户名
创建用户并指定用户组
useradd 用户名 -s xxx
创建用户并指定用户登录后所使用的shell,如果值为/sbin/nologin或者/bin/false时,表示禁止该用户登录
usermod -g 用户组 用户名
修改用户所在的用户组
usermode -l 新用户名 用户名
修改用户名
userdel 用户名
删除用户,不删除用户的家目录( - r 参数同时删除家目录)

比如如下图,当我们创建了一个dog的新用户时,系统会给我们整一个叫dog的用户组,里面创建一个叫dog的用户。
在这里插入图片描述
在这里插入图片描述
修改密码
普通用户直接输入passwd命令修改自己的密码。
普通用户设置密码必须符合密码原则,root用户可以任意设置

passwd 用户名
修改用户密码(如果是新创建用户即为设置密码)
gpasswd 用户组
修改/设置用户组密码
用户管理其他命令
su 用户名
切换用户身份,如果不带参数,则切换为root身份
id 用户名
显示指定用户信息,包括用户编号、用户名,组编号、组名
whoami
显示当前登录用户名

下图显示了,创建了一个dog的用户,然后我们又用 userdel -r dog的命令删除此用户
在这里插入图片描述

passwd dog我们给dog的用户创建密码,这里系统可能会提示你的密码强度不够之类的提示,我们可以暂时忽略。
在这里插入图片描述
我们注销当前登录账号后,就会发现我们的系统又多了一个我们所创建的新的用户。

在这里插入图片描述

id命令
在这里插入图片描述
whoami
显示当前登录用户名
在这里插入图片描述

linux权限控制

在生产服务器上,如果要让普通用户登录,就要给他分配合理的权限,在服务器上需要为用户严格定义权限等级,否则如果所有人都是root权限,权限过高容易导致出现误操作、盗取账号等风险,所以要进行权限控制。

Linux文件属性说明
使用指令:ls -lih
在这里插入图片描述

使用指令 ls -lls -lh
在这里插入图片描述

文件权限
在这里插入图片描述

我们也可以使用数字来表示权限

在这里插入图片描述
注意
1.root账户不受文件权限的读写限制,执行权限受到限制
2.用户获取文件权限的顺序︰先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看
3.缺省创建的文件(系统默认的文件,缺省就是默认的意思)不可授予可执行的权限,基于最基本的安全机制,防止病毒等

我们上述的权限对于文件和目录又有着不同的意义:
针对文件而言:
r∶读取文件内容,如cat、more、tail、head等
w∶修改文件内容,如vim、echo等
x∶执行权限,如命令、脚本等,对除二进制程序以外的文件没什么意义

针对目录而言:
r : 查看目录下的文件列表如ls
w : 删除和创建目录下的文件,如 touch、mkdir、rm
x : 可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

[root@localhost ~]# chmod[选项]模式文件名
选项:-R表示递归
权限字母表示法:[ugoa][±=][rwx]
u表示user是使用者的意思,g是group是组的意思,o是other是其他用户的意思,a是all是全部的意思。+ 是增加权限的意思,- 是剔除权限的意思,= 是赋予新的权限的意思
权限数字表示法:[mode=421]
权限数字: r - 4 , w - 2 , x - 1,无权限 - 0
我们的权限一定是针对于文件所有者,文件所有组,其他用户三者而言,所以会出现下面的各种数字组合,权限的数字之和其实就是所具有的权限,比如数字 7 是4+2+1,也就是说包括了r、w、x三种权限之和)
常用组合: 777 最高权限, 644 普通文件权限, 755 执行权限

举例:
为文件的所有者附加执行权限∶
[root@localhost ~]# chmod u+x test.txt为所有者赋予所有权限
[root@localhost ~]# chmod u=rwx test.txt为所有人(所有者、所属组、其他人)赋予所有权限
[root@localhost ~]# chmod a=rwx test.txt为文件赋予执行权限:rwxr-xr-x
[root@localhost~]# chmod 755 test.txt

在这里插入图片描述

改变文件或者目录所有者

[root@localhost ~]# chown用户名文件名#修改文件所有者
[root@localhost ~]# chown所有者:所属组文件名#同时改变所有者和所属组

选项:-R表示递归,处理指定目录及其子目录下的所有文件

举例:
将test文件的所有者修改为icq
[root@localhost ~]# chown icq test
修改test文件的所有者和所有组修改为: icq、icqtest
[root@localhost ~]# chown icq:icqtest test

在这里插入图片描述

改变文件或者目录所有组
[root@localhost ~]# chgrp用户组文件或目录#改变文件或目录的所属组

注意:能更改文件或目录的所有者和所有组的用户是root

举例:
将test.txt文件的所属组由root更改为icqtest
[root@localhost ~]#chgrp icqtest test

显示、设置文件的默认权限
[root@localhost ~]# umask [-S]# 显示、设置文件的默认权限
参数说明:-S以rwx形式显示新建文件的默认权限
命令说明:对于windows而言默认权限是从上级目录继承而来的,而linux则是通过umask权限设定的·对于root用户而言,文件的默认权限为644,目录的默认权限为755
对于普通用户而言,文件的默认权限是666,目录的默认权限是755
举例:
查看默认权限
[root@localhost ~]#umask
将新创建的文件权限设置为rwxr-xr-- ,可以用777减去754,得到203
[root@localhost~]#umask 023

在这里插入图片描述

在这里插入图片描述

补充
Linux中chmod -R 递归修改文件权限操作 :https://blog.csdn.net/fly_wt/article/details/82986504

Linux umask详解:令新建文件和目录拥有默认权限 : http://c.biancheng.net/view/764.html

我是个沉默不语的靠着墙壁晒太阳的过客。”

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-24 11:53:55  更:2021-07-24 11:54:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/28 23:43:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码