• Linux用户及文件权限管理


    一、Linux 用户管理

    Linux 是一个可以实现多用户登录的操作系统,比如“李雷”和“韩梅梅”都可以同时登录同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看、修改彼此的文件。

    1.1创建用户

    在 Linux 系统里, root 账户拥有整个系统至高无上的权限,比如新建和添加用户。

    root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,这个操作等同于在 Windows 下就是将新建的非法帐户添加到 Administrators 用户组。更比如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。

    大部分 Linux 系统在安装时都会建议用户新建一个用户而不是直接使用 root 用户进行登录,当然也有直接使用 root 登录的例如 Kali(基于 Debian 的 Linux 发行版,集成大量工具软件,主要用于数字取证的操作系统)。一般我们登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。shiyanlou 用户也属于 sudo 用户组(稍后会介绍如何查看和添加用户组)。

    su,su- 与 sudo
    需要注意 Linux 环境下输入密码是不会显示的。

    su 可以切换到用户 user,执行时需要输入目标用户的密码,sudo 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - 命令也是切换用户,但是同时用户的环境变量和工作目录也会跟着改变成目标用户所对应的。

    二、Linux 文件权限

    文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。

    Unix/Linux 系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,Unix/Linux 系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。

    在 Unix/Linux 中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。

    案例

    步骤 1:创建用户 loutest

    如果用户 loutest 不存在,您可以使用以下命令创建该用户(需要有sudo权限的用户执行):

    sudo adduser loutest
    
    • 1

    按照提示设置用户密码和其他信息。
    图片描述

    步骤 2:创建文件 /opt/forloutest

    接下来,使用 sudo 权限创建文件 /opt/forloutest。可以使用 touch 命令来创建一个空文件:

    sudo touch /opt/forloutest
    
    • 1

    这将创建一个名为 forloutest 的空文件,并确保文件位于 /opt 目录下。
    图片描述

    步骤 3:设置文件权限

    现在,您需要确保用户 loutest 具有对该文件的读写权限。可以使用 chown 命令更改文件的所有者为 loutest,并使用 chmod 命令分配读写权限:

    sudo chown loutest:loutest /opt/forloutest
    sudo chmod 600 /opt/forloutest
    
    • 1
    • 2

    以上命令将文件的所有者更改为 loutest,并分配了读写权限。这意味着只有用户 loutest 具有读写权限,其他用户没有权限访问该文件。
    图片描述

    步骤 4:验证权限

    您可以使用以下命令验证文件的权限是否正确设置:

    ls -l /opt/forloutest
    
    • 1

    您应该看到文件 /opt/forloutest 的权限应该为 -rw-------,表示只有所有者 loutest 具有读写权限。
    图片描述

    sudo chmod 600 /opt/forloutest 解释:

    sudo chmod 600 /opt/forloutest 用于更改文件 /opt/forloutest 的权限。chmod 命令用于修改文件或目录的访问权限。数字 600 是权限模式的表示方式,这里的 600 表示以下权限设置:

    第一个数字 6 表示文件所有者(即 loutest)具有读(4)和写(2)权限,因此文件所有者可以读取和修改文件。
    后面的两个数字 00 表示文件的组和其他用户没有任何权限,即没有读、写或执行权限。
    总之,sudo chmod 600 /opt/forloutest 的目的是确保只有文件所有者 loutest 具有读取和写入该文件的权限,而其他用户没有任何权限。这是一种常见的设置,用于保护文件的隐私和安全性。

  • 相关阅读:
    C语言进阶——指针进阶试题讲解(万字长文详解)
    Linux内核源码分析 1:Linux内核体系架构和学习路线
    第七章认识Express框架
    JS-事件委托-阻止事件冒泡和阻止默认行为-滚动事件-加载事件-元素尺寸位置
    485自收发专用芯片
    观测云产品更新 | 优化 SSO 管理、新增监控器类型、优化场景等
    【深入理解C++】vector
    Springmvc笔记
    2019河北省大学生程序设计竞赛部分题题解
    【深度学习环境配置】windows出现出现‘git‘ 不是内部或外部命令,也不是可运行的程序
  • 原文地址:https://blog.csdn.net/liaozhixiangjava/article/details/134032856