Linux——常用命令(基本权限)

1、权限位的含义
 目前Llinux的权限位有10位(新版本中有些文件的权限位最后会有个.,表示该文件是受SELinux的保护的),每一位都代表着不同的含义:
在这里插入图片描述
 这10位的含义如下图所描述的:
Linux——常用命令(基本权限)_第1张图片
 第1位:表示文件类型,Linux不像Windows使用扩展名表示文件类型,而是使用权限位的第1位表示。虽然Linux文件的种类不像Windows那么多,但也不少,详细情况可使用"info ls"命令查看,常见的文件类型有:

标识 表示文件类型 说明
- 普通文件
b 块设备文件 这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1
c 字符设备文件 这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等
d 目录文件
l(小写L) 软链接文件
p 管道符文件 这是一种非常少见的特殊设备文件
s 套接字文件 这也是一种特殊设备文件,一些服务支持Socket访问,就会产生这样的文件

 第2-4位:表示文件所有者(用u表示)的权限,有字母则由该权限,为-则表示没有该权限

标识 含义 权限
r read 读取权限
w write 写权限
x execute 执行权限

 第5-7位代表文件所属组(用g表示)的权限,同样用rwx表示
 第8-10位代表其他人(用o表示)的权限,也用rwx表示
2、基本权限命令
 ①chmod:修改文件的权限模式,命令所在路径为/bin/chmod,所有用户可执行
  命令格式:

chmod [选项] 权限模式 文件名

  选项:
    -R:递归设置权限,也就是给子目录中的所有文件设定权限
  权限模式的格式:[ugoa][+ - =][perms],即[用户身份][赋予方式][权限]。
   用户身份:
    u——所有者(user)
    g——所属组(group)
    o——其他人(other)
    a——代表全部(all)
   赋予方式:
    +——加入权限
    -——减去权限
    =——设置权限
  示例1️⃣:表示针对cde这个文件给文件所有者(u)添加执行权限(x)

chmod u+x cde

  示例2️⃣:同时给多个身份添加相应权限,中间用逗号隔开

chmod g+w,o+w cde

  示例3️⃣:去除权限,使用减号

chmod u-x,g-w,o-w cde

3、数字权限
 4:同r,读
 2:同w,写
 1:同x,执行
 示例:755中的第一位7表示给文件所有者赋的权限为4+2+1,即读写执行,同理第二位5表示给所属组赋的权限为4+1,即读和执行,最后一位则是给其他人赋予的权限

chmod 755 cde

 常用数字权限:

数字权限 使用场景 描述
644 文件的基本权限 所有者拥有读、写权限,所属组和其他只读
755 文件的执行权限和目录的基本权限 拥有者读、写和执行,所属组和其他人可读写
777 最大权限 所有人都对该文件拥有读写和执行权限

4、修改所有者和所属组
 ①chown:修改文件和目录的所有者和所属组,命令所在目录为/bin/chown,所有用户可执行
  命令格式:

chown [选项] 所有者:所属组 文件或目录

  选项
   -R:递归设置权限
Tip:普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行;普通用户只可以修改所有者是自己的文件的权限(rwx)
 添加用户:添加用户的时候会创建一个同名的该用户的初始组,即同时会添加一个名为user1的group

useradd user1

 给新加用户设置密码:只有root用户可以在设置密码时忽略Linux的提示

passwd user1

Linux——常用命令(基本权限)_第2张图片
 修改文件所有者:

chown user1 cde

 ②chgrp:修改文件和目录的所属组,命令所在目录/bin/chgrp,所有用户可执行

chgrp user1 cde

 改回所有者和所属组:

chown root:root cde

5、权限含义的解释
 首先,读、写、执行权限对文件和目录的作用是不同的。
  权限对文件的作用:
   读(r):对文件有读权限,代表可以读取文件中的数据。如果把权限对应到命令上,那么一旦对文件有读权限,就可以对文件执行cat、more、less、head、tail等文件查看命令。
   写(w):对文件有写权限,代表可以修改文件中的数据。如果把权限对应到命令上,那么一旦对文件有写权限,就可以对文件执行vim、echo等修改文件数据的命令。注意:对文件有写权限并不能删除文件本身,只能修改文件中的数据;如果想删除文件,则需要对文件的上级目录拥有写权限。
   执行(x):对文件有执行权限,代表文件可以运行。在Linux中,只要文件有执行权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行,不仅需要执行权限,还要看文件中的代码是不是正确。对文件来说,执行权限是最高权限。
  权限对目录的作用:
   读(r):对目录有读权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些文件和子目录。如果把权限对应到命令上,那么一旦对目录有了读权限,就可以在目录下执行ls命令,查看目录下的内容。
   写(w):对目录有写权限,代表可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪切子文件或子目录。对应到命令上,就可以在目录下执行touch、rm、cp、mv命令。对目录来说,写权限是最高权限。
   执行(x):目录是不能运行的,那么对目录拥有执行权限,代表可以进入目录。对应到命令上就是可以对目录执行cd命令,进入目录。
 目录的可用权限只有以下3个:
  0:任何权限都不赋予
  5:基本的目录浏览和进入权限
  7:完全权限(读+写+进人)
6、umask默认权限
 即新建文件时赋予文件的权限,在/etc/profile中定义。
 查看系统的umask权限:

umask

 用八进制数值显示umask权限:

umask -S

在这里插入图片描述
 说明:上图表示root用户新建的文件对于root用户有rwx权限,对于所属组的其他用户有rx权限,对于其他用户有rx权限。
在这里插入图片描述
 根据umask值计算新建文件或文件夹的初始权限的算法如下:
Linux——常用命令(基本权限)_第3张图片

你可能感兴趣的:(Linux)