Linux -- 文件权限

Linux -- 文件权限html

了解文件权限前须要先知道用户和用户组的概念vim

用户:http://www.javashuo.com/article/p-bfnsibws-m.html
用户组:http://www.javashuo.com/article/p-xxqokzki-bc.htmlbash

 

1.使用 ll -a 命令能够查看到该目录下全部文件的属性,显示的内容分别为 [权限] [链接数] [全部者] [用户组] [文件容量] [修改日期] [文件名]less

[tom@localhost ~]$ ll -a
总用量 64
drwx------  5 tom  home 4096 2月  11 10:50 .
drwxr-xr-x. 8 root root 4096 2月   1 19:42 ..
-rw-------  1 tom  home  235 2月   1 20:24 .bash_history
-rw-r--r--  1 tom  home   18 3月  23 2017 .bash_logout
-rw-r--r--  1 tom  home  176 3月  23 2017 .bash_profile
-rw-r--r--  1 tom  home  124 3月  23 2017 .bashrc
-rw-r--r--  1 tom  home 4164 2月  11 10:50 Beauty
drwxr-xr-x  2 tom  home 4096 2月  11 10:32 demo
drwxr-xr-x  2 tom  home 4096 11月 12 2010 .gnome2
-rw-r--r--  1 tom  home  632 2月  11 10:47 Hare
-rw-r--r--  1 tom  home  118 2月  11 10:37 html
-rw-r--r--  1 tom  home  136 2月  11 10:39 lesson
drwxr-xr-x  4 tom  home 4096 3月  20 2018 .mozilla
-rw-r--r--  1 tom  home   27 2月   1 19:55 .plan
-rw-------  1 tom  home 1405 2月  11 10:50 .viminfo
  • 权限中,第一个字符表明文件是目录,文件仍是连接文件:

  [d]:目录,如 demo 前面显示的drwxr-xr-x,d表示 demo 是一个文件夹
  [-]:文件
  [l]:连接文件
  [b]:设备文件里可供存储的接口设备
  [c]:设备文件里的串行端口设备,如鼠标,键盘spa

  • 第一个字符后面以三个字符为一组,表明权限,如rwxr-xr-x,第一组rwx为全部者的权限,第二组r-x为同用户组的权限,第三组r-x为其余人的权限

  [r]可读权限(4),[w]可写权限(2),[x]可执行权限(1),[-]无权限htm

  r:读取权限,可读取此文件的实际内容,可读取目录结构列表
  w:可写权限,能够编辑,新增或者是修改该文件的内容,能够更改目录结构列表,包括新增文件与目录,删除,重命名或者转移等
  x:文件是否可执行,用户是否能够进入该目录blog

  • 第五列为文件的大小,默认单位为B
  • 第七列为文件名,若是文件名前有 . 则为隐藏文件,使用ls -al 能够看到隐藏文件

改变文件属性和权限递归

1.chgrp 改变文件所属用户组接口

chgrp [-R] 用户组名 文件或目录,当要修改一个目录下的全部文件的用户组时,能够加 -R 进行递归处理get

[root@localhost tom]# chgrp root Beauty 
[root@localhost tom]# ll
总用量 24
-rw-r--r-- 1 tom root 4164 2月  11 10:50 Beauty
drwxr-xr-x 2 tom home 4096 2月  11 10:32 demo
-rw-r--r-- 1 tom home  632 2月  11 10:47 Hare
-rw-r--r-- 1 tom home  118 2月  11 10:37 html
-rw-r--r-- 1 tom home  136 2月  11 10:39 lesson

2.chown 改变文件全部者

chown [-R] 用户名 文件或目录,当要修改一个目录下的全部文件的全部者时,能够加 -R 进行递归处理, 也能够使用chown 全部者.用户组(或者全部者:用户组)文件或者目录进行修改

[root@localhost tom]# chown root.root demo/
[root@localhost tom]# ll
总用量 24
-rw-r--r-- 1 tom  root 4164 2月  11 10:50 Beauty
drwxr-xr-x 2 root root 4096 2月  11 10:32 demo
-rw-r--r-- 1 tom  home  632 2月  11 10:47 Hare
-rw-r--r-- 1 tom  home  118 2月  11 10:37 html
-rw-r--r-- 1 tom  home  136 2月  11 10:39 lesson

3.chmod 改变权限

  • 按照权限数字赋权,权限对应的数字为:r - 4,w - 2,x - 1

如,将文件设置为全部者拥有读写和执行权限,r+w+x=4+2+1=7,同用户组下拥有读写权限,r+w=4+2=6,其余人拥有执行和读权限,r+x=4+1=5,那么命令写为:chmod 765 文件名

[root@localhost tom]# ll
总用量 24
-rw-r--r-- 1 tom  root 4164 2月  11 10:50 Beauty
[root@localhost tom]# chmod 765 Beauty 
[root@localhost tom]# ll
总用量 24
-rwxrw-r-x 1 tom  root 4164 2月  11 10:50 Beauty
  • 按照具体某一权限赋权u表明用户,g表明用户组,o表明其余人,a表明全部身份,+表明加入某个权限,-表明除去某个权限,=表明设置权限

如,将文件设置为全部者拥有读写和执行权限,同用户组下拥有读写权限,其余人拥有执行和读权限,那么命令写为:chmod u=rwx,g=rw,o=rx 文件名

[root@localhost tom]# ll
总用量 24
-rw-r--r-- 1 tom  home  632 2月  11 10:47 Hare
[root@localhost tom]# chmod u=rwx,g=rw,o=rx Hare 
[root@localhost tom]# ll
总用量 24
-rwxrw-r-x 1 tom  home  632 2月  11 10:47 Hare
  • 去除或者加上某个权限

如去除全部角色的读权限:chmod a-r 文件名

[root@localhost tom]# ll
总用量 24
-rwxrw-r-x 1 tom  root 4164 2月  11 10:50 Beauty
[root@localhost tom]# chmod a-r Beauty 
[root@localhost tom]# ll
总用量 24
--wx-w---x 1 tom  root 4164 2月  11 10:50 Beauty

文件默认权限 umask

新建一个文件时默认的权限,显示的为应该除去的权限,如umask为0022,后面三个数字022表明通常权限,对于全部者不去除任何权限,对于同用户组去除2(可写权限),对于其余人去除2(可写权限)。
新建文件 原:-rw-rw-rw- 按照022去除后为:-rw-r--r--
新建文件夹 原:drwxrwxrwx 按照022去除后为:drwxr-xr-x

[root@localhost tom]# umask
0022
设置文件默认权限 [root@localhost tom]# umask 002 [root@localhost tom]# umask 0002 [root@localhost tom]# mkdir a1 [root@localhost tom]# touch atext01 [root@localhost tom]# ll 总用量 28 drwxrwxr-x 2 root root 4096 2月 11 16:45 a1 -rw-rw-r-- 1 root root 0 2月 11 16:45 atext01

文件隐藏属性 chattr 和 lsattr 

文件的隐藏属性大体有:

 

1.chattr 设置文件的隐藏属性,详细内容可 man chattr 进行查看

+ 添加某个隐藏权限

- 除去某个隐藏权限

= 赋予某个隐藏权限

#赋予 Beauty 文件 i 权限,不能被删除
[root@localhost tom]# chattr +i Beauty [root@hs-192-168-33-206 tom]# rm Beauty rm:是否删除普通文件 "Beauty"?y rm: 没法删除"Beauty": 不容许的操做

2.lsattr 看文件的隐藏属性

-a 查看所有(包括隐藏文件)的隐藏权限
-d 只查看目录的隐藏权限
-R 列出子目录的隐藏权限

查看刚刚设置的 i 权限

[root@localhost tom]# lsattr Beauty 
----i--------e- Beauty

去掉 i 权限

[root@localhost tom]# chattr -i Beauty 
[root@localhost tom]# lsattr Beauty 
-------------e- Beauty
相关文章
相关标签/搜索