首页 > 系统相关 >Linux基础03:用户相关操作 + 用户组相关操作 + 权限管理

Linux基础03:用户相关操作 + 用户组相关操作 + 权限管理

时间:2025-01-16 21:02:12浏览次数:3  
标签:03 -- 用户组 sudo 用户 lucy Linux 权限

主要内容

  • 用户相关操作
  • 用户组相关操作
  • 权限管理

用户和用户组基础

1.计算机通过用户名和密码识别用户。

2.Linux中新建用户后,需要设置密码。

3.系统有一个特殊的用户root,这个被称为超级用户,一般会默认。

4.用户组:把几个用户归在一起,这样的组被称之为用户组,规定文件所属用户组的权限可以使改组所有成员拥有这些权限。

普通用户和超级用户

  • 普通用户:安装系统时我们创建的用户(st),这个也可以由超级用户(管理员)进行分配,如:yueqian

  • 超级用户:又被称作最高管理员,root,Linux系统内置,第一次使用root用户时,需要修改密码。

    修改超级用户root用户的密码:

    sudo passwd    --然后按照提示输入密码即可
    

在这里插入图片描述

​ 注意:终端输入密码的时候没有提示,如果输出错误回车键后回提示重新输入。

关于用户、文件以及权限的关系:用户对文件拥有权限(读、写、执行、无权限)

普通用户和超级用户切换

  • 普通用户切换到ROOT用户:

    sudo -i  --没有设置密码的时候,使用这个进入
    
    su root  --设置密码后可以通过这个命令进入
    
  • ROOT用户切换到普通用户:

    su 用户名
    

whoami

解释:查看当前登录的用户

whoami

团队共享文件

问题抛出

企业开发中,我们一般时团队式开发。团队成员需要在一台服务器上共同完成一项任务(开发一套应用软件)团队成员在服务器上用户时lucy,lewis,mike,peter,他们都属于workgroup这个用户组。

在/home目录下新建一个名为work的目录,作为这个小组的工作目录。

workgroup组成员拥有这个目录的读写权限,并禁止其他无关用户操作这个目录。

如何解决以上问题?

①新建组workgroup并添加四个用户、分别为其设置密码。

②建立工作目录/home/work

③把这个新建目录的所有权交给workgroup组。

④组成员对其拥有读写权限,其他人不具有任何权限。(r-读,w-写,x-执行,–无权限)

⑤把这个工作目录交给lewis

用户相关操作

  • 添加新用户

    • 执行权限:ROOT权限

    • 语法:

      [sudo] useradd[选项] 用户名   --sudo:临时提升root,并不完全等价root
      
    • 范例:

      [sudo] useradd -d /home/lucy -m lucy  --创建一个用户lucy,并在家目录下为其分配一个同名目录(此时回创建一个默认组:lucy)
      

      注意:如果在新建用户的时候没有指定用户组,就会创建要给与用户名相同的组名,并让新用户属于这个组。

      [sudo] useradd -d /home/peter -mg lucy peter  --创建了一个peter用户,并创建了peter在家目录下的目录,同时将peter用户添加到lucy用户组中。
      
  • 查看用户所属的组

    • 执行权限:ROOT权限

    • 语法:

      [sudo] groups 用户名
      
    • 范例:

      sudo groups st
      

  • 删除用户

    • 执行权限:ROOT权限

    • 语法:

      [sudo] userdel [选项] 用户名
      
    • 选项:

      • -f:强制删除用户,即使用户当前已经登录(强制删除)
      • -r:删除用户的同时,删除与用户相关的所有文件(递归删除)
    • 范例:

      sudo userdel -rf peter  --删除peter用户,并在不提示任何信息的情况下递归删除peter对应的用户目录
      
  • 给用户添加口令(密码)

    • 执行权限:ROOT权限

    • 语法:

      [sudo] passwd [选项] 用户名
      
    • 选项:

      • -l:锁定口令,也就是禁用账号

      • -u:解锁口令

      • -d:使账号无口令(建议别这样做)

      • -e:强制用户下次登录时修改密码

        如果缺省选项,则修改/设置当前用户的口令

      • 说明:

        • ROOT用户下:给lucy设置密码(设置初始密码):

          [sudo] passwd lucy  --这里对密码复杂度没有要求
          
        • 普通用户下:给lucy设置密码(修改自己密码)

          passwd   --对密码复杂的有要求,为了安全考虑
          

在这里插入图片描述

  • 修改用户

    • 执行权限:ROOT用户

    • 语法:

      sudo usermod [选项] 用户名
      
    • 选项:

      • -c:备注,修改用户的备注文字
      • -g:用户组,修改用户所属的用户组
      • -G:群组,修改用户所属的附加群组
      • -s:shell,修改用户登入后所使用的shell
      • -u:uid,修改用户的uid
    • 范例:

      [sudo] usermod -g root lucy           --将lucy用户所属的组改为roor组
      [sudo] usermod -g lucy -G root lucy   --将lucy用户所属的组改为lucy组,附属组改为root,附属群组可以有多个,使用,fen
      

用户组相关操作

指令

  • 添加用户组

    • 执行权限:ROOT用户

    • 语法:

      [sudo] groupadd [选项] 组名
      
    • 选项:

      • -g:GID,指定新用户组的标识(唯一编号),如果不指定,系统会自动编号
    • 范例:

      sudo groupadd workgroup --创建一个工作组
      
  • 查看所有用户组:

    • 语法:

      cat /etc/group
      
      [sudo] cat/etc/gshadow
      
  • 删除用户组:

    • 执行的权限:

    • 语法:

      [sudo] groupdel [选项] 组名
      
    • 范例:

      sudo groupdel workgroup  --删除我们添加的workgroup这个组
      
  • 修改用户组:

    • 执行权限:ROOT用户

    • 语法:

      [sudo] groupmod [选项] 新组名 旧组名
      
    • 选项:

      • -g:GID,组编号(唯一编号)
      • -o:和-g同时使用,允许用户组的新的GID和系统已有用户组的GID相同
      • -n:新用户将用户组的名字改为新名字(new)
    • 范例:

      sudo groupmod -n yueqian YQ             --将YQ改为yueqian
      sudo groupmod -n YQ yueqian -g 1002 -o  --将yueqian改为YQ,并将组号改为跟系统已有相同的1002
      

权限管理

指令

  • 修改文件/目录的拥有者或者组

    • 执行权限:ROOT用户

    • 语法:

      chown [选项] ... [所用者][:[组名]] 文件或者目录的路径...
      
    • 选项:

      • -c:显示更改部分的信息
      • -f:忽略错误信息
      • -h:修复符号链接
      • -R:处理指定目录以及其子目录中的所有文件
      • -v:显示详细的处理信息
    • 范例:

      sudo chown lucy /home/demo01/demo01.c     --修改demo01.c文件的拥有者为拥护者lucy(直接作用于单个用户)
      sudo chown :lucy /home/demo01/demo02.c   --指定demo01.c文件的拥有者为用户组lucy(直接作用于同一组下多个用户)
      sudo chown -R root:root /home/demo02      --将demo02目录下所有文件与子目录的拥有者都设置为root用户以及root用户组
      

    在这里插入图片描述

  • 修改文件或文件夹的可读可写可执行权限

    • 执行权限:ROOT用户

    • 语法:

      [sudo] chmod [选项] 权限 文件或目录的路径
      
    • 选项:

      • -c:显示更改部分
      • -f:忽略提示信息
      • -R:对规定目录及其子目录中的所有文件
      • -v:显示详细信息
  • 用法1:文字设定法

    • 语法:

      sudo chmod [参数1] [参数2] 权限名 文件或目录的路径
      
    • 参数:

      • 参数1:(给谁添加权限)

        • a:all,所有用户
        • u:user,当前用户
        • g:group,当前用户组
        • o:other,其他用户或用户组
      • 参数2:(操作权限)

        • +:增加权限
        • -:删除权限
        • =:设置权限
      • 权限名:

        • r:readonly,只读
        • w:write,写,编辑
        • x:执行,一般针对的是可执行程序678
        • -:无权限(针对rwx对应位置进行设置)
      • 范例:

        sudo chmod u=rwx,g=rx,o=- /home/demo01/demo01.c  --针对demo01.c,当前用户拥有读写执行权限,用户组拥有读和执行权限,其他用户或者用户组无权限
        

    在这里插入图片描述

  • 用法2:数字设定法

    • 语法:

      [sudo] chmod 权限数字 文件或目录的路径
      
    • 权限数字:

      • r:4
      • w:2
      • x:1
      • -:0

      注意:我们的权限数字表示:777,三个数字,第1个数字表示当前用户(4+2+1);第2个数字表示当前用户组(4+2+1);第3个数字表示其他用户(4+2+1)

    • 范例:

      sudo chmod 750 /home/demo01/demo01.c  --针对demo01.c,当前用户拥有读写执行权限,用户组拥有读和执行权限,其他用户或者用户组无权限
      

通配符

  • *:匹配任意一个或多个字符

    举例:

    在这里插入图片描述

  • ?:匹配任意单个字符

    举例:

    在这里插入图片描述

  • [..]:匹配[ ]范围中的任意单个字符

    举例:

    在这里插入图片描述

标签:03,--,用户组,sudo,用户,lucy,Linux,权限
From: https://blog.csdn.net/m0_74147998/article/details/145191683

相关文章

  • Linux基础02:+文件系统+ 目录操作+ 文件操作+ 存储转换
    内容提要文件系统目录操作文件操作存储转换文件系统Linux本质就是一个文件系统,Linux文件系统是操作系统组织、存取、保存数据的一种手段,整体采用层级式的倒状目录结构。倒树状结构中的目录/:根目录,Linux中的绝对路径就是由这个开始的/bin:主要存放系统的普通指令......
  • [Babel] Intro Babel - 03. CLI
    CLI关于babel所提供的CLI,你可以在https://babeljs.io/docs/babel-cli看到所有所支持的CLI命令。要使用CLI命令,首先第一步是安装:pnpmadd--save-dev@babel/core@babel/cli注意在安装@babel/cli这个包的时候,需要同时安装@babel/core这个包,这个包是提供babel......
  • Linux运维学习记录14
    1.Docker的网络模式Docker的网络支持5种网络模式nonebridgecontainerhostnetwork-namebridge:描述:默认网络模式。如果未显式指定网络模式,Docker会将容器连接到一个默认的桥接网络docker0。每个容器都有自己的虚拟网卡,并通过docker0与其他容器通信。特点:容器之间......
  • ModuleNotFoundError: No module named 'cv2'
    前言运行 python3req.py 文件时遇到:ModuleNotFoundError:Nomodulenamed'cv2'原因是:环境中缺少 cv2 的包,所以会出现 Nomodulenamed'cv2’ 的问题。cv2 的包名并不叫 cv2 ,所以使用 pipinstallcv2 不能安装。cv2 的包名叫 opencv-python ,使用以下命令即......
  • linux kernel tcp丢包分析
     现象使用netstat-s能看见如下丢包统计  1352910failedconnectionattempts1352910resetsreceivedforembryonicSYN_RECVsockets 查看netstat的代码https://sourceforge.net/p/net-tools/code/ci/master/tree/ 取的这两个文件:/proc/net/netstat, /pro......
  • Telnet在Windows和Linux上的使用方法
    Telnet是一个基于TCP/IP协议的远程登录协议,用于在网络上的计算机之间进行通信。它主要用于远程管理和测试网络服务。本文将详细介绍在Windows和Linux系统上如何安装和使用Telnet。一、在Windows上使用Telnet1.1启用Telnet客户端在Windows系统中,默认情况下Telnet客户端是未启用......
  • 使用 Golang 编译 Linux 可运行文件
    Golang(或Go)是一种开源编程语言,因其简单、高效、并发编程支持而备受欢迎。本文将详细介绍如何使用Golang编译生成可以在Linux上运行的可执行文件。一、安装Golang1.1下载Golang从Golang官方网站下载适合你操作系统的安装包:Golang下载页面1.2安装Golang在Ubuntu......
  • Linux基础01天:指令起步
    ​​​​​##Linux指令起步st@st-virtual-machine:~$st:当前登录用户名,安装的时候设置的@:没有意义,分隔符st-virtual-machine:主机名~:家目录$:用于区分用户角色的,$表示普通用户,#表示ROOT用户pwd:Linux命令,用来**查看当前所在目录的绝对路径**,Linux绝对路径......
  • Linux基础04天:压缩与解压缩 / vim
    Linux基础:04天笔记内容提要压缩、打包、解压缩Vim编辑器权限说明权限的类型权限的数值普通文件目录/文件夹r:可读4cat.less.more.head.taill等lsw:可写2>(覆盖写入),>>(追加写入),touch,rmmkdir:rmdirrm,mvx:可执行1./文件名(可执行文件)cd,cp,mv(移动)-:无权限0无操作无操作压......
  • Linux基础02天:文件操作
    Linux基础:第02天笔记内容提要文件系统目录操作文件操作文件系统Linux本质上就是一个文件系统,Linux文件系统是做系统组织,存取,保存数据的一种手段。整体采用层级式的倒状目录结构。倒树状结构中的目录/:根目录,Linux中的绝对路径就是从这个开始的/bin:主要存放系统的普......