首页 > 系统相关 >带你从入门到精通——Linux(三. 用户和文件权限)

带你从入门到精通——Linux(三. 用户和文件权限)

时间:2024-12-12 17:28:16浏览次数:6  
标签:文件 用户名 入门 用户 命令 Linux 权限

建议先阅读我之前的博客,掌握一定的Linux前置知识后再阅读本文,链接如下:

带你从入门到精通——Linux(一. 基础知识)-CSDN博客

带你从入门到精通——Linux(二. 扩展知识)-CSDN博客

目录

三. 用户和权限

3.1 用户操作

3.1.1 添加用户和删除用户

3.1.2 切换用户

3.1.3 用户授权

3.2 用户组操作

3.3 文件权限

3.3.1 文件权限详解

3.3.2 文件权限的修改


三. 用户和权限

3.1 用户操作

        注意:在Linux系统中,如果要对用户进行操作,需要在超级管理员root用户下进行。

3.1.1 添加用户和删除用户

        在Linux系统中,添加用户的命令格式为:useradd 用户名 [-g 组名],[]中的内容表示可以省略,如果在添加用户的时候没有指定所属组,则默认自动生成了一个以此用户名命名的组,执行此命令后,默认在/home目录下创建了一个以用户名命名的文件夹,此文件夹就是对应用户的家目录。

        在Linux系统中,删除用户的命令格式为:userdel [-r] 用户名,注意:如果不加-r选项,那么在用户被删除后,它的家目录依然存在,此外,如果用户所属组是添加用户的时候默认自动生成的,那么删除该用户后,其所对应的组也会自动删除。

        我们可以使用命令:cat /etc/passwd,来查看所有用户信息, 使用该命令后部分显示信息如下:

        显示信息各部分的含义为:用户名:密码(显示为x):用户ID:组ID:描述信息:HOME目录:执行终端(默认bash)。

        此外,我们还可以使用快捷命令:getent passwd来查看所有用户信息。

        我们可以使用命令:passwd 用户名,来为普通用户添加密码。

3.1.2 切换用户

        在Linux系统中,我们可以使用命令:su [-] 用户名,来完成切换用户的操作,su的英文全拼为Switch User即切换用户的意思,用户名表示要切换到的用户,如果省略用户名则表示切换到root账户。

        该命令中的 - 符号是一个可添加的选项,如果不带 - 表示仅切换用户,不改变当前环境变量;如果带 - 表示切换用户的同时切换环境变量,使新用户具有与登录该用户时相同的环境设置,添加该选项能够避免因环境变量不同而导致的问题,此外,我们可以通过exit命令或者快捷键ctrl + d退回到上一个用户。

        注意:如果使用普通用户切换到其它用户时,需要输入密码,而如果使用root用户切换到其它用户,则无需输入密码,可以直接进行切换。

3.1.3 用户授权

        在某些情况下,我们需要在普通用户下使用root权限,此时我们需要使用root用户如何给普通用户进行授权,而普通用户在申请到root权限后,就使用"sudo 命令"的格式来使用root权限,具体的步骤如下:
        1. root用户下打开sudoers文件,使用命令:vi /etc/sudoers,进入到/etc/sudoers,或者使用快捷命令:visudo,进入到/etc/sudoers。

        2. 在文件最后添加如下格式的内容并保存:

        普通用户名    ALL=(ALL)    NOPASSWD:ALL

        3. 在普通用户下临时使用root权限,命令格式为:sudo 其他命令, 注意:即使root用户完成了root授权,普通用户在使用有root权限的命令时如果没有添加sudo,依然会显示权限不够。

3.2 用户组操作

        在Linux系统中,我们可以使用命令:groupadd 组名,进行添加用户组的操作。

        在Linux系统中,我们可以使用命令:groupdel 组名,进行删除用户组的操作。

        在Linux系统中,我们可以使用命令:cat /etc/group或者快捷命令:getent group,来查看所有的用户组,使用该命令后部分显示信息如下:

        显示信息各部分的含义为:组名称:组认证(显示为x):组ID。

        在Linux系统中,我们可以使用命令:chgrp 组名 指定文件/目录路径,来修改文件/目录的所属组。如果需要同时修改文件/目录的所属用户和所属组则可以使用如下命令:

        chown 用户名:组名 指定文件/目录路径,注意,如果使用该命令时不添加:组名则默认只修改所属用户,示例:chown 用户名 指定文件/目录路径;如果使用该命令时不添加组名则默认修改所属用户,并将文件/目录的所属组修改为所属用户的所属组,示例:chown 用户名: 指定文件/目录路径;如果使用该命令时不添加用户名则默认修改只所属组,示例:chown :组名 指定文件/目录路径。

3.3 文件权限

3.3.1 文件权限详解

        在Linux系统中,我们可以使用ll命令来查看文件的详细信息,使用该命令后,部分显示如下:

        显示信息各部分的含义为:权限  硬链接数  所属用户  所属用户组  文件大小  文件的最后修改日期  文件名或软链接名。

        显示信息中的第一项即为文件的权限,该权限由10位字符组成,详解如下图:

3.3.2 文件权限的修改

        在Linux系统中,文件权限的修改主要有以下三种方式:        

        方式1:我们可以使用命令:chmod [-R] u=rwx,g=rwx,o=rwx 文件/目录,以符号的方式来进行文件权限的修改操作,-R选项表示对该目录下的全部内容应用同样的操作

        方式2:我们可以使用命令:chmod [-R] +rwx 文件/目录,以更为简洁的方式来给u所属用户、g所属用户组、o其他用户都加上相对应的权限,注意:使用此方式时,w写权限只能给u所属用户加上,g所属用户组和o其他用户的w写权限无法使用该方式添加。

        方式3:由于权限r、w、e、-都可以使用相对应的数字即4、2、1、0来表示,所以我们可以使用命令:chmod [-R] 777 文件/目录,以数字方式来进行文件权限的修改操作。

标签:文件,用户名,入门,用户,命令,Linux,权限
From: https://blog.csdn.net/2401_86480334/article/details/144428417

相关文章

  • 腾讯通RTX升级方案,解决不兼容Linux系统及移动端的问题
    一、腾讯通RTX继续使用面临的主要难题随着腾讯通RTX停止更新并下架官网,用户失去了官方支持和资源下载,同时还暴露出以下无法克服的局限性:●不兼容国产系统与移动端:腾讯通RTX仅支持Windows和Mac系统,无法在基于Linux内核的国产操作系统(如银河麒麟、统信UOS)以及移动设备上正常运行......
  • web安全学习路线(非常详细),零基础入门到精通,看这一篇就够了
    1.学习基本的Web开发知识在学习Web安全之前,了解基本的Web开发知识是非常重要的。Web开发通常涉及HTML、CSS和JavaScript等技术。这些技术可以帮助您理解Web应用程序的结构和工作原理。此外,了解Web服务器和客户端之间的通信过程也有助于您更好地理解Web安......
  • web安全攻防入门教程
    Web安全攻防入门教程Web安全攻防是指在Web应用程序的开发、部署和运行过程中,保护Web应用免受攻击和恶意行为的技术与策略。这个领域不仅涉及防御措施的实现,还包括通过渗透测试、漏洞挖掘和模拟攻击来识别潜在的安全问题。本教程将带你入门Web安全攻防的基础概念、常见攻击类......
  • (三)Springboot + vue + 达梦数据库构建RBAC权限模型前后端分离脚手架保姆级教程(前端项
    XX后台管理系统1.技术选型与环境要求1.1项目技术选型1.1.1前端技术HTML5CSS3lavaScriptVueElementUI1.1.2后端技术SpringBootMyBatisPlusSpringSecurityjwtDM81.2项目环境要求1.2.1前端环境要求node.jsVSCodegit1.2.2后端环境要求jdk8+maven......
  • Springboot + vue + 达梦数据库构建RBAC权限模型前后端分离脚手架
    用户登录 系统首页 用户列表 添加用户 修改用户 角色列表 添加角色 修改角色 ......
  • vscode+wsl Windows和Linux之间的文件同步
    vscode+wslWindows和Linux之间的文件同步创建VSCode任务配置文件运行任务创建VSCode任务配置文件在项目目录下创建或编辑.vscode/tasks.json配置文件//tasks.json{"version":"2.0.0","tasks":[{"label":"SyncWSLtoWindows",......
  • Nexpose 7.1.0 for Linux & Windows - 漏洞扫描
    Nexpose7.1.0forLinux&Windows-漏洞扫描Rapid7on-premVulnerabilityManagement,releasedDec11,2024请访问原文链接:https://sysin.org/blog/nexpose-7/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgNexposeVulnerabilityScanner您的本地漏洞扫描......
  • 前端的 Python 入门指南(七):异步场景的实现方案对比 - 内置+显示事件循环 + async+await
    《前端的Python入门指南》系列文章:(一):常用语法和关键字对比(二):函数的定义、参数、作用域对比(三):数据类型对比-彻底的一切皆对象实现和包装对象异同(四):参数传递方式对比-值与引用传递vs可变不可变数据(五):面向对象特性之继承实现的方式对比-基于原型链和基于类各有什么......
  • Java入门--分支结构
    Java入门1、if...else完成一个判断学员成绩等级的小程序:你编写的程序要能根据不同的分数输出不同的等级,规则如下:85-100分:优,非常棒!85分以下:良,下次加油!输出结果如下:请输入学员成绩:91优,非常棒!请输入学员成绩:70良,下次加油!以下是代码:importjava.util.Scanner;pub......
  • 《Pytorch 最全入门介绍,Pytorch入门看这一篇就够了》学习
    Pytorch最全入门介绍,Pytorch入门看这一篇就够了https://www.cnblogs.com/xfuture/p/17593872.html#5.1数据加载和预处理#首先,我们需要加载数据并进行预处理。我们将使用torchvision包来下载CIFAR10数据集,并使用transforms模块来对数据进行预处理。importtorchfromtor......