Linux文件和目录权限:chmod、更改所有者和所属组:chown,umask命令,隐藏权限:lsattr/chattr...

文件和目录权限chmod

 我们使用ls -l可以看到文件的详细信息,也知道第一列的第一个符号(字母)表示文件的类型,在表示文件的类型符号的后面的九个符号则表示的是文件的权限,这些权限和文件的所有者和所属组都有关系:

wKiom1ngdLiyMdQUAAIS7OzdPNk378.png

wKioL1ngcgOTsYeNAAMooKQ-bgY354.png

wKiom1ngdLuguxlAAAK79h_9jjs856.png

wKioL1ngcgbjqnmZAANfHGLPO7Y993.png

wKioL1ngcgiifOJoAALIWQlU_8A081.png


文件权限有三个属性:是否可读用r表示、是否可写用w表示、是否可执行用x表示。

权限可以用数字表示,r=4w=2x=1-=0rwx=(r+w+x=7rw-=(r+w+-)=6

所以一个权限可以用数字这么表示:

wKiom1ngdL-wcucvAAGEJZ8YNUk113.png

wKioL1ngcgnieWyGAAJs3KA8YeU459.png



chmod命令:

   chmodchange mode的缩写,mode就是权限的意思,此命令可以修改权限,下面我们将a.txt的权限改为rwx,用数字表示就是700

wKiom1ngdMHQUTqIAASaWFFjMV8900.png


我们会发现文件的第一列除了表示文件类型符号,和表示权限符号之外还有一个 . 字符,这个点 表示的意义是此文件受制于selinux防火墙,只有修改配置文件永久关闭selinux防火墙之后,新创建的文件就不会带有这个 了:

wKioL1ngcgzBZCsQAAFLCNVKq5w846.png


  使用chmod 命令更改目录权限的时候,只会更改目标目录本身,目标目录下的子目录权限不会随着更改。chmod -R命令则是可以批量更改目标目录和下目标目录的子目录权限,这就是-R选项的作用:

wKiom1ngdMahRVpcAAbZ8CAeZXM203.png


chmod还有更直观的用法,可以不用数字表示,可以直接用权限字符表示,u表示所有者,g表示所属组,o表示其他用户:

wKiom1ngdMeBaW61AAN7QfF1JqY000.png


chmod还有一种用法,chmod a+x 这个a表示全部,x则是权限符号,使用此命令能让此目录的所有者、所属组和其他用户都拥有x权限:

wKioL1ngchKw5epJAAMGonCICy0361.png


chmod a-x则效果相反,可以把x命令全部去掉:

wKioL1ngchOBUsZCAAMBT-CUv7U974.png

  除此之外还可以使用chmod u-xchmod g-xchmod o-xchmod u+xchmod +xchmod o+x


更改所有者和所属组chown

  chownchange owner的缩写,此命令可以更改文件的所有者和所属组,passwd文件里可以查看系统有哪些用户:

wKiom1ngdMyAomUNAAdJWFur8VM226.png


更改某个文件的所有者:

wKioL1ngchfTows5AALjI9JIcn8058.png


  chown命令同时更改用户和所属组的用法:chown 用户:组 文件,需要在中间用冒隔开:

wKiom1ngdM6yi73zAAM7vLabTpo112.png


chown命令更改所属组的用法:chown  :组 文件,用户名不写即可:

wKioL1ngchjC4yaeAAMHK0maR6M582.png


chown命令加了-R选项后,目标目录的子目录和文件的用户和所属组都会随着目标目录更改:

wKiom1ngdNCy6NapAAVJHAywpkM005.png


chgrpchange group的缩写,此命令可以更改某个文件所属组:

wKioL1ngchyhapB2AANpt14_5T4330.png



umask命令:

  在创建了文件和目录后,会发现文件的默认权限是644,而目录默认权限是755,系统有个概念叫umask,运行这个umask命令能看到用户的umask值,通过这个值就可以确定文件和目录的默认权限是什么:

wKiom1ngdNSC53qCAAUG5EFFSrc694.png

wKiom1ngdNTAGrRhAAEf0w91OeU201.png


  更改umask值就可以更改文件和目录的默认权限,更改了umask值就能发现文件和目录的默认权限和之前不一样了:

wKioL1ngcnuw41-qAAER_8m7YO0288.png

wKiom1ngdTKA33pwAARcjR4Td0Y959.png


更改了umask值为0002后(一般看作002),文件的默认权限变成了664,目录默认权限变成了775。因为目录是必须有权限的,不然无法进入、打开目录,这其中是有规律可循的。

umask值为偶数的计算公式:

777 - umask值 目录的默认权限

666 - umask值 文件的默认权限

例如:

wKioL1ngcnzhB3paAACbPtzD0X4719.png


umask值为奇数的计算公式:

umask值为奇数的情况要一位一位的减,的值为0,不能使用偶数的计算方式计算:

wKiom1ngdTOwH5vqAAHwdU8r238354.png


隐藏权限lsattr/chattr

  chattr是设置隐藏权限的命令,例如把123.txt修改一下:

wKiom1ngdTSxnQ5TAADNvllZ_O4173.png

wKioL1ngcn2DcRLTAAD3zKKk0yg392.png


  修改完后编辑一下这个文件,会发现有个红字提示说你正在更改只读文件。即便是编写了内容想要保存退出或者强制保存退出也是不能成功的:

wKiom1ngdTbT-r6WAAT5_K4N6hI890.png


这时候查看这个文件的详情也会发现没有写入权限:

wKioL1ngcoDTnSH2AAE1GQz-70o543.png


lsattr命令就是用来查看这种文件的权限的:

wKioL1ngcoGieAgEAADdJl6XN7Y106.png


这个i权限不仅不能编辑这个文件,而且删除和重命名还有创建也不可以。

减掉i权限要使用chattr -i命令:

wKiom1ngdTfwGD_AAAEiIUFVgLo146.png


  除了i权限之外还有一个常用的权限是a权限,这个权限只能追加和创建,不能删除、重命名还有不能更改文件内容:

wKiom1ngdTjz2OUpAAETZ8ohMyQ584.png


同样的-a可以减掉a权限:

wKioL1ngcoLQOB1aAAEZme54NXw271.png


lsattr只能查看目标目录的子目录,要加-d选项才能查看目标目录本身:

wKiom1ngdTmzvK14AAHqf8cVNTU595.png


  使用chattr 命令给一个目录加上i权限的话,那么此目录下的子目录和文件都不能删除和重命名,当然创建文件或目录也不可以,但是里面的文件内容可以编辑、追加:

wKioL1ngcoSxUSa5AAId7uAgh6A427.png


使用chattr 命令给一个目录加上a权限的话,此目录下的子目录和文件都不能删除和重命名,但是创建目录和文件是可以的,同样的里面的文件内容可以编辑、追加:

wKioL1ngcoXheQmaAAOS0EZ5-ZI283.png


lsattr-R选项可以查看到所有的目录下的多层子目录:

wKiom1ngdT6gzMfDAAUcZcyt-Ec332.png


lsattr-a可以看到隐藏文件:

wKioL1ngcojxFfNuAAHnrBGYccw553.png







本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1972123,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【技术累积】【点】【java】【27】@JSONField

JSONField 该注解隶属于阿里fastjson,方便fastjson处理对象时的一些操作 源码 Retention(RetentionPolicy.RUNTIME) Target({ ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER }) public interface JSONField {/*** config encode/decode ordinal* s…

百度php editor图片上传到其他盘,百度编辑器Editor图片独立上传

将百度编辑器中的图片独立出来上传:html:代码var myEditorImage,d,myEditorImage new UE.ui.Editor();myEditorImage.render(uploadid);myEditorImage.ready(function(){myEditorImage.setDisabled();myEditorImage.hide();//隐藏UE框体myEditorImage.addListener(…

感谢支持,超预期重印并加码

今天,要向广大读者朋友带来一个,连我自己和出版社都感到十分意外的好消息,几天前接到出版社的通知,说今年元月出版的《Cisco/H3C交换机配置与管理完全手册》(第二版)马上就要下单重印了,而且一下…

如何从手机远程控制uTorrent

You’re a geek on the go and it’s important to keep tabs on your torrents when you’re away from home. Today we take a peak at how you can monitor, manage, and even start your torrent downloads when you’re away from your computer. 您是旅途中的怪胎&#x…

洛谷P2463 Sandy的卡片【后缀数组】【二分】

题目描述 Sandy和Sue的热衷于收集干脆面中的卡片。 然而,Sue收集卡片是因为卡片上漂亮的人物形象,而Sandy则是为了积攒卡片兑换超炫的人物模型。 每一张卡片都由一些数字进行标记,第i张卡片的序列长度为Mi,要想兑换人物模型&#…

php获取一个文件名的函数,PHP 文件系统函数之获取文件名及文件名后缀-php文件...

获取文件名(包含扩展):1.用PHP 文件函数 basename获取例:$filename "/home/httpd/html/index.php";$file basename($filename);2.先获取位置再获取文件名例:$filename "/home/httpd/html/index.php";$pos strrpos($filename, /);if ($pos …

tasker使用手册_如何开始使用Tasker调整Android手机

tasker使用手册Tasker is a powerful app for Android that lets you customize how your phone works and automate tasks. Unfortunately, it’s got a bit of a learning curve. We’re here to show you how to get started and turn your phone into a flashlight in the …

iPhone 软件:xlate free 编码的好帮手!

功能菜单: 1 文本 2 二进制 3 Char 值 4 Base64 5 反向 如果需要把一段中文编码请选择UTF16,如果是英文就选择UTF8。对于需要经常使用编码切换的朋友是个好帮手。 也可以用来简单加密:我们先在文本状态下输入一段不想让别人知道或需要保密的文…

linkbox php,win10 docker-toolsbox 搭建php开发环境的教程

下载镜像docker pull mysql:5.7docker pull php:7.2-fpmdocker pull nginxdocker pull redis:3.2设置共享文件宿主机创建目录E:\wnmp\mysql57\confE:\wnmp\mysql57\logE:\wnmp\php72\confE:\wnmp\php72\confE:\wnmp\nginx\confE:\wnmp\nginx\confE:\wnmp\wwwvmware设置文件共享…

sublime text3:提示 There are no packages available installation 解决方案

纯属记录,下次能找到解决。 第一步: 在sublime Text3界面按 ctrl 出现一个输入框界面 第二步:在输入框输入: import urllib.request,os,hashlib; h eb2297e1a458f27d836c04bb0cbaf282 d0e7a3098092775ccb37ca9d6b2e4b7d; pf Pa…

如何提取幻灯片表格_如何查看对Google文档,表格或幻灯片文件的最新更改

如何提取幻灯片表格The Google Suite offers you a handy way to view all the changes that have occurred in a file on Google Docs, Sheets, or Slides. This is extremely useful when you’ve made lots of changes to a file or are working as part of a team and need…

[20171130]关于rman的一些总结.txt

[20171130]关于rman的一些总结.txt --//最近一直做rman相关测试,测试那个乱,没办法.无法从周围的人获得帮助,纯粹是自己的乱猜,乱测,不知道别人是否能看懂我写的东西. --//有必要做一些总结,不一定对,仅仅是我当前的看法. 1.数据文件备份集中,文件头是最后写到备份集文件的. 2.…

支付宝红包php,支付宝红包赏金跳转源码,一键复制红包码,裂变推广

[html]代码库支付宝到店红包搜索码跳转推广裂变-引流*{padding:0;margin:0;}.main{overflow: hidden;}a {color:black;}.main img{width:100%;outline-width:0px;vertical-align:top;}.main{position: relative;}.main .copy-container{width: 100%;height: 0.42rem;position: …

apt-get更新软件包_如何使用Apt-fast加速软件包下载和更新

apt-get更新软件包By Default, Ubuntu uses apt-get to install packages and updates. Apt-get is a good tool but you can get much faster download speeds using Apt-Fast when downloading and updating your Ubuntu box. 默认情况下,Ubuntu使用apt-get安装软…

FallbackFactory启动的时候抛出异常

在Hystrix做熔断的时候,开始用的是FallBack,后来为了找出为啥exception,然后就用了FallBackFactory。但是奇怪的是,一起动就抛出异常,真的是百思不得骑姐,错了其解。后来在github上找到了解答:h…

制作首页的显示列表

1. 在首页添加显示问答的列表&#xff0c;并定义好相应的样式。 无序列表 <ul > <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ul> {% block body %}<div class"container"><div class"row clearfi…

php xxtea加密,php - esp32和php XXTEA字符串加密 - SO中文参考 - www.soinside.com

输入具有不同的数据类型可能会导致此问题&#xff0c;因为当前没有任何类型或范围检查的XXTEA实现。或者它可能是由于所涉及的两台计算机的不同端序行为&#xff0c;因为二进制文件通常存储为由字节构造的字数组。或者可能是由于缺少正式加密特定字符串和密钥的官方或标准参考示…

ipad iphone开发_如何在iPad或iPhone上使用外部GPS设备

ipad iphone开发If you bought a Wi-Fi only iPad and now you wish you could use GPS with it, this is the guide for you. Follow along to hook your iPad up to an external GPS unit and/or GPS-enabled smartphone phone. 如果您购买了仅支持Wi-Fi的iPad&#xff0c;现…

jQuery系列(十四):jQuery中的ajax

1、什么是ajax AJAX 异步的javascript和XML&#xff08;Asynchronous Javascript and XML&#xff09; 简言之&#xff0c;在不重载整个网页的情况下&#xff0c;AJAX通过后台加载数据&#xff0c;并在网页上进行显示。 通过 jQuery AJAX 方法&#xff0c;您能够使用 HTTP Get…

flex 布局以及样式

1.Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的灵活性2.任何一个容器都可以用flex布局&#xff08;注意&#xff0c;设为Flex布局以后&#xff0c;子元素的float、clear和vertical-align属性将失效&#xff09; 采用Flex布局的元…