#Linux权限简介

  • Linux系统上对文件的权限有着严格的控制,如果想对某个文件执行某种操作,必须具有对应的权限方可执行成功。
  • Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。 Linux下权限的粒度有 拥有者 、群组 、其它组
  • 每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组,
  • 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
  • Linux上通常使用chmod命令对文件的权限进行设置和更改。

一、快速入门

1、更改文件权限 (chmod命令)

1.1、一般使用格式

chmod [可选项] <mode> <file...>

参数说明:

[可选项]-c, --changes          like verbose but report only when a change is made (若该档案权限确实已经更改,才显示其更改动作)-f, --silent, --quiet  suppress most error messages  (若该档案权限无法被更改也不要显示错误讯息)-v, --verbose          output a diagnostic for every file processed(显示权限变更的详细资料)--no-preserve-root  do not treat '/' specially (the default)--preserve-root    fail to operate recursively on '/'--reference=RFILE  use RFILE's mode instead of MODE values-R, --recursive        change files and directories recursively (以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)--help       显示此帮助信息--version        显示版本信息
[mode] 权限设定字串,详细格式如下 :[ugoa...][[+-=][rwxX]...][,...],其中[ugoa...]u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。[+-=]+ 表示增加权限,- 表示取消权限,= 表示唯一设定权限。[rwxX]r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。[file...]文件列表(单个或者多个文件、文件夹)

范例:
设置所有用户可读取文件 a.conf

chmod ugo+r a.conf
或
chmod a+r  a.conf

设置 c.sh 只有 拥有者可以读写及执行

chmod u+rwx c.sh

设置文件 a.conf 与 b.xml 权限为拥有者与其所属同一个群组 可读写,其它组可读不可写

chmod a+r,ug+w,o-w a.conf b.xml

设置当前目录下的所有档案与子目录皆设为任何人可读写

chmod -R a+rw *

2.2、数字权限使用格式

在这种使用方式中,首先我们需要了解数字如何表示权限。 首先,我们规定 数字 4 、2 和 1表示读、写、执行权限(具体原因可见下节权限详解内容),即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,
如:

rwx = 4 + 2 + 1 = 7rw = 4 + 2 = 6rx = 4 +1 = 5即若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5

上面我们提到,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :

chmod <abc> file...

其中 a,b,c各为一个数字,分别代表User、Group、及Other的权限。 相当于简化版的 chmod u=权限,g=权限,o=权限
file… 而此处的权限将用8进制的数字来表示User、Group、及Other的读、写、执行权限

范例:
设置所有人可以读写及执行

chmod 777 file  (等价于  chmod u=rwx,g=rwx,o=rwx file 或  chmod a=rwx file)

设置拥有者可读写,其他人不可读写执行

chmod 600 file (等价于  chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )

2、更改文件拥有者(chown命令)

linux/Unix 是多人多工作业系统,每个的文件都有拥有者(所有者),如果我们想变更文件的拥有者(利用 chown 将文件拥有者加以改变),一般只有系统管理员(root)拥有此操作权限,而普通用户则没有权限将自己或者别人的文件的拥有者设置为别人。

语法格式:

chown [可选项] user[:group] file...

使用权限:root
说明:

[可选项] : 同上文chmod user : 新的文件拥有者的使用者
group : 新的文件拥有者的使用者群体(group)

范例:

设置文件 d.key、e.scrt的拥有者设为 users 群体的 tom

chown tom:users file d.key e.scrt

设置当前目录下与子目录下的所有文件的拥有者为 users 群体的 James

chown -R James:users  *

二、Linux权限详解

Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。这也是Linux有别于Windows的机制,也是基于这个权限机制,Linux可以有效防止病毒自我运行,因为运行的条件是必须要有运行的权限,而这个权限在Linux是用户所赋予的。

Linux的文件权限有以下设定:

  • Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
  • Linux下权限的属组有 拥有者 、群组 、其它组 三种。每个文件都可以针对这三个属组(粒度),设置不同的rwx(读写执行)权限。
  • 通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。

如果我们要表示一个文件的所有权限详情,有两种方式:

  • 第一种是十位二进制表示法 ,(三个属组的每个权限使用一个二进制位,再加一个最高位共十位),可简化为三个八进制数字形式(如 755)
  • 另外一种十二位二进制表示法(十二个二进制位),可简化为四个八进制数字形式(如4755)

十位权限表示

常见的权限表示形式有:

-rw------- (600) 只有拥有者有读写权限。
-rw-r–r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx–x–x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。

后九位解析: 我们知道Linux权限总共有三个属组,这里我们给每个属组使用三个位置来定义三种操作(读、写、执行)权限,合起来则是权限的后九位。 上面我们用字符表示权限,其中 -代表无权限,r代表读权限,w代表写权限,x代表执行权限。(后九位的前3位对应拥有者权限、4-6位对应群组权限、7-9对应其他组权限)

实际上,后九位每个位置的意义(代表某个属组的某个权限)都是固定的,如果我们将各个位置权限的有无用二进制数 1和 0来代替,则只读、只写、只执行权限,可以用三位二进制数表示为

r-- = 100
-w- = 010
–x = 001
— = 000

转换成八进制数,则为 r=4, w=2, x=1, -=0(这也就是用数字设置权限时为何是4代表读,2代表写,1代表执行)

实际上,我们可以将所有的权限用二进制形式表现出来,并进一步转变成八进制数字:

rwx = 111 = 7 rw- = 110 = 6 r-x = 101 = 5 r-- = 100 = 4
-wx = 011 = 3
-w- = 010 = 2
–x = 001 = 1
— = 000 = 0

由上可以得出,每个属组的所有的权限都可以用一位八进制数表示,每个数字都代表了不同的权限(权值)。如 最高的权限为是7,代表可读,可写,可执行。

故 如果我们将每个属组的权限都用八进制数表示,则文件的权限可以表示为三位八进制数

-rw------- = 600
-rw-rw-rw- = 666
-rwxrwxrwx = 777

关于第一位最高位的解释: 上面我们说到了权限表示中后九位的含义,剩下的第一位代表的是文件的类型,类型可以是下面几个中的一个:

d代表的是目录(directroy)
-代表的是文件(regular file) s代表的是套字文件(socket) p代表的管道文件(pipe)或命名管道文件(named pipe) l代表的是符号链接文件(symbolic link) b代表的是该文件是面向块的设备文件(block-oriented
device file) c代表的是该文件是面向字符的设备文件(charcter-oriented device file)

Linux文件权限大全(chmod+chown)相关推荐

  1. Linux文件权限管理 chmod 读、写、可执行

    使用 ls -l,查看文件权限 左侧第一列 -rw-r--r-- 这些就是文件的权限信息. 文件的权限分为三种:(三种权限可相互叠加,最高权限为7) 权限 字母 对应的二进制 对应的八进制 读 r 1 ...

  2. Linux文件权限设置(chmod命令)

    用户说明 linux每一个用户都属于一个组,不能独立于组外 1.文件所有者:一般为文件的创建者 2.文件所在组:当用户创建了一个文件后,这个文件的所在组就是该用户所在的用户组 3.其他组: 除开所在组 ...

  3. 在linux中 更改文件权限的命令是,linux 更改文件权限命令 chmod

    chmod -change file mode bits :更改文件权限 chmod是用来改变文件或者目录权限的命令,但只有文件的属主和超级用户(root)才有这种权限. 更改文件权限的2种方式: 一 ...

  4. linux查看文件的有效权限,linux文件权限查看及修改-chmod ------入门的一些常识

    查看Linux文件的权限:ls -l 文件名称 查看linux文件夹的权限:ls -ld 文件夹名称(所在目录) 修改文件及文件夹权限: sudo chmod -(代表类型)×××(所有者)×××(组 ...

  5. linux文件的权限模式,Linux文件权限和访问模式

    为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限: 所有者权限:文件所有者能够进行的操作 组权限:文件所属用户组能够进行的操作 外部权限(其他权限):其他用户 ...

  6. Ubuntu/Linux文件权限修改

    Ubuntu/Linux文件权限 文件权限是指不同的用户或用户组对某个文件拥有的权限,文件的权限分为三种: r:读 w:写 x:可执行. 文件描述形式如下: -rw-rw-r-就是文件权限,第一位表示 ...

  7. 如何更改linux文件权限设置,linux文件权限学习笔二——如何修改文件权限(chgrp,chown,chmod)...

    linux文件权限学习随笔二--如何修改文件权限 一.修改文件所属组群--chgrp 修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令) 语法:c ...

  8. Linux文件权限管理:chmod命令和chown命令

    Linux文件权限管理:chmod命令和chown命令 前言 介绍 文件类型 文件权限 文件所属 文件信息 chmod命令 chown命令 前言 在服务器部署项目.安装应用会经常涉及到文件权限的问题, ...

  9. linux系统编程笔记02——Linux命令:修改文件权限命令chmod、chgrp、chown详解

    Linux命令:修改文件权限命令chmod.chgrp.chown详解 Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限 ...

最新文章

  1. python正态分布相关函数
  2. HD-ACM算法专攻系列(3)——Least Common Multiple
  3. Schmid Telecom选择StoreAge SVM实现数据镜像保护
  4. 为什么成员函数不占用类和对象的空间
  5. python验证码_Python验证码登录(Tesseract安装配置)
  6. POJ 2942 Knights of the Round Table ★(点双连通分量+二分图判定)
  7. jvm 崩溃日志设置_JVM致命错误日志(hs_err_pid.log)分析(转载)
  8. 列表生成式的复习以及生成器的练习, 杨辉三角实例(非常巧妙)
  9. 六安市事业单位计算机基础知识,最全的事业单位考试计算机基础知识试题[1] 2...
  10. 蚂蚁金服开源服务注册中心 SOFARegistry
  11. Google 搜索的基本语法
  12. 《深度学习Python实践》第13章——审查回归算法
  13. ICMP(网际控制报文协议)
  14. 【项目实战——emos在线办公系统】:会议申请、请假申请等部分代码理解
  15. cass小插件集合_CAD面积插件大全_CAD插件大全_CASS插件大全_小懒人CAD插件老妈砂锅串串香加盟...
  16. Google Analytics与百度统计比较
  17. Cuba在Linux(Ubuntu)的安装
  18. CSDN上传资源与修改下载所需积分的问题
  19. 设置bing桌面壁纸
  20. Gentoo USE参数清单中文详解

热门文章

  1. 最新通知!ComingChat V0.0.6版本上线!
  2. 华为OD机试 - 机器人走迷宫(JS)
  3. 对iPhoneX的一些思考
  4. Python零基础入门
  5. 谁说linux下无游戏,十大免费linux大型游戏集合
  6. java相关段子_为什么Java开发人员都带眼镜 | 程序员搞笑段子合集
  7. 2020lol服务器维护到几点,2020LOL11月12日维护到几点
  8. 戴尔服务器的型号1950,PowerEdge1950的配置
  9. 正则表达式 判断字符串是否为数字
  10. Linux基础命令-useradd创建用户