Linux笔记4_ 文件权限1

基本权限UGO

(1)重要,知识点少

(2)回顾:进程访问文件


文件权限设置:可以在赋予某个用户或组,能够以何种方式,访问某个文件

  • u:rwx
  • g:rwx
  • o:rwx

文件权限管理之:UGO设置基本权限(r,w,x)

-rw-rw-r–. 1 hulk hulk 0 3月 16 04:36 file1

权限对象:

  • 属主: u 所有者
  • 属组: g 属组
  • 其他人: o 其他人

权限类型:

  • 读: r 4
  • 写: w 2
  • 执行:x 1

-rw-rw-r–. 1 hulk hulk 0 3月 16 04:36 file1

问题:hulk有什么权限

(1)hulk是所有者吗?是,rw

(2)hulk属于什么组?rw

(3)tom为其他人?是,r

rwxrwraliashrfile1
属主属组其他人属主属组文件名

1.设置权限

1.更改文件的 属主、属组

chown:语法

用法:chown [选项]...[所有者][:[组]] 文件...

修改属主/所有者
[root@localhost ~]# ll new.txt
-rw-r--r--. 1 root root 2504 3月  14 13:29 new.txt
[root@localhost ~]# chown hulk new.txt             修改属组为hulk
[root@localhost ~]# ll new.txt
-rw-r--r--. 1 hulk root 2504 3月  14 13:29 new.txt
修改属组
[root@localhost ~]# ll new.txt
-rw-r--r--. 1 hulk root 2504 3月  14 13:29 new.txt
[root@localhost ~]# chown .hulk new.txt
[root@localhost ~]# ll new.txt
-rw-r--r--. 1 hulk hulk 2504 3月  14 13:29 new.txt
看这个:
[root@localhost ~]# ll new.txt
-rw-r--r--. 1 hulk hulk 2504 3月  14 13:29 new.txt
[root@localhost ~]# chown root.root new.txt
[root@localhost ~]# ll new.txt
-rw-r--r--. 1 root root 2504 3月  14 13:29 new.txt

chgrp:语法

用法:chgrp [选项]… 用户组 文件…

[root@localhost ~]# chgrp -R hulk new.txt        //R:递归
[root@localhost ~]# ll new.txt
-rwxr---w-. 1 root hulk 2504 3月  14 13:29 new.txt

2.更改权限

语法:chomd [u/g/o/a] [±=] 文件名

使用符号

对象赋值符权限类型
u+r
chmodg-w
o=x
a(所有人)

在这里插入图片描述

注意:7 = 007,输入时标准3位

使用数字

在这里插入图片描述


chown和chomd区别:

语法:chomd [u/g/o/a] [+-=] 文件名

用法:chown [选项]...[所有者][:[组]] 文件...

在这里插入图片描述

chown:Linux中用来改变某个文件的属主命令,如漫画中所示,将某个“资源”(门)的访问权限给予别人
chmod:Linux中用来改变某个文件的访问模式的命令,如漫画中所示,chmod 777(门)会将某个‘大门’敲开,谁都可以进去了


权限设置案例UGO

设置案例权限

针对hr部门的访问目录/home/hr设置权限,要求如下:

1、root用户对hr组的员工可以读、写、执行

2、其他用户没有任何权限

[root@localhost ~]# groupadd hr
[root@localhost ~]# useradd hr01 -G hr
[root@localhost ~]# useradd hr02 -G hr
[root@localhost ~]# mkdir /home/hr

[root@localhost ~]# chgrp hr /home/hr
[root@localhost ~]# chmod 770 /home/hr
[root@localhost ~]# ll -d /home/hr/
drwxrwx---. 2 root hr 6 3月  16 08:06 /home/hr/

重要:r、w、x、权限对文件和目录的意义

权限对文件的影响对目录的影响
r(读入)可以读取文件的内容可以列出目录的内容(文件名)
w(写入)可以更改文件的内容可以创建或删除目录中的任一文件
x(可执行)可以作为命令执行文件可以访问目录的内容(取决于目录中文件的权限)

实战案例:

r、w、x、对文件的影响

实战1:r对文件的影响

[root@localhost ~]# vim /home/file1
data

[root@localhost ~]# ll /home/file1
-rw-r--r--. 1 root root 5 3月  16 08:28 /home/file1            //修改前,alias(其他人)只有读

[root@localhost ~]# su - alias
[alias@localhost ~]$ cat /home/file1            //测试读    YES
data

实战2:x对文件的影响

[alias@localhost ~]$ /home/file1
-bash: /home/file1: 权限不够                            //测试执行 ON

[root@localhost ~]# chmod o+x /home/file1    //为其他用户添加读的权限,绿色代表可以执行

在这里插入图片描述

[root@localhost ~]# chmod o-x /home/file1
[root@localhost ~]# chmod u+x /home/file1
[root@localhost ~]# ll /home/file1
-rwxr--r--. 1 root root 5 3月  16 08:28 /home/file1
[root@localhost ~]# su - alias
[alias@localhost ~]$ /home/file1
-bash: /home/file1: 权限不够

align='left’实战3:w对文件的影响</

[root@localhost ~]# chmod o+w /home/file1
[root@localhost ~]# su - alias
[alias@localhost ~]$ vim /home/file1
[alias@localhost ~]$ cat /home/file1            //测试写权限
data
alias

r、w、x、对目录的影响

实战1:对文件有rwx,对目录没有w权限

不能删除

[root@localhost ~]# mkdir /dir1
[root@localhost ~]# touch /dir1/file1
[root@localhost ~]# chmod 777 /dir1/file1

[root@localhost ~]# ll -d /dir1/
drwxr-xr-x. 2 root root 19 3月  16 09:40 /dir1/
[root@localhost ~]# ll -d /dir1/file1
-rwxrwxrwx. 1 root root 0 3月  16 09:40 /dir1/file1

[root@localhost ~]# su - alias
[alias@localhost ~]$ cat /dir1/file1
[alias@localhost ~]$ rm -rf /dir1/file1
rm: 无法删除'/dir1/file1': 权限不够

实战2:对文件没有任何权限,对目录有所有权限

小结:对目录有w写权限,可以在目录中创建文件,可以删除目录中的文件(跟文件权限无关)

[root@localhost ~]# chmod a=- /dir1/file1
[root@localhost ~]# chmod a=rwx /dir1/
[root@localhost ~]# ll -d /dir1/
drwxrwxrwx. 2 root root 19 3月  16 09:40 /dir1/
[root@localhost ~]# ll -d /dir1/file1
----------. 1 root root 0 3月  16 09:40 /dir1/file1

[root@localhost ~]# su - alias
[alias@localhost ~]$ ll -d /dir1/file1
----------. 1 root root 5 3月  16 09:53 /dir1/file1
[alias@localhost ~]$ cat /dir1/file1
cat: /dir1/file1: 权限不够
[alias@localhost ~]$ /dir1/file1
-bash: /dir1/file1: 权限不够
[alias@localhost ~]$ vim /dir1/file1
权限不够
[alias@localhost ~]$ rm -rf /dir1/file1  
[alias@localhost ~]$ touch /dir1/file2

重点

什么叫删文件:

  • r如果对一个文件有rwx权限,意味着可以(读、写、修改文件内容、可以执行),就是没有删除

如果对目录有rwx;

  • r:可以看到里面的文件
  • w:可以在目录下创建删除文件
  • x:可以进入目录里面去

注意事项:

  • 文件:x权限要小心给予
  • 目录:w权限小心给予

基本ACL

UGO设置基本权限: 只能一个用户,一个组和其他人

ACL 设置基本权限: r,w,x

很多对象想访问某个文件,可以设置不同的权限,解决了UGO的瓶颈

acl:访问控制列表

getfac

[root@localhost ~]# getfacl /home/file
getfacl: Removing leading '/' from absolute path names
# file: home/file
# owner: root
# group: root
user::rw-
group::r--
other::r--

setfacl -m

setfacl -m u:alias:rw /home/file

[root@localhost ~]# setfacl -m u:alias:rw /home/file
[root@localhost ~]# getfacl /home/file
getfacl: Removing leading '/' from absolute path names
# file: home/file
# owner: root
# group: root
user::rw-
user:alias:rw-
group::r--
mask::rw-
other::r--

一旦文件后面有+号,表示有单独的acl

[root@localhost ~]# ll /home/file
-rw-rw-r--+ 1 root root 0 3月  16 14:50 /home/file       

rw:已经是mask的权限,不是组的权限

帮助命令中的EXAMPLES

授予其他用户读取访问权限

  • setfacl -m u:lisa:r file

撤消所有组和所有命名用户的写访问权限(使用有效权利屏蔽)

  • setfacl -m m::rx file

从文件的ACL中删除命名的组条目

  • setfacl -x g:staff file

将一个文件的ACL复制到另一个文件

  • getfacl file1 | setfacl --set-file=- file2

将访问ACL复制到默认ACL

  • getfacl --access dir | setfacl -d -M- dir

示例:

[root@localhost ~]# setfacl -m g:alias:rw /home/file
[root@localhost ~]# getfacl /home/file                快捷键Esc+.
getfacl: Removing leading '/' from absolute path names
# file: home/file
# owner: root
# group: root
user::rw-
user:faker:rwx
user:alias:rw-
group::r--        
group:alias:rw-                //增加alias组权限
mask::rwx
other::r--
[root@localhost ~]# setfacl -m u:alias:- /home/file
[root@localhost ~]# getfacl /home/file
getfacl: Removing leading '/' from absolute path names
# file: home/file
# owner: root
# group: root
user::rw-
user:faker:rwx
user:alias:---                    //增加alias用户权限
group::r--
group:alias:rw-
mask::rwx
other::r--

删除alias

例如:…放弃吧,alias访问时无权限

[root@localhost ~]# setfacl -x u:alias /home/file
[root@localhost ~]# getfacl /home/file
getfacl: Removing leading '/' from absolute path names
# file: home/file
# owner: root
# group: root
user::rw-
user:faker:rwx            ==删除了alisa用户的权限==
group::r--
group:alias:rw-
mask::rwx
other::---

查看/删除:

[root@localhost ~]# setfacl -x g:alias /home/file
[root@localhost ~]# setfacl -b /home/file
[root@localhost ~]# getfacl /home/file
getfacl: Removing leading '/' from absolute path names
# file: home/file
# owner: root
# group: root
user::rw-
group::r--
other::---

查看帮助

[root@localhost ~]# man setfacl

  • /EXAMPLES

复制

getfacl /home/file | setfacl --set-file=- /home/file2

touch /home/file2
setfacl -m  u:alias:rwx /home/file
getfacl /home/file | setfacl --set-file=- /home/file2

getfacl: Removing leading '/' from absolute path names
[root@localhost ~]# getfacl /home/file2
getfacl: Removing leading '/' from absolute path names
# file: home/file2
# owner: root
# group: root
user::rw-
user:alias:rwx
group::r--
mask::rwx
other::---

ACl高级特性

mask:水涨船高 只要有任何的acl就会变化

default:继承是以后的事情,之前的不算

mask:

  • 水涨船高 只要有任何的acl就会变化用于临时降低用户或组(除属主和其他人)的权限

建议:为了方便管理文件权限,其他人的权限为空

小结:可以降低用户和组的权限

[root@10 ~]# setfacl -m u:alias:r,u:tom:rw,g:hr:rwx /home/file1
[root@10 ~]# getfacl /home/file1
getfacl: Removing leading '/' from absolute path names
# file: home/file1
# owner: root
# group: root
user::rw-
user:alias:r--
user:tom:rw-
group::r--
group:hr:rwx
mask::rwx
other::r---
[root@10 ~]# setfacl -m m::r /home/file1
[root@10 ~]# getfacl /home/file1
getfacl: Removing leading '/' from absolute path names
# file: home/file1
# owner: root
# group: root
user::rw-
user:alias:r--
user:tom:rw-            #effective:r--
group::r--
group:hr:rwx            #effective:r--
mask::r--
other::r--

让全世界安静

[root@10 ~]# setfacl -m m::--- /home/file1            
[root@10 ~]# getfacl /home/file1
getfacl: Removing leading '/' from absolute path names
# file: home/file1
# owner: root
# group: root
user::rw-
user:alias:r--            #effective:---
user:tom:rw-            #effective:---
group::r--            #effective:---
group:hr:rwx            #effective:---
mask::---
other::r--

default:继承(默认)

要求希望alias能够对/home已经以后在/home下的文件有读、写、执行权限

步骤1:赋予alias对/home读、写、执行权限

[root@10 ~]# setfacl -m u:alias:rwx /home/

步骤2:赋予alias对以后在/home下新建的文件有读、写、执行

[root@10 ~]# setfacl -m d:u:alias:rwx /home/
[root@10 ~]# mkdir /111
[root@10 ~]# setfacl -m u:alias:rwx /111
[root@10 ~]# getfacl /111/
getfacl: Removing leading '/' from absolute path names
# file: 111/
# owner: root
# group: root
user::rwx
user:alias:rwx
group::r-x
mask::rwx
other::r-x
[root@10 ~]# mkdir /111/222

[alias@10 ~]$ touch /111/file1		==alias为继承111的权限==
[alias@10 ~]$ touch /111/222/file   ==touch: 无法创建 '/111/222/file': 权限不够== 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值