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


相关文章
|
1天前
|
关系型数据库 MySQL Linux
Linux下mysql添加用户并授权数据库权限
Linux下mysql添加用户并授权数据库权限
|
2天前
|
Linux Shell 数据安全/隐私保护
【Linux2】Linux的权限
【Linux2】Linux的权限
|
14天前
|
安全 Linux Go
【Linux】Linux权限的概念 -- 详解
【Linux】Linux权限的概念 -- 详解
|
16天前
|
运维 Ubuntu 安全
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
运维最全linux 命令行操作串口_linux串口命令(2),2024年最新Linux运维源码的Binder权限是如何控制
|
21天前
|
Linux
如何在 Linux 中递归更改文件的权限?
【5月更文挑战第10天】
31 3
|
21天前
|
算法 Linux 数据安全/隐私保护
Linux:权限
Linux:权限
24 0
|
21天前
|
Linux 数据安全/隐私保护 Windows
【Linux】权限 !
关于Linux的权限问题,可以理解为不同级别的工作者,分别拥有不同的能力来管理文件。
30 5
|
关系型数据库 MySQL Linux
Linux环境下安装mysql并分配用户权限
Linux环境下安装mysql并分配用户权限 1、首先下载mysql安装包     下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads     下载版本:我这里选择的5.
2091 0
|
23小时前
|
编解码 Ubuntu Linux
linux 系统命令总结之ubuntu 系列命令 持续更新中
linux 系统命令总结之ubuntu 系列命令 持续更新中
|
1天前
|
Linux
linux centos history 查看命令历史 显示时间戳
linux centos history 查看命令历史 显示时间戳