Linux基本命令之权限命令

在这里插入图片描述

1、权限管理

在 linux 中的每个用户必须属于一个组,不能独立于组外,每个组或者用户都有自己的权限。

1.1 基础

文件的一些基本属性。

在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组

[root@root /]# ll
total 68
-rw-r--r--   1 root root     0 Jul  7 17:13 9000
lrwxrwxrwx.  1 root root     7 Apr 26  2020 bin -> usr/bin
dr-xr-xr-x.  5 root root  4096 Apr 26  2020 boot
lrwxrwxrwx.  1 root root     8 Apr 26  2020 sbin -> usr/sbin
drwxr-xr-x   6 root root  4096 Jul  3 23:18 www

其中第一个位置表示文件类型,当

  • d 则表示是目录。
  • - 则表示是文件。
  • l 则表示是链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的9字符,分别以三个为一组,且均为 rwx 的三个参数的组合,表示文件的权限。其中,前三个字符为属主权限,中间三个字符为属组权限,最后三个字符为其他用户权限, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 代替

例如:drwxr-xr-x 6 root root 4096 Jul 3 23:18 www

文件类型属主权限属组权限其他用户权限
0123456789
dr w xr - xr - x
目录文件读 写 执行读 写读 写
代表字符权限对文件的含义对目录的含义分数
r读权限可以查看文件可以列出目录的内容4
w写权限可以修改文件可以在目录中创建、删除文件2
x执行权限可以执行文件可以进入目录1

6: 代表的意思是文件别引用了几次,通常设置有一个计数器.

root:代表文件的创建者

root:文件所属的组。

4096:文件大小。

Jul 3 23:18:文件创建或者左后一次修改的时间。

www:文件的名字。

1.2 权限管理

1、 chmod:修改文件或目录的权限(rwx权限)

chmod用于设置文件或目录的权限,一般有两种操作:

  1. 数字表示法:用数字来代替赋予文件的权限,通常用 r=4 w=2 x=1
  2. 符号表示法:用符号来表示赋予文件权限,通常用 r w x

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

即:

​ u 所有者

​ g 所有组

​ o 其他人

​ a 所有人(u、g、o 的总和)

1.1 数字表示法

语法

chmod [参数] [权限] [文件或目录]

参数

  • -R : 递归修改

  • -c : 若该文件权限确实已经更改,才显示其更改动作

  • -f : 若该文件权限无法被更改也不要显示错误讯息

  • -v : 显示权限变更的详细资料

权限

  • u 表示该文件的拥有者
  • g 表示与该文件的拥有者属于同一个组
  • o 表示其他人
  • a 表示这三者皆是
  • + 表示增加权限
  • -表示取消权限
  • = 表示唯一设定权限。
  • r 表示可读取,其值为4
  • w 表示可写入,其值为2
  • x 表示可执行,其值为1
  • X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

即:

1.符号表示

简写用户类型说明
uuser文件所有者
ggroup文件所有者所在组
oothers所有其他用户
aall所用用户, 相当于 ugo

2.权限增删

符号说明
+为指定的用户类型增加权限
-去除指定用户类型的权限
=设置指定用户权限的设置,即将用户类型的所有权限重新设置
权限rwx
7读 + 写 + 执行rwx
6读 + 写rw-
5读 + 执行r-x
4只读r–
3写 + 执行-wx
2只写-w-
1只执行–x
0

案例

1.将hello.java设置为所有人皆可写。

#查看hello.java所拥有的权限
[root@root itbestboy]# ll hello.java 
-rw-r--r-- 1 root root 20 Jul 27 00:43 hello.java

#增加些操作,即ugo+w  或者a+w
[root@root itbestboy]# chmod a+w hello.java 
[root@root itbestboy]# ll hello.java 
-rw-rw-rw- 1 root root 20 Jul 27 00:43 hello.java

2.将hello.java文件中的所属主增加执行操作,并且 将其他人的写操作去掉。

#查看hello.java所拥有的权限
[root@root itbestboy]# ll hello.java 
-rw-rw-rw- 1 root root 20 Jul 27 00:43 hello.java

#给所属主,即文件的拥有者添加执行操作, u+x   其他人的写操作去掉 o-w
#当同时操作多个权限时,中间用逗号隔开
[root@root itbestboy]# chmod u+x,o-w hello.java 
[root@root itbestboy]# ll hello.java 
-rwxrw-r-- 1 root root 20 Jul 27 00:43 hello.java

1.2 符号表示法

语法

chmod [参数] [权限] [文件或目录]

参数

  • -R : 递归修改
  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料

权限

  • u 表示该文件的拥有者
  • g 表示与该文件的拥有者属于同一个组
  • o 表示其他人
  • a 表示这三者皆是
  • + 表示增加权限
  • -表示取消权限
  • = 表示唯一设定权限。
  • r 表示可读取,其值为4
  • w 表示可写入,其值为2
  • x 表示可执行,其值为1
  • X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

即:

1.数字表示

代表字符权限对文件的含义对目录的含义分数
r读权限可以查看文件可以列出目录的内容4
w写权限可以修改文件可以在目录中创建、删除文件2
x执行权限可以执行文件可以进入目录1

2.组合

权限数值
7读 + 写 + 执行7(4+2+1)
6读 + 写6(4+2)
5读 + 执行5(4+1)
4只读4
3写 + 执行3(2+1)
2只写2
1只执行1
00

案例

1.将hello.java文件中的所属主修改为只能读,并且 将其他人的写操作加上。

#查看权限
[root@root itbestboy]# ll hello.java 
-rwxrw-r-- 1 root root 20 Jul 27 00:43 hello.java

#将所属主的权限修改为只读,即 r-- 数值为4 ,其他人的权限加上写操作,即rw- 数值为4+2=6,
#故此时hello.java的权限为466
[root@root itbestboy]# chmod 466 hello.java 
[root@root itbestboy]# ll hello.java 
-r--rw-rw- 1 root root 20 Jul 27 00:43 hello.java
#chmod 466 hello.java  等价于 chmod u=r,go=rw hello.java

不是所用用户都可以修改文件的,只有该文件的拥有者和root用户可以,其他对该文件没有拥有权(也就是不是自己创建的文件)是不能修改文件的权限的。

2、 chown:修改文件或命令所有者

这个命令只有root用户可以操作,其他用户不可以操作

语法

chown [参数] [权限] [文件或目录]

文件或目录:是指需要被修改所有者的文件名或者文件路径

参数 :

  • user : 新的文件拥有者的使用者 ID
  • group : 新的文件拥有者的使用者组(group)
  • -f : 忽略错误信息
  • -v : 显示详细的处理信息
  • -R : 递归修改

权限格式:user:group

案例

修改hello.java的所属主和所属组。

#查看hello.java的详细信息
[root@root home]# ll itbestboy/hello.java 
-r--rw-rw- 1 root root 20 Jul 27 00:43 itbestboy/hello.java
#修改hello.java的所属主和所属组
[root@root home]# chown -f anmious:anmious itbestboy/hello.java
#再次查看hello.java的详细信息
[root@root home]# ll itbestboy/hello.java 
-r--rw-rw- 1 anmious anmious 20 Jul 27 00:43 itbestboy/hello.java

2.在1的基础之上,不改变hello.java的拥有者,但是关联组设置为 2011(关联组ID)

[root@root home]# chown -f :2011 itbestboy/hello.java 
[root@root home]# ll itbestboy/hello.java 
-r--rw-rw- 1 anmious 2011 20 Jul 27 00:43 itbestboy/hello.java

3、 chgrp:修改文件或命令所属组

这个命令只有root用户可以操作,其他用户不可以操作

语法

chgrp [参数] [属组名 ] [文件名]

参数

  • -R  递归处理
  • -v 显示指令执行过程。

案例

更改hello.java文件所属组为root

#查看文件的所属组
[root@root home]# ll itbestboy/hello.java 
-r--rw-rw- 1 anmious 2011 20 Jul 27 00:43 itbestboy/hello.java

#把文件的所属组改为root  等价于  chown -v :root itbestboy/hello.java
[root@root home]# chgrp -v root itbestboy/hello.java
group of ‘itbestboy/hello.java’ retained as root
[root@root home]# ll itbestboy/hello.java 
-r--rw-rw- 1 anmious root 20 Jul 27 00:43 itbestboy/hello.java

4、 umask:显示、设置文件的缺省权限

​ umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将文件现在的权限减掉权限掩码后,即可产生建立文件时预设的权限。

十进制值权限rwx二进制
7读 + 写 + 执行rwx111
6读 + 写rw-110
5读 + 执行r-x101
4只读r–100
3写 + 执行-wx011
2只写-w-010
1只执行–x001
0000

语法

umask [参数] [权限掩码]

参数

  • -S  以文字的方式来表示权限掩码。

案例

1.查看权限掩码

[root@root home]# umask
0022
[root@root home]# umask -S
u=rwx,g=rx,o=rx

可以看出umask执行后显示的是0022,其中0022可以分为两部分来看。其中第一个0是特权的意思,后面三个数字022表示权限掩码的值,用777减去022就可以得到755,表示的就是下面umask -S执行的结果,意思就是创建一个默认权限为所属主rwx,所属组r- x其他r-x的文件,即创建的文件的权限为rwxr-xr-x

[root@root home]# touch  test.txt
[root@root home]# ll test.txt 
-rw-r--r-- 1 root root 0 Aug  3 22:16 test.txt

此时创建一个文件后发现该文件的权限并不是rwxr-xr-x,而是-rw-r–r--都缺少了执行的权限,那是因为在linux系统中,系统默认所有创建的文件都没有执行的权限,这是因为linux系统具有自我保护功能,这样做可以避免病毒的攻击。

如果想让文件的权限具有rwxr-xr-x,即754,则可以使用权限掩码,即777-754=023,可以将权限掩码设置为023,即umask 023

Linux基本命令之查找命令:------------------------------------------------------------------《加载完成》-------------------------------------------------------------------

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rocky Linux是一个基于Red Hat Enterprise Linux(RHEL)源代码的企业级Linux发行版。它旨在提供一个稳定、可靠且免费的操作系统,以满足企业和个人的需求。 以下是一些Rocky Linux基本命令: 1. ls:列出当前目录下的文件和文件夹。 2. cd:切换目录。例如,cd /path/to/directory将进入指定路径的目录。 3. pwd:显示当前所在的目录路径。 4. mkdir:创建一个新的目录。例如,mkdir new_directory将在当前目录下创建一个名为new_directory的新目录。 5. rm:删除文件或目录。例如,rm file.txt将删除名为file.txt的文件。 6. cp:复制文件或目录。例如,cp file.txt /path/to/destination将复制file.txt到指定路径的目录中。 7. mv:移动文件或目录,也可以用于重命名文件或目录。例如,mv file.txt /path/to/destination将移动file.txt到指定路径的目录中。 8. cat:显示文件内容。例如,cat file.txt将显示file.txt文件的内容。 9. grep:在文件中搜索指定的字符串。例如,grep "keyword" file.txt将在file.txt文件中搜索包含"keyword"的行。 10. chmod:修改文件或目录的权限。例如,chmod 755 file.txt将给file.txt文件设置读、写和执行权限。 11. chown:修改文件或目录的所有者。例如,chown user:group file.txt将将file.txt文件的所有者更改为指定的用户和组。 12. sudo:以超级用户权限执行命令。例如,sudo command将以超级用户身份执行指定的命令。 希望以上信息对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值