Linux用户权限基本权限UGO

简介: 今天介绍一下用户权限的基本权限UGO的授权,学习一下基本元素。

今天介绍一下用户权限的基本权限UGO的授权,学习一下基本元素。


一、概述


权限举个例子就是比如我们QQ空间的红钻特权,爱奇艺会员特权,游戏里面的VIP特权等


超级用户:可以做任何事情,不受限制

普通用户:能做有限的事情

超级用户的命令提示符#,普通用户的命令提示符$。


二、权限对象以及权限的类型


1、权限对象


u:属主(拥有者)

g:属组(拥有者同组)

o:其他人(其他用户)

特殊对象:a:所有人(u+g+o)


2、权限类型


符号表示 数字表示 说明 符号表示 数字表示 说明
r 4 只读 rx 5 读和执行
w 2 只写 wx 3 写和执行
x

1

只执行 rwx 7 读、写和执行
rw

6

读和写 --- 0

无权限



三、更改权限


权限的更改可以用符号和数字表示,下面来详细介绍其具体用法,介绍使用符号和使用数字的表达方式。


1、语法


语法:chmod  (-R)   对象(u/g/o/a)  赋值符(+/-/=)    权限类型(r/w/x/)    文件/文件目录


“+”代表赋予权限

“-”代表取消权限

“=”代表覆盖权限

如果在给授权目录的时候加-R那么目录下的所有文件权限都会随着变化,下面会一一演示。


2、普通文件的基本权限解读


 首先我们先使用cd命令进入到需要创建文件的目录,这个时候我们要用相对路径来操作,如果我们在root下使用绝对路径操作的话,普通用户是无法对文件进行操作的,因为root只有root用户才能访问,普通用户无法访问,为了防止后面出现问题我们使用cd命令进入到需要创建文件的目录


文件类型


d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

cd    /tmp/                                        //进入到tmp目录下

touch    sure1                                        //在tmp目录下创建一个file1的文件

ls   -l    sure1 (ll   sure1 是一样的效果都是查看sure1 的信息)


[root@localhost ~]# cd /tmp
[root@localhost tmp]# touch sure1
[root@localhost tmp]# ll  sure1
-rw-r--r--. 1 root root 0 9月  26 14:14 sure1


我们来解读一下sure1文件的信息


-      rw-r--r--.    1     root    root    0    9月 26 14:14      sure1


-  :之前我们讲过的代表他是普通文件

rw-r--r--.   :权:他是按照rwxrwxrwx排列的没有的权限会用“-”表示,三个三个组合,分别代表着属主、属组、其他人的权限,

       rw-:属主的权限(u)

       r--:属主的权限(g)

       r--:其他人的权限(o)

       上面讲的r:读、w:写、x:执行

1:如果是目录,代表目录下的子目录数,一个目录默认有两个子目录通过ls -a可以看到“.”和“..”,对于其他文件代表链接数。

root:属主

root:属组

0:文件大小

9月 26 14:14    :创建时间

sure1:文件名


3、更改权限演示

3.1对文件操作


 1)“+”给属主赋予执行权,给属组和其他人赋予写和执行权


使用符号操作:


[root@localhost tmp]# ll  sure1                                //更改权限之前查看文件信息

-rw-r--r--. 1 root root 0 9月  26 14:14 sure1

[root@localhost tmp]# chmod u+x  sure1                //给属主赋予执行权

[root@localhost tmp]# chmod go+wx sure1             //给属组和其他人赋予写和执行权

[root@localhost tmp]# ll sure1                                   //查看文件信息

-rwxrwxrwx. 1 root root 0 9月  26 14:14 sure1                //权限已经赋予成功

属组和其他人需要赋予的权利一样,所以可以直接一起赋予。

使用数字操作:


[root@localhost tmp]# ll sure2                                //查看更改权限之前的文件信息

-rw-r--r--. 1 root root 0 9月  26 14:32 sure2

[root@localhost tmp]# chmod 777 sure2                //授权给sure2

[root@localhost tmp]# ll  sure2

-rwxrwxrwx. 1 root root 0 9月  26 14:32 sure2


注意:数字授权相当于是覆盖授权,7=4(r)+2(w)+1(x),按照数字顺序分别表示属主、属组、其他人的权利。

 

2)“-”删除属主、属组、其他人的写和执行的权利

用符号操作:


[root@localhost tmp]# chmod ugo-wx sure1      //删除属主、属组、其他人的写和执行的权利

[root@localhost tmp]# ll sure1                                        //查看sure1的信息

-r--r--r--. 1 root root 0 9月  26 14:14 sure1

用数字操作:改操作相当于只保留读的权利


[root@localhost tmp]# chmod 444 sure2                        

[root@localhost tmp]# ll sure2

-r--r--r--. 1 root root 0 9月  26 14:32 sure2


3)“=”覆盖授权,将属主和属组的权限只有读和写


用符号操作:


[root@localhost tmp]# chmod ug=rw sure1

[root@localhost tmp]# ll sure1

-rw-rw-r--. 1 root root 0 9月  26 14:14 sure1


用数字操作:注意第三个数字不能不写不然意思就是其他人没有任何权利,所以这里第三个数字也就是其他人权利需要继续赋予原来读的权利。


[root@localhost tmp]# chmod 664 sure2

[root@localhost tmp]# ll sure2

-rw-rw-r--. 1 root root 0 9月  26 14:32 sure2


3.2对目录操作


  这里重点讲-R        //在更改目录权限的时候使用-R改目录下的文件权限也会随之改变。

目录如果没有x执行权

       1)如果没有x权限,不能进到目录里,即无法 cd dir

       2)如果没有x权限,ls列表可以看到所有文件名,但是会提示无权访问目录下文件

       3)如果没有x权限,ls -l列表,所有的属性会带有问号,也会提示无权访问目录下文件,但是可没有r无法列表文件及目录

没有w无法新建和删除


对目录进行授权


[root@localhost tmp]# mkdir -p /tmp/dir1/sss1                //创建一个目录

[root@localhost tmp]# ls  -ld  /tmp/dir1/sss1                                   //查看目录信息

drwxrwxrwx. 2 root root 15 9月  26 15:52 /tmp/dir1/sss1

[root@localhost tmp]# touch /tmp/dir1/sss1   1                   //在sss1目录下创建一个1文件

[root@localhost tmp]# ll /tmp/dir1/sss1/1                             //查看1文件信息

-rw-r--r--. 1 root root 0 9月  26 15:52 /tmp/dir1/sss1/1

[root@localhost tmp]# chmod 777 /tmp/dir1/sss1                    //不用-R更改sss1目录权限

[root@localhost tmp]# ll /tmp/dir1

drwxrwxrwx. 2 root root 6 9月  26 15:48 sss1

[root@localhost tmp]# ll /tmp/dir1/sss1/1                             //查看1文件信息

-rw-r--r--. 1 root root 0 9月  26 15:52 /tmp/dir1/sss1/1

[root@localhost tmp]# chmod -R 777 /tmp/dir1/sss1                //用-R修改sss1目录权限

[root@localhost tmp]# ls -ld /tmp/dir1/sss1

drwxrwxrwx. 2 root root 15 9月  26 15:52 /tmp/dir1/sss1

[root@localhost tmp]# ll /tmp/dir1/sss1/1                                //查看1文件信息发现1的权限被更改

-rwxrwxrwx. 1 root root 0 9月  26 15:52 /tmp/dir1/sss1/1


四、测试执行权


我们用sure1文件进行操作,要测试执行权,需要在文件内编写可执行的文本。


1)编写程序


echo:就是把后面的内容显示在屏幕上


 read:读取我们输入的信息放到我们后面指定的变量内(-p代表将后面信息显示在屏幕上)


[root@localhost tmp]# vim sure1

//进入到sure1文件内进行编写内容,下列是在sure1内输入的信息

echo  “hello2022”

read   -p   “input  your  name   please:”   name

echo     “welcome  $name ”


2)增加执行的权利


 这里我们只需要给属主加执行权就可以了,属主就是我们创建文件使用的账号


[root@localhost tmp]# chmod  u+x sure1                //给属主加执行的权利

[root@localhost tmp]# ll sure1

-rwxrw-r--. 1 root root 73 9月  26 14:55 sure1                      //属主有了执行权

3)运行测试


   运行就是打开这个文件即可


[root@localhost tmp]# ./sure1                //./代表打开文件

hello                                                         //输出结果

input your name please:sure                //read的执行结果输入内容放入到name内

welcome sure                                        //运行最后的结果

4)去除权限测试


[root@localhost tmp]# chmod u-x sure1                //去除属主的执行权

[root@localhost tmp]# ll sure1

-rw-rw-r--. 1 root root 73 9月  26 14:55 sure1                //属主没有了执行权

[root@localhost tmp]# ./sure1                                        //执行文件

bash: ./sure1: 权限不够                                                //显示权限不足


五、更改属主、属组


首先更改sure1的权限为默认的属主有读写权限,属组和其他人只有读的权利


[root@localhost tmp]# ll sure1

-rw-r--r--. 1 root root 73 9月  26 14:55 sure1


接下来我们需要更改的就是两个root的所在位置。


1)chown命令


注意一定要root下才能用


 chown:设置一个文件属于谁,属主


 语法:chown  用户名.组名   文件


  注意:同chmod一样可以对目录的属主和属组进行修改,加-R一样会修改目录下的所有文件


[root@localhost tmp]# chown sure1.S1 sure1             //改属主、属组(属主为sure1,属组为S1)

[root@localhost tmp]# ll sure1        

-rw-r--r--. 1 sure1 S1 73 9月  26 14:55 sure1                //更改成功

[root@localhost tmp]# chown shuo sure1                        //只改属主(更改属主为shuo)

[root@localhost tmp]# ll sure1

-rw-r--r--. 1 shuo S1 73 9月  26 14:55 sure1                        //更改成功

[root@localhost tmp]# chown .S2 sure1                                //只改属组(更改属组为S2)

[root@localhost tmp]# ll sure1

-rw-r--r--. 1 shuo S2 73 9月  26 14:55 sure1                        //更改成功


2)chgrp命令


注意一定要root下才能用


   chgrp:只修改属组

   语法:chgrp   组名   文件


注意:和chmod、chown一样可以修改目录的属组加-R一样会修改目录下的所有文件的属组

[root@localhost tmp]# ll sure1                                        //查看sure1信息

-rw-r--r--. 1 shuo root 73 9月  26 14:55 sure1

[root@localhost tmp]# chgrp  S1  sure1                        //修改sure1的属组

[root@localhost tmp]# ll sure1                                        //查看sure1修改后的信息

-rw-r--r--. 1 shuo S1 73 9月  26 14:55 sure1


  后面chown和chgrp对目录的修改就不在演示了,参照chmod的使用,后面chgrp命令可以忽略不看,因为chgrp的功能,chown可以实现,使用chown只修改属组的时候需要加“.”。


相关文章
|
2月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
54 2
|
1月前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
45 1
linux特殊权限!!
|
2月前
|
Linux 数据安全/隐私保护
Linux中用户权限问题
【10月更文挑战第4天】
24 1
|
2月前
|
运维 监控 安全
Linux_权限理解(详细PLUS)
【10月更文挑战第3天】本文介绍了Linux系统中的权限管理基础,包括文件系统对象与权限关联、权限的继承性、字符与数字表示法的解读,以及用户、组与权限的动态交互。详细解析了`chmod`命令的高级用法和权限修改的风险,探讨了SUID、SGID和Sticky Bit等特殊权限的作用机制,并提出了基于角色的权限分配和定期权限审计的最佳实践。
77 11
|
2月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
2月前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
2月前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
2月前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
30 0
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
95 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
265 6
下一篇
DataWorks