• 9.用户权限相关命令


    一、用户 和 权限 的基本概念

    1、用户

    • 用户是在 Linux 系统工作中重要的一环,用户管理 包括 用户的管理

    • 在 Linux 系统中, 不论是由本机还是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限

    • 在Linux中,可以指定 每一个用户 针对 不同的文件或者目录不同权限

    • 文件 / 目录 的权限包括:

      权限英文缩小数字代码
      readr4
      writew2
      执行excutex1
      无权限-0

    2、组

    • 为了方便用户管理,提出了 的概念
    • 在实际应用中,可以预先 针对 设置好权限,然后将不同的用户添加到对于的组中,从而不用依次为每一个用户设置权限

    3、ls -l 显示信息的详细介绍

    • ls -l 可以查看 文件夹下文件的详细信息,从左到右依次是:

      • 权限,第一个字符如果是d 表示目录,如果是 - 表示文件
      • 硬链接数,通俗的讲,就是由多少种方式可以访问到 当前 目录 /文件
      • 拥有者,家目录下文件/目录 的拥有者通常都是当前用户
      • ,在 Linux种,很多时候会出现 组名和用户名相同的情况
      • 大小
      • 创建或最后修改时间
      • 名称

    在这里插入图片描述

    • 硬链接数的详细介绍:

      注意:文件的硬链连接数一般为1,一个目录的子目录数越多,它的硬链接数也就越多
      在这里插入图片描述

    二、用户权限—chmod 命令的简单使用

    • chmod 可以修改 用户 / 组文件 / 目录的权限

    • 命令格式为:chmod +/-rwx 文件名/目录名

      注意:如果是 + ,则表示 增加权限;若是 - 号,则表示减少权限

      ​ rwx 三个权限可以随意组合

    在这里插入图片描述

    三、超级用户

    • Linux 系统中 的 root 账号 通常 用于系统的维护和管理,对操作系统的所有资源 具有所有访问权限
    • 在大多数版本的Liunx中,都不推荐 直接使用 root 账号登录系统
    • 在 Linux安装的过程中,系统会自动创建一个用户账号,而这个默认的用户称为“标准用户”

    sudo

    • su 是 substitute user 的缩写,表示 使用另一个用户的身份
    • sudo 命令用来以其他身份来执行命令,预设的身份是 root
    • 用户使用 sudo时,必须输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码
    • 若其未经授权的用户企图使用 **sudo **,则会发出警告邮件给管理员

    Ubuntu中进入 root 模式:

    使用 sudo su 命令,要退出 root 模式可以使用 exit 或者 su user(安装时的用户名)命令
    在这里插入图片描述

    四、组管理 终端命令

    命令作用
    groupadd 组名添加组
    groupdel 组名删除组
    cat /etc/group确定组信息
    chgrp -R 组名 文件/目录名修改文件/目录的所属组
    • 注意:

      • 创建组/删除组的终端命令都需要通过 sudo 命令执行(因为标准用户没有这个权限)
      • 组信息把保存在 /etc/group文件中
      • /etc目录时专门用来保存 系统配置信息的目录
      • 在实际应用中,可以预先 针对 组设置好权限,然后将不同的用户添加到对应的组中,从而不用依次为每一个用户设置权限
      # 添加 dev 组
      $ sudo groupadd dev
      
      # 查看组是否添加成功
      $ cat /etc/group
      
      # 将 Python学习的目录的组改为 dev
      $ sudo chgrp -R dev Python学习/
      
      # 删除 dev组
      # sudo groupdel dev
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11

    在这里插入图片描述

    五、用户管理 -创建删除用户终端命令

    命令作用说明
    useradd -m -g 组名 新建用户名添加新用户-m 自动创建用户家目录-g 指定用户所在的组,否则会建立一个和用户名同名的组
    passwd 用户名设置用户密码若是普通用户,直接用passwd可以修改自己的账户密码
    userdel -r 用户名删除用户-r选项会自动删除用户家目录
    cat/etc/passed | grep 用户名确认用户信息新建用户后,用户信息会保存在 /etc/passwd文件中

    注意:

    • 创建用户/删除用户/修改其他用户密码的终端命令都需要使用 sudo 执行

    • 创建用户时,若忘记添加 -m选项指定新用户的家目录,最简单的解决方法就是 删除用户,重新创建

    • 创建用户时,默认会创建一个和 用户名同名的组名

    • 用户信息保存在 /etc/passwd文件中
      在这里插入图片描述

    六、用户管理—查看用户信息终端命令

    命令作用
    id [用户名]查看用户 UID 和 GID信息
    who查看当前所有登录的用户列表
    whoami查看当前登录用户的账户名

    1.passwd 文件

    /etc/passwd文件存放的是用户信息,由6个分号组成的7个信息,分别是

    • 用户名
    • 密码(x,表示加密的密码)
    • UID(用户标识)
    • GID(组标识)
    • 用户全名或者本地账号
    • 家目录
    • 登录使用的 Shell,就是登录之后,使用的终端命令,Ubuntu默认是 dash

    在这里插入图片描述

    2.usermod

    • usermod 可以用来设置 用户主组 / 附加组登录Shell

    • 主组:通常在新建用户时指定,在 etc/passwd的第4列 GID 对应的组

    • 附加组:在 etc/passwd中最后一列表示该组的用户列表,用于指定 用户的附加权限

    • 注意:

      • 设置了用户的附加组后,需要 重新登录才能生效

      • 默认使用 useradd添加的用户时没有权限使用sudo 以 root身份执行命令的,可以使用 usermod -G sudo 用户名 命令,将用户添加到sudo附加组中

    # 修改用户的主组(passwd 中的 GID)
    $ usermod -g 组 用户名
    
    # 修改用户的附加组
    $ usermod -G 组 用户名
    
    # 修改用户登录 Shell
    $ usermod -s /bin/bash
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    3.which

    • which 命令可以查看执行命令所在位置
    • 注意:
      • /etc/passwd用于保存用户信息的文件,不可执行
      • /usr/bin/passwd是用于修改用户密码的程序
      • cd 这个终端命令是内置在系统内核中的,没有独立的文件,因此用which无法找到 cd 命令的位置
    • bin 和 sbin
      • 在 Linux中,绝大多数可执行的文件都是保存在 /bin 、/sbin、/usr/bin 、/usr/sbin
      • /bin(binary) 是二进制执行文件目录,主要用于具体应用
      • /sbin(system binary) 是系统管理员专用的二进制代码存放目录,主要用于系统管理
      • /usr/bin(user command for applications) 后期安装的一些软件
      • /usr/sbin(super user commands for applications) 超级用户的一些管理程序

    在这里插入图片描述

    4.切换用户

    命令作用说明
    su - 用户名切换用户,并且切换目录- 可以切换大用户家目录,否则保持位置不变
    exit退出当前登录的账号
    • su不接用户名,可以切换到root ,但是不推荐,不安全
    • 如果是在当前目录 输入 exit ,则会 退出 Shell终端窗口

    在这里插入图片描述

    5. 修改文件权限

    序号命令作用
    1chown修改拥有者
    2chgrp修改组
    3chmod修改权限

    命令格式如下:

    # 修改文件/目录的拥有者
    $ chown 用户名 文件名/目录
    
    # 递归修改文件 / 目录的组
    $ chgrp -R 组名 文件名/目录
    
    # 递归修改文件权限
    $ chmod -R 755 文件名/目录
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 注意:
      • chmod 在设置权限时,可以简单的使用三个数字分别对应 拥有者 /组 和其他用户的权限
      • 直接使用 chomd +/- rwx 文件名/目录名可以修改 文件/目录 的 读|写|执行 权限,但是不能精确到 拥有者|组|其他

    在这里插入图片描述

  • 相关阅读:
    JS实现简易观察者模式
    Java--Java版本和JDK版本
    Python语言学习:Python语言学习之python包/库package的简介、管理外部package的Python工具案例应用之详细攻略
    使用IDEA连接mysql
    GPU显存占满但利用率却很低
    【lvgl】01-lvgl移植之在linux上跑
    网上智慧教育云vr实验室管理系统促进教学公平和普及
    Gartner:2022年全球IT支出将超4万亿美元,软件增速最高
    后端大厂面试-15道题
    道可云元宇宙每日资讯|第二届世界元宇宙大会将在嘉定安亭举行
  • 原文地址:https://blog.csdn.net/qq_44749630/article/details/125627171