Linux权限(1)

简介: Linux权限(1)

重点讲解了权限的概念,用户的分类,文件的属性,文件的权限,用户的切换,如何修改文件属性,角色的划分等;

1. Linux权限的概念

权限是用来限制人的,访问的对象天然可能没有这种“属性” ;

权限:一件事情是否允许被谁“做”;

权限 = 人 + 事物属性;

1.1 Linux上的用户分类(人):

  • root超级用户:只有一个,在Linux中可以干任何事情;
  • 普通用户:可以有多个,但是有众多限制;
1.1.1如何切换用户:

这里我们要用到su命令:

命令: su [用户名] //同一个bash下进行身份切换 ----> 还在原来的目录

命令:su - //切换到root,并且重新登录root ----> 回到家目录

功能:切换用户。

[root@iZ2ze8prly56kg8in4hqa2Z learn]# su mi  //切换到用户mi
[mi@iZ2ze8prly56kg8in4hqa2Z learn]$ exit   //ctrl + d 退出

如果知道root的密码,那么就可以变成当前Linux内的任何一个普通用户

1.1.2 对单个指令进行提权:

命令: sudo command —

[root@iZ2ze8prly56kg8in4hqa2Z learn]# chmod 000 test.c   //关掉test.c的所有权限
[root@iZ2ze8prly56kg8in4hqa2Z learn]# su mi
[mi@iZ2ze8prly56kg8in4hqa2Z learn]$ cat test.c
cat: test.c: Permission denied
[mi@iZ2ze8prly56kg8in4hqa2Z root]$ sudo cat test.c
#include<stdio.h>
int main()
{
  printf("hello world");
  return 0;
}

1.3 文件的类型和访问权限 (事物属性):

我们在一个目录下执行ll命令的时候会出现:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qMURRmgS-1671096144186)(C:\Users\jason\AppData\Roaming\Typora\typora-user-images\image-20221215125644046.png)]

这里面包含了文件的多个属性,接下来我们就来介绍一下这些分别代表什么:

  • r—> 可读
  • w—> 可写
  • x—> 可执行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GvEQGM5B-1671096144187)(C:\Users\jason\AppData\Roaming\Typora\typora-user-images\image-20221215131445325.png)]

1.3.1文件类型:

d:文件夹

-:普通文件

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

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

p:管道文件

c:字符设备文件(例如屏幕,键盘等)

s:套接口文件

Linux中不用文件后缀区分文件类型,而是用文件属性中第一列的第一个字符来区分文件类型:

但是不代表编译器,或者其他软件不需要后缀;

例如:

①当我们把gcc编译出来的a.out文件的后缀修改成.txt的时候还是可以运行的

[root@iZ2ze8prly56kg8in4hqa2Z learn]# gcc test.c 
[root@iZ2ze8prly56kg8in4hqa2Z learn]# ll
total 20
-rwxr-xr-x 1 root root 12744 Dec 15 13:34 a.out
drwxr-xr-x 3 root root    18 Dec 14 21:12 dir
drwxr-xr-x 5 root root    69 Dec 14 22:04 mydir
drwxr-xr-x 7 root root    82 Dec 14 20:51 temp
-rw-r--r-- 1 root root    68 Dec 15 13:34 test.c
[root@iZ2ze8prly56kg8in4hqa2Z learn]# mv a.out a.txt
[root@iZ2ze8prly56kg8in4hqa2Z learn]# ll
total 20
-rwxr-xr-x 1 root root 12744 Dec 15 13:34 a.txt
drwxr-xr-x 3 root root    18 Dec 14 21:12 dir
drwxr-xr-x 5 root root    69 Dec 14 22:04 mydir
drwxr-xr-x 7 root root    82 Dec 14 20:51 temp
-rw-r--r-- 1 root root    68 Dec 15 13:34 test.c
[root@iZ2ze8prly56kg8in4hqa2Z learn]# ./a.txt
hello world
[root@iZ2ze8prly56kg8in4hqa2Z learn]#

②当我们把test.c的后缀改成.txt的时候却不可以被gcc识别了:

[root@iZ2ze8prly56kg8in4hqa2Z learn]# mv test.c test.txt
[root@iZ2ze8prly56kg8in4hqa2Z learn]# ll
total 20
-rwxr-xr-x 1 root root 12744 Dec 15 13:34 a.out
drwxr-xr-x 3 root root    18 Dec 14 21:12 dir
drwxr-xr-x 5 root root    69 Dec 14 22:04 mydir
drwxr-xr-x 7 root root    82 Dec 14 20:51 temp
-rw-r--r-- 1 root root    68 Dec 15 13:34 test.txt
[root@iZ2ze8prly56kg8in4hqa2Z learn]# gcc test.txt 
test.txt: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
1.3.2角色划分:

①文件拥有者

②文件的other

③文件所属组:

文件可以属于一个组内的所有成员,这种管理方法有利于企业的开发;

1.3.3文件权限值的表示方法:
1.3.3.1 字符表示方法:

1.3.3.2 八进制数值表示方法:

1.4如何修改权限:

1.4.1修改文件的权限:

chmod 命令

功能: 设置文件的访问权限

格式: chmod [参数] 权限 文件名

常用选项:

  • R -> 递归修改目录文件的权限
  • 说明:只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的格式:

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限
  • 用户符号:
  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

代码演示:

[root@iZ2ze8prly56kg8in4hqa2Z ~]# ll
total 8
-rw-r--r-- 1 root root 59 Dec 13 19:22 my.txt
---------- 1 root root 68 Dec 15 13:34 test.c
[root@iZ2ze8prly56kg8in4hqa2Z ~]# chmod u+r test.c //给所属者加上可读权限
[root@iZ2ze8prly56kg8in4hqa2Z ~]# ll
total 8
-rw-r--r-- 1 root root 59 Dec 13 19:22 my.txt
-r-------- 1 root root 68 Dec 15 13:34 test.c
[root@iZ2ze8prly56kg8in4hqa2Z ~]# chmod g+rw test.c //给所属组加上读写权限
[root@iZ2ze8prly56kg8in4hqa2Z ~]# ll
total 8
-rw-r--r-- 1 root root 59 Dec 13 19:22 my.txt
-r--rw-r-- 1 root root 68 Dec 15 13:34 test.c
[root@iZ2ze8prly56kg8in4hqa2Z ~]# chmod o+rwx test.c //给other加上读,写,执行权限
[root@iZ2ze8prly56kg8in4hqa2Z ~]# ll
total 8
-rw-r--r-- 1 root root 59 Dec 13 19:22 my.txt
-r--rw-rwx 1 root root 68 Dec 15 13:34 test.c
[root@iZ2ze8prly56kg8in4hqa2Z ~]# chmod u-rwx,g-rwx,o-rwx test.c  //去掉所有权限
[root@iZ2ze8prly56kg8in4hqa2Z ~]# ll
total 8
-rw-r--r-- 1 root root 59 Dec 13 19:22 my.txt
---------- 1 root root 68 Dec 15 13:34 test.c
[root@iZ2ze8prly56kg8in4hqa2Z ~]# chmod 000 test.c       //去掉所有权限
[root@iZ2ze8prly56kg8in4hqa2Z ~]# ll
total 8
-rw-r--r-- 1 root root 59 Dec 13 19:22 my.txt
---------- 1 root root 68 Dec 15 13:34 test.c
1.4.2修改文件的所有者:

chown命令:

  • 功能:修改文件的拥有者
  • 格式: chown [参数] 用户名 文件名

代码演示:

[root@iZ2ze8prly56kg8in4hqa2Z ~]# chown mi test.c 
[root@iZ2ze8prly56kg8in4hqa2Z ~]# ll
total 8
-rw-r--r-- 1 root root 59 Dec 13 19:22 my.txt
---------- 1 mi   root 68 Dec 15 13:34 test.c
1.4.3修改文件所属组:

chgrp命令:

  • 功能:修改文件或目录的所属组
  • 格式: chgrp [参数] 用户组名 文件名

常用选项:

  • -R 递归修改文件或目录的所属组

代码演示:

[root@iZ2ze8prly56kg8in4hqa2Z ~]# ll
total 8
-rw-r--r-- 1 root root 59 Dec 13 19:22 my.txt
---------- 1 mi   root 68 Dec 15 13:34 test.c
[root@iZ2ze8prly56kg8in4hqa2Z ~]# chgrp mi test.c //将test.c的文件所属组修改为mi
[root@iZ2ze8prly56kg8in4hqa2Z ~]# ll
total 8
-rw-r--r-- 1 root root 59 Dec 13 19:22 my.txt
---------- 1 mi   mi   68 Dec 15 13:34 test.c

到这本篇博客的内容就到此结束了,后序很快还会更新Linux权限(2)
如果觉得本篇博客内容对你有所帮助的话,可以点赞,收藏,顺便关注一下!
如果文章内容有错误,欢迎在评论区指正


相关文章
|
2月前
|
存储 安全 Linux
Linux权限之谜:一步步教你如何解锁sudo权限并窥视/etc/shadow的神秘面纱!
【8月更文挑战第22天】在Linux中,`sudo`命令让授权用户能以其他用户(通常是root)身份运行命令。关键的安全文件`/etc/shadow`存储用户密码哈希,仅root可读。要使用`sudo`,需确保账户被列入`sudoers`文件中。系统管理员可通过`visudo`编辑此文件来赋予用户权限,例如添加`username ALL=(ALL) NOPASSWD: ALL`行。获得`sudo`权限后,可运行`sudo cat /etc/shadow`查看文件内容,但需谨慎操作以免影响系统安全。遵循最小权限原则,确保安全使用这些强大工具。
53 2
|
2月前
|
Linux 数据安全/隐私保护
在Linux中,什么是文件权限?什么是rwx权限模型?
在Linux中,什么是文件权限?什么是rwx权限模型?
|
2月前
|
Unix Linux Shell
Linux 权限简介
Linux 权限简介
35 1
|
2月前
|
Linux 数据安全/隐私保护 Windows
Linux专栏10:Linux权限详解(上)
Linux专栏10:Linux权限详解(上)
40 3
|
2月前
|
Unix Linux Go
Linux中的chmod权限问题
Linux中的chmod权限问题
26 0
|
2月前
|
安全 Linux 数据安全/隐私保护
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
|
2月前
|
Linux
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。
|
2月前
|
安全 Linux 数据安全/隐私保护
Linux安全大揭秘:一键切换root权限背后隐藏的秘密
【8月更文挑战第23天】Linux操作系统因其出色的灵活性和安全性备受推崇,用户权限管理是其核心功能之一。本文介绍如何安全地在用户间切换,特别是切换至拥有最高权限的root用户。我们探讨了两种主要的方法:`su` 和 `sudo` 命令,并通过示例展示了它们的应用场景。`su` 命令适合需要执行多个root权限操作的情况,而 `sudo` 更适用于临时执行单个高权限命令。同时,文章还提供了一些最佳实践,如避免长时间使用root账户、定期审查 `sudoers` 文件等,以确保系统的安全性。正确理解和应用这些工具和原则对于维护Linux系统的安全至关重要。
40 0
|
2月前
|
安全 Linux 数据安全/隐私保护
在Linux中,什么是最小权限原则?
在Linux中,什么是最小权限原则?
|
2月前
|
Linux Go
在Linux中,文件和目录的权限有何作用以及如何修改?
在Linux中,文件和目录的权限有何作用以及如何修改?
下一篇
无影云桌面