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只修改属组的时候需要加“.”。


相关文章
|
4月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
266 3
|
7月前
|
安全 Unix Linux
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
25000多字详细讲解,深度剖析权限管理核心。从基础权限到复杂的特殊权限,逐一拆解,无论你是零基础小白还是经验丰富的运维人员,都能在这里找到提升技能的关键知识,全面掌握 Linux 权限管理。还不快来看看?
【Linux权限】—— 于虚拟殿堂,轻拨密钥启华章
|
6月前
|
安全 Linux 数据安全/隐私保护
【Linux】深入理解linux权限
本文深入解析Linux权限管理机制,涵盖权限概念、用户角色、文件属性及操作方法。文章分为前言、权限介绍、用户与角色、文件属性、权限修改及常见问题六大板块。详细说明了权限类型(r/w/x)、角色优先级、chmod/chown指令用法,以及目录权限、umask掩码、粘滞位等重点内容。掌握这些知识,可有效提升Linux系统安全性和灵活性,是管理员必备技能。喜欢的话别忘了点赞支持哦! ❤❤❤
344 6
|
7月前
|
安全 Linux 数据安全/隐私保护
Linux权限揭秘“Root与Sudo”
Root用户是Linux系统中的超级用户,拥有对系统的完全控制权。Root用户几乎可以执行任何命令,修改任何文件,甚至删除系统上的所有内容。因此,Root用户的使用需要非常谨慎,以避免潜在的安全风险。
302 6
|
10月前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
221 1
linux特殊权限!!
|
11月前
|
Linux 数据安全/隐私保护
Linux中用户权限问题
【10月更文挑战第4天】
144 1
|
11月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
11月前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
Java Linux 数据安全/隐私保护
Linux用户权限文件详解
用户管理中最重要的一个文件,这个文件是对所有用户开放的,每一行存一个用户的信息,每个属性之间用冒号分割。 cat /etc/passwd root:x:0:0:root:/root:/bin/zsh bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:da.
4313 0
|
18天前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
80 16