Linux下更改文件权限[通俗易懂]

Linux下更改文件权限[通俗易懂]目录查看文件权限修改文件权限查看文件权限查看文件权限可以通过ls-l命令查看,如下所示:如果只想查看某一个文件的权限,可以使用grep,如下所示:可以发现,每一个文件的第一个字段都是由r、w、x等10个字符构成,这10个字符所组成的字符串反映了文件的权限。在linux下,文件权限分为三种:可读权限(read)、可写权限(write)以及可执行权限(execut…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目录

查看文件权限

修改文件权限


查看文件权限

查看文件权限可以通过ls -l命令查看,如下所示:

Linux下更改文件权限[通俗易懂]

如果只想查看某一个文件的权限,可以使用grep,如下所示:

Linux下更改文件权限[通俗易懂]

可以发现,每一个文件的第一个字段都是由r、w、x等10个字符构成,这10个字符所组成的字符串反映了文件的权限。

在linux下,文件权限分为三种:可读权限(read)、可写权限(write)以及可执行权限(execute),三者分别对应的字符为r、w和x;

除此之外,文件权限身份也分三种:文件所有者(user)、文件所有者所在组(group)以及其他(others),这里所说的“其他”,就是指的非文件所有者及其所在组的用户。在上述查询结果中的第3个字段和第4个字段分别反映了该文件的所有者以及文件所有者所在组。

现在再来说说如何通过每个文件第一个字段中的字符串来了解文件的权限。

整个10个字符分为以下4个部分:

①第1个字符。描述文件\目录 类型,如果为‘-’则表示这是一个文件,如果为’d’表示这是一个目录

②第2~4个字符。这3个字符为一组,按照顺序描述了文件所有者对该文件的可读、可写和可执行权限

②第5~7个字符。这3个字符为一组,按照顺序描述了文件所有者所在组对该文件的可读、可写和可执行权限

②第8~10个字符。这3个字符为一组,按照顺序描述了其他身份对该文件的可读、可写和可执行权限

也就是说,第1个字符反映了文件类型,后面9个字符每3个字符为一组,分别反映了文件所有者、文件所有者所在组和其他身份对该文件的可读、可写和可执行权限,如果为‘r’表示可读,为’w’表示可写,为’x’表示可执行,为’-‘表示无相应权限。

以上面的client.cpp为例,第一个字段为”-rw-rw-r–“,它的含义表示:这是个文件(非目录),文件所有者可以进行读和写但是不能执行(对应“rw-”),文件所有者所在组可以进行读和写但是不能执行(对应“rw-”),其他身份可读但不可写也不可执行(对应“r–”)

修改文件权限

修改文件权限使用chmod指令。该指令常用的有两种使用方式:

1.chmod abc filename

指令中的a、b、c分别表示一个数字,其中a对应文件所有者权限,b对应文件所有者所在组权限,c对应其他身份权限。

对于a、b、c各自来讲,它们都是0~7的数字,对应r、w、x三个二进制位按序组成的二进制数,举个例子,如果是只可读,对应的二进制数就是“100”,也就是4;如果是可读可写不可执行,那么对应二进制数为“110”,也就是6……

再举个最常见的chmod 777 xxxx指令,这里有3个7,但是每个7的含义是不同的。7的二进制形式为111,表示可读可写可执行,第1个7表示文件对于文件所有者来说可读可写可执行;第2个7表示文件对于文件所有者所在组来说可读可写可执行;第3个7表示文件对于其他身份的用户来说可读可写可执行。也就是说,通过chmod 777,文件就没有了读写执行权限限制了。

如果我要将上述client.cpp文件权限改为“文件所有者可读可写可执行,其余身份只可读”,那么就可以使用如下指令:

chmod 744 client.cpp

Linux下更改文件权限[通俗易懂]

2.chmod u/g/o/a    +/-    r/w/x   filename

该指令除了chmod和filename之外,还有三个部分:

①描述文件权限身份。u表示文件所有者、g表示文件所有者所在组、o表示其他用户、a表示三者全部。可以搭配使用,如ug表示文件所有者及其所在组;

②指定权限配置行为。‘+’表示添加权限,‘-’表示删除权限;

③权限类型。分别对于可读可写可执行。

举个例子,通过chmod的第一种方式,我已经将client.cpp的权限改为“文件所有者可读可写可执行,其余身份只可读”,如果我现在想删除文件所有者的可执行权限(u -x),增加文件所有者所在组和其他身份的可写和可执行权限(go +wx),就可以使用如下指令:

chmod u-x,go+wx client.cpp

Linux下更改文件权限[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164470.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 读取与修改其他程序的数据Read/WriteProcessMemory[通俗易懂]

    读取与修改其他程序的数据Read/WriteProcessMemory[通俗易懂]要修改或读取其他进程的数据,首先要知道几个知识:一、1.windows系统为每个程序分配4GB的虚拟内存,虚拟内存由“页文件”实现。     2.每个程序的4GB空间的前2GB是程序的私有空间,后2GB是系统的空间。     3.每个页文件4KB。     4.在程序私有的2GB中,windows98系列的系统的程序的可用地址为4MB–2GB

    2022年9月13日
    0
  • java中Scanner类用法的详解[通俗易懂]

    java中Scanner类用法的详解[通俗易懂] 一  java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。首先要导入包  import java.util.Scanner;Scanner类的创建对象:   Scanner S=newScanner(System.in);   方法基本格式  hasNextXxx()  判断是否还有下一个输入项,其中Xxx可以是Int,…

    2022年7月7日
    20
  • apache配置基于域名访问

    apache配置基于域名访问编辑配置文件,注释掉directory文件,一共四个vim/etc/httpd/conf/httpd.conf然后保存退出检查一下httpd配置文件,ok正常创建虚拟主机,编辑文件路径/etc/httpd/conf.d/a123.confcd/etc/httpd/conf.dvia123.conf然后在a123.conf文件里加入这些东西可直接复制进去其中80是端口DocumentRoot/mnt/z里的/mnt/z是默认主页1.yao.com是域名(如何在主

    2022年7月14日
    10
  • java 添加 psd_psd缩略图生成上传解决方案「建议收藏」

    java 添加 psd_psd缩略图生成上传解决方案「建议收藏」第一点:Java代码实现文件上传FormFilefile=manform.getFile();StringnewfileName=null;Stringnewpathname=null;StringfileAddre=”/numUp”;try{InputStreamstream=file.getInputStream();//把文件读入StringfilePath=r…

    2022年6月11日
    48
  • ICE的服务器对象实现「建议收藏」

    ICE的服务器对象实现「建议收藏」1、需要增加一个类继承至生成的接口类,并实现接口类的虚方法。2、创建实现类的对象3、调用adpater的add方法将创建的对象绑定到adapter中,并传入一个全局唯一标示符,该唯一标示可以通过如下方法生成:  adapter->add(hello,communicator()->stringToIdentity(“hello”));  adapter->addWithUUI

    2022年5月27日
    32
  • H2 数据库入门和基本使用「建议收藏」

    H2 数据库入门和基本使用「建议收藏」1、下载安装包H2官网:http://h2database.com/html/main.html2、安装H2数据库选择安装目录->点击下一步->安装->完成

    2022年10月12日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号