天天看点

权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限

文章目录

  • 权限介绍
  • chmod 命令
    • 命令格式
    • 常用用法
  • 基本权限的含义
  • chown 命令
    • 命令格式
    • 常用用法
  • chgrp 命令
    • 命令格式
    • 常用用法
  • umask 默认权限

权限介绍

  1. 为什么需要权限

    平时所使用的计算机都是个人计算机,都是自己或者自己信任的人在使用,所以感受不到权限的作用,都是使用管理员权限。

    可是,对于服务器来说,使用者非常多,服务器里保存的数据有些非常重要,有些价值非常高,因此对权限当然是设定的越详细越好,用户的分级越明确越好。比如在银行里,行长和柜台服务人员对于存储数据的服务器的权限肯定不同。在服务器上,绝对不是所有的用户都是用 root 身份登录,而要根据不同的工作需要和职位需要,合理分配用户等级和权限等级。

  2. 文件的所有者、所属组和其他人
    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限

    前面讲 “ls -l” 时,简单说过所有者和所属组的含义,命令的第三列代表所有者,第四列代表所属组。

    文件的所有者一般就是这个文件的创建者,比如 data 文件,我们在 shz1 下创建的,所以所有者就是 shz1;系统中,大部分系统文件都是 root 建立的,所以绝大多数系统文件的所有者都是 root。

    文件的所属组,要想解释这个概念,我们先要知道用户组的概念。用户组就是一组用户的集合,为什么要把一组用户放在一起呢?当然是为了方便管理。比如,我们有100位用户,都需要分配相同的权限,我们如果一个个用户去配置,岂不是累死了0.0…,而将所有用户分到一个用户组,给整个组分配权限,不管多少用户,一次就好了,是不是非常方便啊!所属组的这个组,指的就是用户组。

    其他人,就是字面意思。

  3. 权限位含义
    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限

    前面讲 “ls -l” 时,我们知道第一列是文件的权限,如上图所示。

    总共10个字符:

    第一位代表文件类型:

字符 文件类型 描述 示例
- 普通文件 用来在辅助存储设备(磁盘)上存储数据 程序源代码、可执行程序、图片、声音、文字、视频等
d 目录文件 linux 中一切都是文件,目录也是 /root /home
l 软链接文件 用于不同目录下文件的共享(快捷方式) 创建已存在文件的符号链接时,系统就创建了一个链接文件,这个链接文件指向已存在的文件
b(块) c(字符) 设备文件 用来访问硬件设备 键盘、打印机、光驱、硬盘等
p 管道符文件 特殊类型文件 Linux 系统下,进程之间通信可以通过该文件完成
s 套接字文件 特殊类型文件 一些服务支持 socket 访问,就会产生这样的文件

第2~4位代表文件所有者的权限;

第5~7位代表文件所属组的权限;

第8~10位代表其他人的权限。

他们所能拥有的权限都是 “rwx” 权限:

r:read 读取权限;

w:write 写权限;

x:execute 执行权限。

如果有字母,代表相应的权限;如果是 “-” ,则代表没有对应权限。

chmod 命令

项目 内容
命令名称 chmod
英文原意 change file mode bits
所在路径 /bin/chmod
执行权限 所有用户
作用 修改文件的权限模式

命令格式

chmod [选项] 权限模式 文件名
选项:
	-R:	递归设置权限,也就是给子目录中的所有文件设定权限
           
  • 权限模式

    格式: [用户身份] 赋予方式 权限

  • 用户身份
符号 含义
u 代表所有者(user)
g 代表所属组(group)
o 代表其他人(other)
a 代表全部身份(all)

缺省默认是a

  • 赋予方式
符号 含义
+ 加入权限
- 减去权限
= 设置权限
  • 权限
符号 含义
r 读取权限
w 写权限
x 执行权限

权限还可以用数字表示:

符号 对应数字
r 4
w 2
x 1

比如 755权限:

7=4+2+1 代表所有者有rwx权限

5=4+1 代表所属组有r-x权限

5=4+1 代表其他人有r-x权限

常用用法

  • 用 “-” 去掉权限
    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限
  • 用 “+” 给多个用户添加权限
    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限
  • 混合使用
    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限
  • 数字权限
    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限

基本权限的含义

  • 权限对文件的作用
  1. r:可以读取文件中的数据。如果把权限对应到命令上,也就是可以使用 cat、more、less、head、tail、vim、gedit 等命令查看文件内容。
  2. w:可以修改文件中的数据。如果把权限对应到命令上,也就是可以使用 vim、gedit、echo 等命令修改文件内容。
  3. x:对文件有执行权限。注意,文件有了执行权限,该文件能不能执行,还要看文件中的代码是不是正确的语言代码。对文件来说,执行权限是最高权限。
  • 权限对目录的作用
  1. r:可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。如果把权限对应到命令上,就可以用 ls 在目录下查看目录下的内容啦。
  2. w: 可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪切子文件或子目录。如果把权限对应到命令上,也就是可以使用 touch、rm、cp、mv 命令。对目录来说,写权限是最高权限。
  3. x:目录是不能运行的,给目录执行权限,代表可以进入目录。如果把权限对应到命令上,也就是可以使用 cd 命令,进入目录。

其实这些权限位的含义可以联系 ext4 文件系统的组成,可知其所以然。

chown 命令

项目 内容
命令名称 chown
英文原意 change file owner and group
所在路径 /bin/chown
执行权限 所有用户
作用 改变文件和目录的所有者和所属组

命令格式

chown [选型] 所有者:所属组 文件或目录
选项:
	-R:		递归设置权限
           

常用用法

  1. 修改文件的所有者

    只有文件的所有者和root用户有权修改文件的权限,如果普通用户需要对某个文件拥有最高权限的时候,是不能把其他人权限修改为最高权限,否则其他所有用户都拥有了文件的最高权限,这是非常不安全的做法。合理的做法是修改文件的所有者,这样既可以让普通用户有最高权限,也不会影响其他普通用户。看如下例子:

    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限
  2. 修改文件的所属组
    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限

    “:” 也可以用 “.” 替代;

    修改所属组,也是为了调整权限,即调整一组权限。

chgrp 命令

项目 内容
命令名称 chgrp
英文原意 change group ownership
所在路径 /bin/chgrp
执行权限 所有用户
作用 改变文件和目录的所属组

命令格式

chgrp  所属组 文件或目录
           

常用用法

  1. 修改改变文件的所属组
    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限

umask 默认权限

  1. umask 权限的作用

    umask 权限是 Linux 权限的一种。在 Linux 中,所有的文件和目录都要有基本的权限,新建的文件和目录当然也要有默认的权限。

    在 Linux 中,通过 uamsk 默认权限来给所有新建立的文件和目录赋予初始权限,这一点和 Window 不一样,Windows 是通过继承上级目录的权限来给文件和目录赋予初始权限的。

    查看系统的 umask 权限:

    权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限
    数值的 umask 权限,我们看到是: 0002 ,其中第一个 0 代表文件的特殊权限,暂时不谈;后 3 为数字 002 才是真正的 umask 默认权限。
  2. umask 计算方法

    Linux 中,对于新建文件和目录有默认的最大权限:

    (1) 对文件来说,新建文件的默认最大权限是 666,没有执行权限。)

    (2) 对于目录来讲,新建目录的最大权限是 777。

    umask 计算方法很多,这里列举一个比较简单的,将 uamsk 换算成字母,文件和目录的权限也换算成字母(分别为 rw-rw-rw- 和 rwxrwxrwx ),减去对应字母即可。

umask 文件 (rw-rw-rw-) 目录(rwxrwxrwx)
0 0 2 —> -------w- rw-rw-r- - rwxrwxr-x
1 6 6 —> --xrw-rw- rw------- rw—x–x
0 3 3—>----wx-wx rw-r–r-- rwxr–r--

注意:不是数字相减

测试结果如下:

权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限

3. umask 默认权限的修改方法

(1)临时修改 umask 默认权限,重启或重新登录就会失效(开新的终端也不同)

权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限

(2)永久修改 umask 默认权限

对于当前用户,在~/.bashrc 中 添加 umask 044 ,重新登录即可更改。

对于所有用户,可以参照如下结果:

权限管理命令权限介绍chmod 命令基本权限的含义chown 命令chgrp 命令umask 默认权限

继续阅读