linux命令--基本权限命令

1、权限介绍

使用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”权限

2、基本权限命令。

一、chmod,修改权限的命令 。

命令名称:chmod。
英文原意:change file mode bits。
所在路径:/bin/chmod。
执行权限:全部用户。
功能描述:修改文件的权限模式算法

1.一、命令格式
chmod 选项 命令模式 文件...
-R:  递归设置权限,也就是给子目录中的全部文件设定权限
1.二、权限模式

chmod 命令的权限模式的格式是“[ugoa][[+-=][perms]]”,也就是“[用户身份][[赋予方式][权限]]” 的格式。vim

用户身份。
  • u:表明全部者(user)。
  • g:表明所属组(group)。
  • o:表明其余人(other)。
  • a:表明所有身份(all)。安全

    赋予方式。
  • +:加入权限。
  • -:减去权限。
  • =:设置权限。服务器

    权限。
  • r:读取权限(read)。
  • w:写权限(write)。
  • x:执行权限(execute)。
    例如
chmod  o-w a.txt
#把a.txt针对其余人写权限移除。
1.三、数字权限

数字权限的赋予方式是最简单的,可是不如以前的字母权限好记、直观。
4:表明“r”权限。
2:表明“w”权限。
1:表明“x”权限。
例如less

chmod 644 a.txt 
# 为a.txt 设置 rw-r--r-- 权限
1.4.经常使用权限

数字权限的赋予方式更加简单,可是须要用户对这几个数字更加熟悉。其实经常使用权限也并很少,只有以下几个。code

  • 644:这是文件的基本权限,表明全部者拥有读、写权限,而所属组和其余人拥有只读权限。
  • 755:这是文件的执行权限和目录的基本权限,表明全部者拥有读、写和执行权限,而所属组和其余人拥有读和执行权限。
  • 777:这是最大权限。在实际的生产服务器中,要尽力避免给文件或目录赋予这样的权限,这会形成必定的安全隐患。

3、基本权限的做用

3.一、权限含义的解释 首先,读、写、执行权限对文件和目录的做用是不一样的
权限对文件的做用。
  • 读(r):对文件有读(r)权限,表明能够读取文件中的数据。若是把权限对应到命令上,那么一旦对文件有读(r)权限,就能够对文件执行 cat、more、less、head、tail 等文件查看命令。
  • 写(w):对文件有写(w)权限,表明能够修改文件中的数据。若是把权限对应到命令上,那么一旦对文件有写(w)权限,就能够对文件执行 vim、echo 等修改文件数据的命令。注 意:对文件有写权限,是不能删除文件自己的,只能修改文件中的数据。若是要想删除文件, 则须要对文件的上级目录拥有写权限。
  • 执行(x):对文件有执行(x)权限,表明文件拥有了执行权限,能够运行。在 Linux 中,只要文件有执行(x)权限,这个文件就是执行文件了。只是这个文件到底能不能正确执行, 不只须要执行(x)权限,还要看文件中的代码是否是正确的语言代码。对文件来讲,执行(x)权限是最高权限。blog

    权限对目录的做用。
  • 读(r):对目录有读(r)权限,表明能够查看目录下的内容,也就是能够查看目录下有哪些子文件和子目录。若是把权限对应到命令上,那么一旦对目录拥有了读(r)权限,就可 以在目录下执行 ls 命令,查看目录下的内容了。
  • 写(w):对目录有写(r)权限,表明能够修改目录下的数据,也就是能够在目录中新建、 删除、复制、剪切子文件或子目录。若是把权限对应到命令上,那么一旦对目录拥有了写(w) 权限,就能够在目录下执行 touch、rm、cp、mv 命令。对目录来讲,写(w)权限是最高权限。
  • 执行(x):目录是不能运行的,那么对目录拥有执行(x)权限,表明能够进入目录。若是 把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就能够对目录执行 cd 命令,进入目录。递归

    3.二、目录的可用权限 目录的可用权限其实只有如下几个。
  • 0:任何权限都不赋予。
  • 5:基本的目录浏览和进入权限。
  • 7:彻底权限。ip

4、全部者和所属组命令

4.一、chown 命令

chown 是修改文件和目录的全部者和所属组的命令,
命令名称:chown。
英文原意:change file owner and group。
所在路径:/bin/chown。
执行权限:全部用户。
功能描述:修改文件和目录的全部者和所属组。it

命令格式
[root@love2 ~]# chown [选项] 全部者:所属组 文件或目录 
-R:  递归设置权限,也就是给子目录中的全部文件设置权限
4.2.chgrp 命令 chgrp 是修改文件和目录的所属组的命令

命令名称:chgrp。
英文原意:change group ownership。
所在路径:/bin/chgrp。
执行权限:全部用户。
功能描述:修改文件和目录的所属组

命令格式
[root@love2 ~]# chgrp [选项] 组名 文件或目录 
-R:  递归设置权限,也就是给子目录中的全部文件设置权限

5、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--”
相关文章
相关标签/搜索