Linux 权限

权限简介

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

快速入门

       更改文件权限 (chmod命令)

一般使用格式

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

参数说明:
 
[可选项]
  -c, --changes  		   (若该档案权限确实已经更改,才显示其更改动作)
  -f, --silent, --quiet   (若该档案权限无法被更改也不要显示错误讯息)
  -v, --verbose           (显示权限变更的详细资料)
       --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         (以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)

[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 ug+rw o+r a.conf b.xml
或
chmod a+r,ug+w,o-w a.conf b.xml
  • 设置当前目录下的所有档案与子目录皆设为任何人可读写
chmod -R a+rw *

数字权限使用格式

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

       如:

       rwx = 4 + 2 + 1 = 7

       rw = 4 + 2 = 6

       rx = 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 filechmod a=rwx file)
  • 设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于  chmod u=rw,g=---,o=--- filechmod u=rw,go-rwx file )

更改文件拥有者(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  *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值