linux命令--基本权限命令
一、权限介绍
使用ls命令查看时,发现长格式显示的第一列就是文件的权限

权限位一共有 10 位,这 10 位权限位的含义如下图所示。

- 第 1 位代表文件类型。Linux 不像 Windows 使用扩展名表示文件类型,而是使用权限位的第 1 位表示文件类型。虽然 Linux 文件的种类不像 Windows 中那么多,但是分类也不少,详细情况 可以使用“info ls”命令查看。
“-”:普通文件。
“b”:块设备文件。这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1 就是这种文件。
“c”:字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘 等。
“d”:目录文件。Linux 中一切皆文件,所以目录也是文件的一种。
“l”:软链接文件。
“p”:管道符文件。这是一种非常少见的特殊设备文件。
“s”:套接字文件。这也是一种特殊设备文件,一些服务支持 Socket 访问,就会产生这样的文件。
如果有字母,则代表拥有对应的权限;如果是“-”,则代表没有对应的权限。
- 第 2~4 位代表文件所有者的权限
r:代表 read,是读取权限。
w:代表 write,是写权限。
x:代表 execute,是执行权限 - 第 5~7 位代表文件所属组的权限,同样拥有“rx”权限。
- 第 8~10 位代表其他人的权限,同样拥有“rx”权限
二、基本权限命令。
1、chmod,修改权限的命令 。
命令名称:chmod。
英文原意:change file mode bits。
所在路径:/bin/chmod。
执行权限:所有用户。
功能描述:修改文件的权限模式
1.1、命令格式
chmod 选项 命令模式 文件...
-R: 递归设置权限,也就是给子目录中的所有文件设定权限
1.2、权限模式
chmod 命令的权限模式的格式是“[ugoa][[+-=][perms]]”,也就是“[用户身份][[赋予方式][权限]]” 的格式。
用户身份。
- u:代表所有者(user)。
- g:代表所属组(group)。
- o:代表其他人(other)。
- a:代表全部身份(all)。
赋予方式。
- +:加入权限。
- -:减去权限。
- =:设置权限。
权限。
- r:读取权限(read)。
- w:写权限(write)。
- x:执行权限(execute)。
例如
chmod o-w a.txt
#把a.txt针对其他人写权限移除。
1.3、数字权限
数字权限的赋予方式是最简单的,但是不如之前的字母权限好记、直观。
4:代表“r”权限。
2:代表“w”权限。
1:代表“x”权限。
例如
chmod 644 a.txt
# 为a.txt 设置 rw-r--r-- 权限
1.4.常用权限
数字权限的赋予方式更加简单,但是需要用户对这几个数字更加熟悉。其实常用权限也并不多,只有如下几个。
- 644:这是文件的基本权限,代表所有者拥有读、写权限,而所属组和其他人拥有只读权限。
- 755:这是文件的执行权限和目录的基本权限,代表所有者拥有读、写和执行权限,而所属组和其他人拥有读和执行权限。
- 777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这会造成一定的安全隐患。
三、基本权限的作用
3.1、权限含义的解释 首先,读、写、执行权限对文件和目录的作用是不同的
权限对文件的作用。
- 读(r):对文件有读(r)权限,代表可以读取文件中的数据。如果把权限对应到命令上,那么一旦对文件有读(r)权限,就可以对文件执行 cat、more、less、head、tail 等文件查看命令。
- 写(w):对文件有写(w)权限,代表可以修改文件中的数据。如果把权限对应到命令上,那么一旦对文件有写(w)权限,就可以对文件执行 vim、echo 等修改文件数据的命令。注 意:对文件有写权限,是不能删除文件本身的,只能修改文件中的数据。如果要想删除文件, 则需要对文件的上级目录拥有写权限。
- 执行(x):对文件有执行(x)权限,代表文件拥有了执行权限,可以运行。在 Linux 中,只要文件有执行(x)权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行, 不仅需要执行(x)权限,还要看文件中的代码是不是正确的语言代码。对文件来说,执行(x)权限是最高权限。
权限对目录的作用。
- 读(r):对目录有读(r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。如果把权限对应到命令上,那么一旦对目录拥有了读(r)权限,就可 以在目录下执行 ls 命令,查看目录下的内容了。
- 写(w):对目录有写(r)权限,代表可以修改目录下的数据,也就是可以在目录中新建、 删除、复制、剪切子文件或子目录。如果把权限对应到命令上,那么一旦对目录拥有了写(w) 权限,就可以在目录下执行 touch、rm、cp、mv 命令。对目录来说,写(w)权限是最高权限。
- 执行(x):目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入目录。如果 把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就可以对目录执行 cd 命令,进入目录。
3.2、目录的可用权限 目录的可用权限其实只有以下几个。
- 0:任何权限都不赋予。
- 5:基本的目录浏览和进入权限。
- 7:完全权限。
四、所有者和所属组命令
4.1、chown 命令
chown 是修改文件和目录的所有者和所属组的命令,
命令名称:chown。
英文原意:change file owner and group。
所在路径:/bin/chown。
执行权限:所有用户。
功能描述:修改文件和目录的所有者和所属组。
命令格式
[root@love2 ~]# chown [选项] 所有者:所属组 文件或目录
-R: 递归设置权限,也就是给子目录中的所有文件设置权限
4.2.chgrp 命令 chgrp 是修改文件和目录的所属组的命令
命令名称:chgrp。
英文原意:change group ownership。
所在路径:/bin/chgrp。
执行权限:所有用户。
功能描述:修改文件和目录的所属组
命令格式
[root@love2 ~]# chgrp [选项] 组名 文件或目录
-R: 递归设置权限,也就是给子目录中的所有文件设置权限
五、umask 默认权限
当我们登录系统之后创建一个文件或者目录总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反 。
5.1查看umask权限。
# 用八进制数值显示 umask权限
[root@love2 ~]# umask
0022
# 用字母表示文件和目录的初始权限
[root@love2 ~]# umask -S
u=rwx,g=rx,o=rx
#设置umask值
umask 033
5.2 umask 权限的计算方法 我们需要先了解一下新建文件和目录的默认最大权限。
对文件来讲,新建文件的默认最大权限是 666,没有执行(x)权限。这是因为执行权限对文件 来讲比较危险,不能在新建文件的时候默认赋予,而必须通过用户手工赋予
对目录来讲,新建目录的默认最大权限是 777。这是因为对目录而言,执行(x)权限仅仅代表 进入目录,所以即使建立新文件时直接默认赋予,也没有什么危险。
按照官方的标准算法,umask 默认权限需要使用二进制进行逻辑与和逻辑非联合运算才可以得到正确的新建文件和目录的默认权限。这种方法既不好计算,也不好理解,
所以这里还是按照权限字母来讲解 umask 权限的计算方法。我们就按照默认的 umask 值是 022 来分别计算一下新建文件和目录的默认权限吧。文件的默认权限最大只能是 666,而 umask 的值是 022
“-rw-rw-rw-”减去 “-----w--w-”等于“-rw-r--r—”目录的默认权限最大可以是 777,而 umask 的值是 022
“drwxrwxrwx”减去“d----w--w-”等于“drwx-r-xr-x”
注意:umask 默认权限的计算绝不是数字直接相减。
例如 umask 是 033
- 文件的默认权限最大只能是 666,而 umask 的值是 033
“-rw-rw-rw-”减去“-----wx-wx”等于“-rw-r--r—” - 目录的默认权限最大可以是 777,而 umask 的值是 033
“drwxrwxrwx”减去“d----wx-wx”等于“drwx-r--r--”
linux命令--基本权限命令的更多相关文章
- linux修改文件权限命令
先看个实例: [root@local opt]#ls -al ls -al 命令是列出目录的所有文件,包括隐藏文件.隐藏文件的文件名第一个字符为'.' -rw-r--r-- 1 root root ...
- 05004_Linux的其他命令和权限命令
1.其他命令 (1)显示当前所在位置 命令:pwd (2)搜索命令 a.命令:grep 要搜索的字符串 要搜索的文件 示例:搜索/etc/sudu.conf文件中包含字符串to的行 b.搜索/etc/ ...
- linux 中更改权限命令chown,chmod,chgrp
写在前面,关于chown,chmod的区别 chown用法 用来更改某个目录或文件的用户名和用户组的 chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径) 例1:chown root: ...
- Linux常用文件权限命令详解
pwd pwd命令用于获取当前工作目录的绝对路径. 使用示例: pwd 效果如下图: cd cd命令用于切换工作目录. 使用示例: cd 万猫学社/ 效果如下图: 其中在路径表示时, 一个半角句号(. ...
- Linux更改文件权限命令
chmod命令 1.格式:chmod [-cfvR][--help][--version]mode file 2.参数 1)必要参数 -c 当发送改变时,报告处理信息 -f 错误信息不输出 -R 处理 ...
- linux修改文件权限命令(chmod)
chmod命令是用于改变文件或目录的访问权限.用户用它控制文件或目录的访问权限. 该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. 1.文字设定法 chmod ...
- linux 更改文件权限命令 chmod
chmod -change file mode bits :更改文件权限 chmod是用来改变文件或者目录权限的命令,但只有文件的属主和超级用户(root)才有这种权限. 更改文件权限的2种方式: 一 ...
- Linux 查看文件权限命令ls -l 输出信息每列所代表的含义
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
随机推荐
- 5个点彻底搞清楚SpringBoot注解
作者:张伯毅 一.注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan.@Configuration和@EnableAutoConfig ...
- 3个Spring Boot项目调优的方式
前言 作为一名工程师,项目调优这事,是必须得熟练掌握的事情. 在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行. 一.修改配置文件 关于修改配置文件applicati ...
- 从多核CPU Cache一致性的应用到分布式系统一致性的概念迁移
概述 现代多核CPU的cache模型基本都跟下图1所示一样,L1 L2 cache是每个核独占的,只有L3是共享的,当多个cpu读.写同一个变量时,就需要在多个cpu的cache之间同步数据,跟分布式 ...
- mybatis源码学习(二)--mybatis+spring源码学习
这篇笔记主要来就,mybatis是如何利用spring的扩展点来实现和spring的整合 1.mybatis和spring整合之后,我们就不需要使用sqlSession.selectOne()这种方式 ...
- 【AHOI 2013】差异
Problem Description 给定一个长度为 \(n\) 的字符串 \(S\),令 \(T_i\) 表示它从第 \(i\) 个字符开始的后缀.求 \(\sum_{1\leqslant i&l ...
- git中的SSL certificate problem: unable to get local issuer certificate错误的解决办法
我们在使用git初始化一个项目时,尤其是通过git submodule update --init --remote初始化子模块时,可能会遇到下面这个错误: fatal: unable to acce ...
- ElasticSearch - 遐想
众所周知,ElasticSearch 存在一个问题,无法查询最近 1s 的写入.近实时这个属性,限制了其在某些场景的应用.本文记录了我在日常工作中想到的,解决特定场景的一些方案.既然是记录,便会有好有 ...
- 微信小程序之启动页的重要性
启动页在APP中是个很常见的需求,为什么对于小程序来说也非常重要呢?首先我描述一下我在开发过程中遇到的一些问题以及解决的步骤,到最后为什么要加启动页,看完你就明白了. 小程序的首页需要展示用户关注的小 ...
- rsync高级同步工具
1.什么是rsync rsync 是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具,rsync软件使用于 unix/linux/windows等多种操作系统平台. 2 ...
- Python中使用class(),面向对象有什么优势
首先我是辣鸡,然后这个问题的确有点意思 首先,类是一个集合,包含了数据,操作描述的一个抽象集合 你可以首先只把类当做一个容器来使用 class Cycle: def __init__(self,r): ...