头歌--第1关:Linux文件权限修改(Linux文件/目录高级管理一)
创始人
2025-06-01 22:57:21
0

任务描述

假设系统中存在一个文件File,修改该文件的权限,根据实际需求添加/删除该文件读、写、执行权限,通过本关的学习,我们学会如何让一个文件允许哪些用户访问或禁止哪些用户访问。

本关任务:学会如何修改文件的权限。

相关知识

Linux系统中的每个文件都有访问许可权限,文件的访问权限分为只读,只写和可执行三种。

只读权限表示只允许读其内容,而禁止对其做任何的更改操作。

只写权限表示允许修改文件的内容。

可执行权限表示允许将该文件作为一个程序执行。

每一文件的访问权限都有三组,每组用三位表示,分别为文件所属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。

当用ls -lll命令显示文件的详细信息时,最左边的一列为文件的访问权限。例如显示test文件详细信息:

[请在右侧“命令行”里直接体验]

Linux修改文件权限命令

Linux中使用chmod命令来修改文件权限。

文字设定法具体命令如下:

chmod [who] [+ | - | =] [mode] 文件名

who参数如下:

  • u 表示“用户(user)”,即文件或目录的所有者;
  • g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户;
  • o 表示“其他(others)用户”;
  • a 表示“所有(all)用户”,它是系统默认值。

操作符如下:

  • +:添加某个权限;
  • -:取消某个权限;
  • =:赋予给定权限并取消其他所有权限。

mode参数如下:

  • r 可读;
  • w 可写;
  • x 可执行。

数字设定法具体命令如下:

chmod [mode] 文件名

mode为具体的数字。

首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从07的八进制数,其顺序是ugo

案例演示一:

将文件testFile的所有权限设置为仅读权限,可以使用如下命令:

chmod a=r testFile

[请在右侧“命令行”里直接体验]

案例演示二:

将文件testFile的所有权限设置为可读可写,同组用户权限设置为只读,可以使用如下命令:

chmod u=rw,g=r testFile

[请在右侧“命令行”里直接体验]

案例演示三:

将文件testFile的权限设置为所有者可读可写可执行,同组用户设置为可读可执行,其他用户设置为可读,可以使用如下命令:

chmod 754 testFile

[请在右侧“命令行”里直接体验]

Linux修改所有者权限

linux使用chmod u+/-/=命令来设置文件所有者的权限。

具体命令如下:

chmod u [+ | - | =] [mode] 文件名

操作符如下:

  • +:添加某个权限;
  • -:取消某个权限;
  • =:赋予给定权限并取消其他所有权限。

mode参数如下:

  • r 可读;
  • w 可写;
  • x 可执行。

案例演示一:

将文件testFile的所有者权限设置为仅读权限,可以使用如下命令:

chmod u=r testFile

[请在右侧“命令行”里直接体验]

案例演示二:

给文件testFile的所有者权限添加可执行权限,可以使用如下命令:

chmod u+x testFile

[请在右侧“命令行”里直接体验]

Linux修改同组用户权限

Linux修改同组用户权限的方法与修改所有者的权限大致一样,唯一不同的点是修改同组用户权限采用chmod g而不是采用chmod u

案例演示一:

将文件testFile的同组用户权限设置为仅读权限,可以使用如下命令:

chmod g=r testFile

[请在右侧“命令行”里直接体验]

案例演示二:

给文件testFile的同组用户权限添加可执行权限,可以使用如下命令:

chmod g+x testFile

[请在右侧“命令行”里直接体验]

Linux修改其他用户权限

Linux修改其他组用户权限的方法与修改所有者的权限大致一样,唯一不同的点是修改其他组用户权限采用chmod o而不是采用chmod u

案例演示一:

将文件testFile的其他组用户权限设置为仅读权限,可以使用如下命令:

chmod o=r testFile

[请在右侧“命令行”里直接体验]

案例演示二:

给文件testFile的其他组用户权限添加可执行权限,可以使用如下命令:

chmod o+x testFile

[请在右侧“命令行”里直接体验]

编程要求

根据右侧窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下:

  • 将系统已存在文件oldFile1的所有者权限设置为可执行;
  • 为系统已存在文件oldFile2的同组用户权限删除可写权限;
  • 为系统已存在文件oldFile3的其他组用户权限添加可执行权限;
  • 将系统已存在文件oldFile4的权限设置所有者权限为可读,同组用户权限为可写,其他用户权限为可执行;

测试说明

本平台只需将需要的命令写入到对应的命令填写区域(命令间使用换行分隔)即可,平台会自动读入和执行用户写入的命令,并判断用户输入的命令是否符合要求。

#!/bin/bash#在以下部分写出完成任务的命令
#***********begin*************#
chmod u=x oldFile1
chmod g=rx oldFile2
chmod o+x oldFile3
chmod 421 oldFile4
#************end**************#

上一篇:报名开启 | 共赴一场 Flutter 的春日宴

下一篇:没有了

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...