Linux系统下文件系统权限 ——CentOS7

## 需要掌握的内容

  • 理解Linux文件系统权限
  • 理解文件特殊权限SUID和SGID
  • 掌握权限相关命令的用法:chown、chgrp、chmod
  • 理解并掌握文件默认权限umask的用法

# 使用的设备

  • CentOS 7

# 首先我们先认识linux系统下单文件属性

Linux系统下的文件属性共为10个字节

类型标识rwxrwxrwx

格式如上
文件属性的第一个字母为类型标识,用来说文件的类型。在linux系统中,一共有其中文件类型,分为为:

  • p表示命名管道文件
  • d表示目录文件
  • l表示符号连接文件
  • -表示普通文件
  • s表示socket套接口文件
  • c表示字符设备文件,例如,虚拟控制台或tty0
  • b表示块设备文件 例: sda, cdrom

如果用户没有对应权限则会使用“-”进行占位。
权限当中 “r” 代表读取权限 “w” 代表写入权限 “x” 代表执行权限
其中:
第一组“rwx”代表文件所有者的权限
第二组“rwx”代表文件所属组的权限
第三组“rwx”代表其他用户的权限

##只有root用户以及所属用户才有修改文件权限的权限

## 本章我们需要掌握的命令

  • chown:修改文件的所有者

  chown即change owner的意思,需要注意,用户必须存在于**/etc/passwd**,否则无法生效。chown甚至可以顺带把用户组名称改了,也可以连带目录下的所有子目录或文件同时更改文件拥有者。其语法如下:
  chown [-R] 所有者名称 文件或目录
chown [-R] 所有者名称:用户组名称 文件或目录

  • chgrp:修改文件所属组

  chgrp即change group,但是需要注意,修改后的所属组,必须是事先存在于**/etc/group文件中,否则无法完成修改。另外,其执行命令的格式为:
  chgrp users [-R] dirname/filename
   -R 参数表示递归地修改组属性,表示连同目录及其下属文件和目录都进行更新成为此用户组。

  • chmod:修改文件权限

命令格式:chmod [OPTION]… MODE[,MODE]… FILE/DIRECTORY…
OPTION选项:-R 递归地目录和文件的权限
MODE 模式:[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+


[ugoa]:
u:User,文件或目录的拥有者
g : Group 文件或目录的所属群组
o : Other 除了文件或目录所有者或群组之外的其他用户
a : All 全部的用户,包含所有者,群组及其他用户

[-+=]符号:

+添加权限
-取消权限
=指定权限

权限代号:

r:读取权限,数字代号为“4”
w:写入权限,数字代号为“2”
x:执行权限,数字代号为“1”
-:没有权限,数字代号为“0”

使用八进制(0-7)数字表示权限法:

权限二进制值八进制值描述
—-0000没有任何权限
–x0011只有执行权限
-w-0102只有写入权限
-wx0113有写入和执行权限
r–1004只有读取权限
r-x1015有读取和执行权限
rw-1106有读取和写入权限
rwx1117有全部权限

简单记忆系统权限

简单来说只需要记住
首先是标识 创建者 工作组 其他人
读取 4(r) 写入 2(w) 执行 1(x) 无权 0(-)
记住是rwx不是RWS)

# 尝试操作

1.使用root用户登录系统,请为IT部创建用户it;创建两个用户liwen和wangjiaqi,并将他们加入附加组it;创建一个测试用户账户test01。查看UID和GID。

首先我们需要创建用户和组

[root@local ~]# groupadd IT
[root@loacl ~]# useradd -g IT liwen
[root@loacl ~]# useradd -g IT wangjiqi
[root@loacl ~]# useradd -g IT test01
[root@loacl ~]# tail -5 /etc/passwd
tcpdump:x:72:72::/:/sbin/nologin
admin:x:1000:1000:admin:/home/admin:/bin/bash
liwen:x:1001:1001::/home/liwen:/bin/bash
wangjiqi:x:1002:1001::/home/wangjiqi:/bin/bash
test01:x:1003:1002::/home/test01:/bin/bash
[root@loacl ~]# tail -5 /etc/group
stapdev:x:158:
tcpdump:x:72:
admin:x:1000:admin
IT:x:1001:
test01:x:1002:

如上所示,我们可以查看passwd和group文件可以看到我们已经创建了

2.使用root用户登录系统,请创建/data/it目录,查看该目录权限;请在/data/it目录下创建两个文件liwen.txt和wangjiaqi.txt,并查看文件的权限信息。

我们这里先创建文件并查看下权限

[root@loacl ~]# mkdir -p /data/it
[root@loacl ~]# ls -l /data/
total 0
drwxr-xr-x. 2 root root 6 Oct 17 10:57 it

可以看到这就是正常状态下用户创建完文件夹的状态,我们现在创建完里面的liwen.txt与wangjiaqi.txt之后再看一下

[root@loacl ~]# touch /data/it/liwen.txt /data/it/wangjiaqi.txt
[root@loacl ~]# ls -l /data/it/
total 0
-rw-r--r--. 1 root root 0 Oct 17 11:03 liwen.txt
-rw-r--r--. 1 root root 0 Oct 17 11:03 wangjiaqi.txt

我们可以看到正常文件创建完成之后,只有我们有读写权限别的用户都只有读取的权限。我们可以记下这点

3.使用root用户登录系统,请对/data/it/liwen.txt设置文件权限:用户liwen拥有完全控制权限,IT部其他用户只有读取和执行权限,其他人没有任何权限。

我们可以先想一下,我们现在需要李文有完全控制,但是同组的也要有读取权限和执行权限我们计算一下完整的权限是7但是同组的只需要读取和执行所以4+1=5 所以我们填入的命令应该问750

[root@loacl ~]# chmod 750 /data/it/liwen.txt
[root@local ~]# ls -l /data/it/liwen.txt
-rwxr-x---. 1 root root 0 Oct 17 11:03 /data/it/liwen.txt

我们使用chown进行更改所有者
我们把拥有者更改为李文,所属组改为IT组

[root@local ~]# chown liwen:IT /data/it/liwen.txt
# 或使用命令 chown linwen.IT /data/it/liwen.txt
# 又或者命令 chown liwen /data/it/liwen.txt
# 然后用命令 chgrp IT /data/it/liwen.txt
[root@loacl ~]# ls -l /data/it/liwen.txt
-r-xr--r--. 1 liwen IT 0 Oct 17 11:03 /data/it/liwen.txt

4.使用root用户登录系统,请对/data/it/wangjiaqi.txt设置文件权限:用户wangjiaqi拥有完全控制权限,IT部其他用户只有读取权限,其他人没有任何权限。

跟上面一样但是我们需要考虑现在it部门其他用户只有r了,所以大差不差

[root@loacl ~]# chown wangjiqi:IT /data/it/wangjiaqi.txt
[root@loacl ~]# ls -l /data/it/wangjiaqi.txt
-rw-r--r--. 1 wangjiqi IT 0 Oct 17 11:03 /data/it/wangjiaqi.txt
[root@loacl ~]# chmod 740 /data/it/wangjiaqi.txt
[root@loacl ~]# ls -l /data/it/wangjiaqi.txt
-rwxr-----. 1 wangjiqi IT 0 Oct 17 11:03 /data/it/wangjiaqi.txt

我们在这里试一下使用文字的方法

[root@loacl ~]# ls -l /data/it/wangjiaqi.txt
-rwxr-x---. 1 wangjiqi IT 0 Oct 17 11:03 /data/it/wangjiaqi.txt

可以看到这样同样可以修改

5.使用root用户登录系统,请对/data/it目录设置权限,要求IT部用户拥有/dat/it目录的使用权(读取+写入+进入目录权限),但是不允许其他人进入该目录查看,并查看该目录的权限信息。

[root@loacl ~]# chgrp IT /data/it
[root@loacl ~]# ls -l /data/
total 0
drwxr-xr-x. 2 root IT 44 Oct 17 11:03 it
[root@local ~]# chmod 770 /data/it
[root@local ~]# ls -l /data/
total 0
drwxrwx---. 2 root IT 44 Oct 17 11:03 it

6.切换到用户liwen,并进入到/data/it目录,请在该目录下创建一个文件share1.txt,查看文件权限信息。请切换用户到wangjiaqi,对/data/it/share1.txt进行权限测试:进入到/data/it目录,请向share1.txt文件中写入内容“This is a public document“,测试用户wangjiaqi是能够修改该文件?

李文账号

[liwen@local it]$ pwd
/data/it
[liwen@local it]$ touch share1.txt
[liwen@local it]$ ls -l share1.txt
-rw-rw-r--. 1 liwen IT 0 Oct 17 11:40 share1.txt

登录王佳琪账号

PS C:\Users\pc> ssh wangjiqi@192.168.32.128
wangjiqi@192.168.32.128's password:
[wangjiqi@local ~]$ cd /data/it
[wangjiqi@local it]$ ls
liwen.txt  share1.txt  wangjiaqi.txt
[wangjiqi@local it]$ ls -l share1.txt
-rw-rw-r--. 1 liwen IT 0 Oct 17 11:40 share1.txt
[wangjiqi@local it]$ nano share1.txt
[wangjiqi@local it]$ cat share1.txt
This is a public document
[wangjiqi@local it]$
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇