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)
如果觉得本篇博客内容对你有所帮助的话,可以点赞,收藏,顺便关注一下!
如果文章内容有错误,欢迎在评论区指正


相关文章
|
1月前
|
Linux Shell
Linux系统文件默认权限
Linux系统文件默认权限
|
4天前
|
Linux 数据安全/隐私保护
linux特殊权限!!
本文介绍了Linux系统中的特殊权限,包括suid、sgid和sbit。suid使普通用户在执行特定命令时获得root权限;sgid使用户在创建文件时继承目录的用户组权限;sbit确保用户只能删除自己在共享目录中创建的文件。此外,文章还讲解了chattr和lsattr命令,用于更改和查看文件的扩展属性,以及umask的概念和计算方法,帮助理解文件和目录的默认权限。
19 1
linux特殊权限!!
|
1月前
|
运维 监控 安全
Linux_权限理解(详细PLUS)
【10月更文挑战第3天】本文介绍了Linux系统中的权限管理基础,包括文件系统对象与权限关联、权限的继承性、字符与数字表示法的解读,以及用户、组与权限的动态交互。详细解析了`chmod`命令的高级用法和权限修改的风险,探讨了SUID、SGID和Sticky Bit等特殊权限的作用机制,并提出了基于角色的权限分配和定期权限审计的最佳实践。
57 11
|
1月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
1月前
|
Linux 数据安全/隐私保护 Windows
Linux_权限理解(详细PLUS
Linux_权限理解(详细PLUS
|
1月前
|
网络协议 Linux 网络安全
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
【Linux】用户和权限及实用操作------迅速了解用户和权限及其实用操作
|
1月前
|
Linux Go 数据安全/隐私保护
Linux入门2——初识Linux权限
Linux入门2——初识Linux权限
24 0
|
3月前
|
存储 安全 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`查看文件内容,但需谨慎操作以免影响系统安全。遵循最小权限原则,确保安全使用这些强大工具。
83 2
|
3月前
|
Linux 数据安全/隐私保护
在Linux中,什么是文件权限?什么是rwx权限模型?
在Linux中,什么是文件权限?什么是rwx权限模型?
|
3月前
|
Unix Linux Shell
Linux 权限简介
Linux 权限简介
44 1