Linux权限指令分析

命令行使用:ls -l

命令行使用:ls -al


PS:两者的区别是,-al可以显示隐藏文件

  • 第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道;
  • 第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行;
  • 第5-7位表示和这个文件属主所在同一个组的用户所具有的权限;
  • 第8-10位表示其他用户所具有的权限;

例如:

-rw-r--r-- 1 root users 0 Jul 27 17:55 hello

表示hello文件是一个普通文件,root拥有读写权限,
和root在同一个users组的用户拥有读的权限,其他用户拥有读的权限

命令行使用:chmod

  • chmod命令用于改变linux系统文件或目录的访问权限;
  • 一种是包含字母和操作符表达式的文字设定法;
  • 另一种是包含数字的数字设定法;

命令格式:

chmod [-c/f/v/R] [--help] [--version] mode file
必要参数:

-c 当发生改变时,报告处理信息
-f 错误信息不输出
-R 处理指定目录以及其子目录下的所有文件
-v 运行时显示详细处理信息

权限范围:

u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群
a :所有的用户及群组

权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示

  • :删除权限,用数字0表示
  • s :特殊权限
文字设定法:

chmod [who][+/-/=][operation] filename

实例:

ls -l, 此时hello的所有用户权限都为空

chmod u=r hello,此时当前用户对hello有r(读)的权限

chmod g+r hello,此时当前群组对hello有r(读)的权限

chmod u-r hello,此时当前用户失去对于hello的r(读)权限

chmod a+w hello,此时所有用户和群组都有着对于hello的w(写)的权限

数字设定法

chmod [operation] filename

数字与字符的对应关系

r=4;
w=2;
x=1;
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=7;

实例:

ls -l,此时hello的所有用户权限都为空

chmod 100 hello,此时当前用户对hello有x(执行)的权限

chmod 777 hello,此时所有用户和群组都有着对于hello的rwx(读写执行)的权限

其余实例:

chmod u+x,g+r,o+w good,同时修改不同用户权限

chmod -R 0 *,对一个目录下所有文件添加权限

chmod -c 700 test, 加-c

chmod -v 777 test,加-v

ps:加-f是为了抑制错误消息不显示,但是没有尝试成功


你可能感兴趣的:(Linux权限指令分析)