首页 > 系统相关 >Linux用户与权限

Linux用户与权限

时间:2024-03-14 19:57:45浏览次数:20  
标签:文件 sudo 用户 Linux allen 权限 root

Linux用户与权限

用户、用户组

概述

  • Linux是多用户多任务操作系统,支持多个用户在同一时间内登陆,不同用户执行不同的任务,并且互不影响。

  • 不同用户具有不同的操作权限,每个用户在权限允许的范围内完成不同的任务。

  • 权限最高的用户叫做root,称之为超级管理员用户

  • 用户组是具有相同特征用户的逻辑集合。基于用户组管理权限比直接基于用户管理权限效率要高。

image-20240310161948575

文件归属:

  • 根据用户、用户组管理理论划分,Linux上的文件(文件夹)的归属可以分为三类:
    • 拥有者(Owner user
    • 拥有者所在组(Group user
    • 其他用户组(Other users

image-20240310162137193

文件权限

概述:

  • 文件权限总体上分为三类:
    • read)权限
    • write)权限
    • 执行(execute)权限

image-20240310162353212

查看:

  • 使用ls -l命令可以显示出文件的权限相关信息。

  • 第一列的信息就是跟权限相关的信息。

image-20240310162515803

权限信息解读

  • 第1位表示文件类型: -文件 d文件夹 l链接;

  • 第2位开始每3位构成一组,总共3组,表示:所属用户user、所属用户组group、其他用户组other的权限详情。

  • 每组权限依次为:读、写、执行,用字母rwx表示,没有该类权限使用-表示。

image-20240310162707998

rwx真实含义:

对于文件

rwx权限 文件的作用
读权限(r) 表示可读取此文件中的实际内容。例如可以对文件执行cat、more、less、head、tail等文件查看命令。
写权限(w) 表示可以编辑、新增或者修改文件中的内容。例如,可以对文件执行 vim、echo 等修改文件数据的命令。
执行权限(x) 表示该文件具有被系统执行的权限。Window系统中查看一个文件是否为可执行文件,是通过扩展名(.exe、.bat 等),但在 Linux 系统中,文件是否能被执行,是通过看此文件是否具有 x 权限来决定的。也就是说,只要文件拥有 x 权限,则此文件就是可执行文件。但是,文件到底能否正确运行,还要看文件中的代码是否正确。执行权限是文件的最高权限

对于目录

rwx 权限 目录的作用
读权限(r) 表示具有读取目录结构列表的权限,也就是说,可以看到目录中有哪些文件和子目录。一旦对目录拥有 r 权限,就可以在此目录下执行 ls 命令,查看目录中的内容。
写权限(w) 对于目录来说,w 权限是最高权限。对目录拥有 w 权限,表示可以对目录做以下操作:在此目录中建立新的文件或子目录; •删除已存在的文件和目录(无论子文件或子目录的权限是怎样的); •对已存在的文件或目录做更名操作; •移动此目录下的文件和目录的位置。 一旦对目录拥有 w 权限,就可以在目录下执行 touch、rm、cp、mv 等命令。
执行权限(x) 目录是不能直接运行的,对目录赋予 x 权限,代表用户可以进入目录,也就是说,赋予 x 权限的用户或群组可以使用 cd 命令。
  • 文件能不能删除,跟文件本身的权限无关,跟文件的父目录有没有w权限有关

小结:

  1. 对于文件来说,x执行权限最高;对于文件夹来说,w权限最高,实际中授权需要谨慎。
  2. 权限管理对root用户无约束。主要是针对非root用户来设定的。
  3. 通常来说相关性越高,权限越高。正常的话:
    user权限 > group权限 > other权限

用户组group管理命令

概述:

  • groupadd:用于创建一个新的用户组,用户组相关信息会保存在/etc/group文件中。
  • cat /etc/group:查看当前系统用户组信息。
  • groupdel:用于删除用户组。
  • chgrp:用于变更文件或目录的所属群组。不同于chown命令,chgrp允许普通用户改变文件所属的组,只要该用户是该组的一员。
  • chown:用于设置文件所有者和文件关联组的命令,需要超级用户root的权限才能执行chown命令
#1、增加一个新的用户组
groupadd  用户组
-g GID # 指定新用户组的组标识号(GID)。

# groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
# groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。

#2、查看当前系统已有组信息
cat /etc/group
ange:x:1001:lisi,wangwu
ange #组名
x #密码口号 一般都没有密码
1001 #groupID  gid 组编号
lisi,wangwu #归属该组的用户

#3、删除组
groupdel 组名

#4、修改文件归属的组
chgrp 组名 文件/目录名  针对文件夹加上-R可以实现递归修改

用户user管理命令

概述:

  • useradd:用于建立用户帐号,帐号建好之后,再用passwd设定帐号的密码。

  • userdel:用于删除用户帐号。

  • cat /etc/passwd:查看当前系统用户信息。

#1、创建用户
useradd 选项 新建用户名
-g   #指定用户所属的群组。值可以是组名也可以是GID
-G   #指定用户所属的附加群组。

#2、设置密码  
[root@node1 linux02]# passwd 用户名
Changing password for user allen.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.  

#3、删除用户
userdel -r 用户名
#此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

#4、查看用户信息
cat /etc/passwd | grep 用户名

#5、修改文件所属的用户
chown allen 1.txt   #如果是文件夹及其下面的所有要修改 加上-R参数

su用户切换

概述:

  • su(英文全拼:switch user)命令:用于切换使用者的用户身份,除root外,切换时需要键入该使用者的密码。
  • su命令适合在知道用户密码情况下的快速用户切换。
  • 缺点是如果切换成root用户,需要root密码,容易泄露root密码。
[allen@node1 ~]$ whoami
allen
[allen@node1 ~]$ pwd
/home/allen
[allen@node1 ~]$ su root
Password:
[root@node1 allen]# whoami
root
[root@node1 allen]# su allen
[allen@node1 ~]$ whoami 
allen

sudo权限

概述:

  • 背景:普通用户需要root权限操作,但是又不能告知其root密码。可以通过sudo配置让普通用户具备某些root权限操作,同时又不会泄露root密码

  • sudo权限的控制是通过对/etc/sudoers文件编辑实现的。

  • 注意:不要轻易给别人配置sudo权限。

sudo权限配置使用

step1:root用户配置sudo

  • 只有root用户才可以为其他非root用户配置sudo权限。

  • 命令:visudo

  • 打开/etc/sudoers文件之后可以使用100↓快速定位到编辑区域。

image-20240311003904680

step2:普通用户申请sudo权限

  • 普通用户执行命令之前需要添加sudo关键字,表示申请sudo权限执行;

  • 到底是否具有sudo权限以及具备哪些权限,取决于/etc/sudoers中的配置

  • 如果检测发现具有sudo权限,会首先让用户输入自己的密码进行验证,验证成功之后执行,并获取一个为时5分钟的签证,在此期间执行sudo不需要再输入自己的密码;

[allen@node1 ~]$ whoami 
allen
[allen@node1 ~]$ ls /root/
ls: cannot open directory /root/: Permission denied
[allen@node1 ~]$ sudo ls /root 
[sudo] password for allen:   #输入allen的密码进行验证
1.txt  anaconda-ks.cfg  nohup.out   stopZk.sh  zookeeper.out
2.txt  hivedata         startZk.sh  test
[allen@node1 ~]$ sudo ls /root
1.txt  anaconda-ks.cfg  nohup.out   stopZk.sh  zookeeper.out
2.txt  hivedata         startZk.sh  test

sudo ls /root

标签:文件,sudo,用户,Linux,allen,权限,root
From: https://www.cnblogs.com/luoluoange/p/18073772

相关文章

  • Linux文件权限管理命令
    文件权限管理命令概述文件权限分为3种:读r、写w、执行x;文件归属分为3类:user、group、other;为了便于权限管理,每个权限都有对应的数字:0表示没有权限、4表示读权限、2表示写权限、1表示执行权限方式1:数字表示法chmod777-R文件|文件夹其中-R用于递归修改文件......
  • Linux软件安装
    Linux软件安装rpm包管理器概述rpm是RH系列Linux系统的包管理器(Red-HatPackageManager),也是RH系列安装的软件包后缀名。当下这套标准已经扩大成为了行业标准,不仅仅局限于RH系列Linux系统。rpm操作指的是使用rpm命令进行软件的查看、安装、卸载。rpm弊端:需要自己提前......
  • Linux常用系统管理命令
    Linux常用系统管理命令时间、日期查看date命令:用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。cal(calendar)命令:用于用于显示当前或者指定日期的公历。[root@node1linux02]#dateTueMay1814:44:13CST2023[......
  • Linux常用命令
    Linux常用命令一、Linux文件系统文件系统是操作系统用于明确存储设备(如磁盘)上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统的结构通常叫做目录树结构,从/根目录开始。Lin......
  • 在Linux中,文件系统层次结构是什么?以及目录作用是什么?
    在Linux操作系统中,文件系统层次结构是一种树状结构,也称为目录层级结构,它的顶部是根目录/。这个结构遵循FilesystemHierarchyStandard(FHS),它是一套规范,用来指导Linux及其他类Unix系统中文件和目录应该如何布局以保持一致性。下面是Linux文件系统层次结构的主要组成部分以及各目......
  • 在Linux中,内核主要功能及作用是什么?
    在Linux操作系统中,内核作为其核心组件,承担着系统底层服务和关键管理职责。以下是Linux内核主要功能及作用的详细说明:进程管理:进程调度:内核通过调度算法控制进程对CPU的使用权,确保多个进程公平地分享计算资源。它负责创建、终止进程,以及在进程状态改变时进行上下文切换。进程......
  • 在Linux中,如何查看系统当前运行的进程以及它们的状态?
    在Linux中查看当前系统运行的进程以及它们的状态,可以使用多种命令工具,以下是一些常用的方法:ps命令:最基础的查看进程信息方式是使用ps命令。简单查看当前终端下的进程,可以输入:ps若想查看所有进程,包括其他终端下的进程,可以加上-e参数:ps-e若要查看详细的进程信......
  • linux系统对于docker容器的监控
    容器监控容器监控原生命令操作问题容器监控三剑客CAdvisorInfluxDBGranfanacompose编排监控工具新建目录创建CIG.yml文件启动docker-compose测试容器监控CAdvisor+InfluxDB+Granfana原生命令操作dockerstats问题通过dockerstats命令可以很方便的看到当......
  • linux系统创建私有容器仓库和docker容器的资源限制
    私有仓库创建和资源限制创建私有仓库docker资源限制系统压力测试工具stresscpu资源限制限制CPUShare限制CPU核数CPU绑定mem资源限制限制IO创建私有仓库上传harbor压缩包解压下载docker-compose进入解压后的目录修改配置文件mvharbor.yml.tmplharbor.ymlv......
  • 在Linux中,哪些命令可以管理系统服务,如启动、停止、重启一个服务?
    在Linux中,管理系统服务涉及到对运行中的进程或后台任务的启动、停止、重启等操作。这些操作通常通过特定的命令和工具来完成。下面详细说明了如何执行这些任务:1.启动服务使用service命令在早期的Linux发行版中,service命令是启动服务的主要方式。例如:service服务名start使......