首页 > 其他分享 >权限相关知识

权限相关知识

时间:2024-11-15 23:14:31浏览次数:3  
标签:文件 知识 用户 home 相关 权限 root 目录

1.Linux权限的概念

在说Linux权限的概念之前我来问大家一个问题,你们觉得什么是权限? 权限平时的体现呢,就比如不是校长的亲戚就不能逛办公室,没充会员的爱奇艺看不了VIP影视剧,没成会员的的蛋糕店拿不到会员价等等等等。 a.权限是限制人的,人=真实的人+身份角色(校长亲戚,VIP等)。 b.目标事物的属性,也会影响权限(就好比你在爱奇艺里想写CSDN,这不搞笑吗,爱奇艺属性摆在那里,用来look影视剧的,怎么会有写博客的权利)。 所以我们能得出来,权限=角色+事物属性,权限最终决定你能不能做某事。
1.1Linux下有两种用户:超级用户(root)、普通用户。
超级用户:超级管理员,可以再 linux 系统下做任何事情,几乎不受任何限制。 普通用户:Linux的使用者,处处受到权限的限制。 超级用户的命令提示符是 “#” ,普通用户的命令提示符是 “$” 。 命令 : su [ 用户名 ] 功能 :切换用户。 例如,要从 root 用户切换到普通用户 user ,则使用 su user 。 要从普通用户 user 切换到 root 用户则使用 su root( root 可以省略),此时系统会提示输入 root 用户的口令。 root既然是管理员,那么它切换到任何用户都不要密码,但是普通用户之间切换以及切换到root都需要输入相对应的密码。 我们可以ctrl+d或者exit退回原来的用户。 这里有个点,当我们使用su切换身份时,我们当前的工作路径并没有变,如下图。 但我们使用su - 时,家目录会发生变化,工作路径会变。 所以我们想直接切换用户时就su,想重新登陆用户时就su -
1.2指令提权
那么我们如何不切换用户也可以执行更高权限的指令呢?这里就得谈谈指令提权了。 提权的使用sudo指令。这里的话可以看出来,提权需要的密码竟然不是超级用户root的,而是自己的,为什么呢?就是因为白名单的原因,白名单里有你,你才能提权,没有你就别想了,而白名单是管理员把你加进去的,说明他信任你,所以你才能提权,知道了吗。像我的话,还没学到vim,不会把我的用户加进白名单,所以后面再仔细说说这个。如果你在白名单里,这个操作就会成功,这里就不再说了。

2.Linux权限管理

2.1文件访问者的分类(人)
Linux里的角色分三类,文件拥有者,文件所属组,other。 文件和文件目录的所有者: u---User (中国平民 法律问题) 文件和文件目录的所有者所在的组的用户: g---Group (不多说) 其它用户: o---Others (外国人) 这里需要纠正一下,大家可能会想,咱们前面不才说了Linux之下有两种用户吗,现在怎么又冒出来三类角色了,其实很好理解,两种用户是具体的用户,而那三类只是角色,是由具体的用户扮演的,root既可以是拥有者,也可以是所属组所以二者并不冲突,恰恰相反,互补。
2.2文件类型和访问权限(事物属性)
a) 文件类型
d:目录 ,-:普通文件 ,c:字符设备文件(显示器&&键盘) ,b:块设备文件(磁盘) ,p:管道文件 ,l:链接文件。
b)基本权限
i. 读( r ): Read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 ii. 写( w ): Write 对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限 iii. 执行( x ): execute 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限 iv.“—” 表示不具有该项权限
2.3文件权限值的表示方法
a) 字符表示方法 b)8 进制数值表示方法
4.文件访问权限的相关设置方法
4.1chmod
功能: 设置文件的访问权限 格式: chmod [ 参数 ] 权限 文件名 常用选项: R -> 递归修改目录文件的权限 说明:只有文件的拥有者和 root 才可以改变文件的权限 chmod ① 用户表示符 +/-= 权限字符 +: 向权限范围增加权限代号所表示的权限 -: 向权限范围取消权限代号所表示的权限 =: 向权限范围赋予权限代号所表示的权限 用户符号:   u :拥有者 g :拥有者同组用 o :其它用户 a :所有用户 实例: ②三位 8 进制数字 实例:
4.2chown
功能 :修改文件的拥有者 格式 : chown [ 参数 ] 用户名 文件名 实例:
4.3chgrp
功能 :修改文件或目录的所属组 格式 : chgrp [ 参数 ] 用户组名 文件名 常用选项 : -R 递归修改文件或目录的所属组 实例
4.4umask
功能 : 查看或修改文件掩码 新建文件夹默认权限 =0666 新建目录默认权限 =0777 但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是 mask ,则实际创建的出来的文件权限是 : mask & ~umask 格式 : umask 权限值 说明 :将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022 ,普通用户默认为0002 。 实例
5.file指令
功能说明 :辨识文件类型。 语法 : file [ 选项 ] 文件或目录 ...  常用选项 : -c 详细显示指令执行过程,便于排错或分析程序执行的情形。 -z 尝试去解读压缩文件的内容。 使用 sudo 分配权限 (1)修改 /etc/sudoers 文件分配文件 # chmod 740 /etc/sudoers # vi /etc/sudoer 格式:接受权限的用户登陆的主机 = (执行命令的用户) 命令 (2)使用 sudo 调用授权的命令 $ sudo –u 用户名 命令
6.目录的权限
可执行权限 : 如果目录没有可执行权限 , 则无法 cd 到目录中 . 可读权限 : 如果目录没有可读权限 , 则无法用 ls 等命令查看目录中的文件内容 . 可写权限 : 如果目录没有可写权限 , 则无法在目录中创建文件 , 也无法在目录中删除文件 . 于是 , 问题来了 ~~ 换句话来讲 , 就是只要用户具有目录的写权限 , 用户就可以删除目录中的文件 , 而不论这个用户是否有这个文件的写 权限 . 这好像不太科学啊 , 我张三创建的一个文件 , 凭什么被你李四可以删掉 ? 我们用下面的过程印证一下: [root@localhost ~]# chmod 0777 /home/ [root@localhost ~]# ls /home/ -ld drwxrwxrwx. 3 root root 4096 9 月 19 15:58 /home/ [root@localhost ~]# touch /home/root.c [root@localhost ~]# ls -l /home/ 总用量 4 -rw-r--r--. 1 root root 0 9 月 19 15:58 abc.c drwxr-xr-x. 27 litao litao 4096 9 月 19 15:53 litao -rw-r--r--. 1 root root 0 9 月 19 15:59 root.c [root@localhost ~]# su - litao [litao@localhost ~]$ rm /home/root.c #litao 可以删除 root 创建的文件 rm :是否删除有写保护的普通空文件 "/home/root.c" ? y [litao@localhost ~]$ exit logout 为了解决这个不科学的问题 , Linux 引入了粘滞位的概念.
7.粘滞位
[root@localhost ~]# chmod +t /home/ # 加上粘滞位 [root@localhost ~]# ls -ld /home/ drwxrwxrwt. 3 root root 4096 9 月 19 16:00 /home/ [root@localhost ~]# su - litao [litao@localhost ~]$ rm /home/abc.c #litao 不能删除别人的文件 rm :是否删除有写保护的普通空文件 "/home/abc.c" ? y rm: 无法删除 "/home/abc.c": 不允许的操作 当一个目录被设置为 " 粘滞位 "( 用 chmod +t), 则该目录下的文件只能由 一、超级管理员删除 二、该目录的所有者删除 三、该文件的所有者删除

8.关于权限的三个问题

1.目录权限: a.如果我要进入一个目录需要什么权限?(需要x) b.r对目录来说有什么作用?(无权查看指定目录下的文件信息) c.w对于目录呢?(无权在指定目录内部新建文件,删除文件,修改文件等操作) 2.缺省权限: 由上面的八进制可以看出rwx(7)rwx(7)r-x(5),775 由上面的八进制可以看出rw-(6)rw-(6)r--(4),664 普通文件起始权限是666,目录是777. umask是权限掩码,不是说起始是666,777吗,为什么我们上面是664,775呢,这是因为有权限掩码的原因。 直接说结论:最终权限(默认)=起始权限&(~umask)。 我们来计算一下,我们上面的umask其实是0002(第一个0不用管,后面的内容才提到),转换成二进制就是000 000 010,翻译成反码就是111 111 101,最后再与起始权限666(110 110 110)取和,所以最终权限是110 110 100(664)。 所以我们修改权限掩码就能达到修改Linux文件缺省的问题。 3.共享目录下如何防止被删文件 a.假如有的人心里变态,你跟你对象创了共享文件,不给第三人看,而那个人就嫉妒,看不到就毁掉,那该怎么办呢,因为你既然能创建就说明目录的w是有的,所以就可以删文件。删除文件,只由所在目录的w权限决定,与其他无关。 b.这时候就得靠粘滞位了,因为任何用户在设置了粘滞位的目录下,只能删除自己的文件(当然root大魔王是无视规则的)。 c.粘滞位只能给目录设置,不需要给普通文件设置。

9.关于权限的总结

~目录的可执行权限是表示你可否在目录下执行命令。 ~如果目录没有 -x 权限,则无法对目录执行任何命令,甚至无法 cd 进入目 , 即使目录仍然有 -r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件) ~而如果目录具有-x 权限,但没有 -r 权限,则用户可以执行命令,可以 cd 进入目录。但由于没有目录的读权限 ~所以在目录下,即使可以执行 ls 命令,但仍然没有权限读出目录下的文档。

这篇文章到这就结束啦,希望对大家有所帮助。

标签:文件,知识,用户,home,相关,权限,root,目录
From: https://blog.csdn.net/wangzhezhifwng/article/details/143775709

相关文章

  • P3-4.【结构化程序设计】第四节——知识要点:break、continue和goto辅助循环设计语句
    知识要点:break、continue和goto辅助循环设计语句视频:P3-4.1.【结构化程序设计】第四节——知识要点:break、continue和goto辅助循环设计语句P3-4.2.【结构化程序设计】第四节——知识要点:break、continue和goto辅助循环设计语句 目录一、任务分析二、必备知识与理......
  • MyBatis面试题--(与数据库连接的相关知识)
    目录在MyBatis中,Mapper接口的作用是什么?当实体类中属性名和表中的字段名不一样,怎么办?1.使用@Result注解2.使用resultMap元素3.使用@Results注解(MyBatis3.4.1+)4.使用mapUnderscoreToCamelCase属性在MyBatis中如何实现分页功能?1.使用MyBatis分页插件2.手动编写分页SQL3.使......
  • Chromium源码分析一:基础知识
    目录Webkit、chromium、Googlechrome各模块结构图进程模型代码结构我的衣食父母基于Chromium实现小程序功能,现在已经开发维护代码一年多了,抽时间对公开的知识做个笔记总结。本文内容源于《WebKit技术内幕》Webkit、chromium、GooglechromeWebKit是一个开源的浏览器引擎,包含......
  • JAVA部分基础知识点(四)【持续更新】
    1.方法重写当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称、参数列表一样的方法,去覆善父类的这个方法,这就是方法重写。【注意:重写后,方法的访问,Java会遵循就近原则】方法重写的其它注意事项:重写小技巧:使用Override注解,他可以指定java......
  • hbase-2.2.7分布式搭建文档(附详细操作步骤命令及相关操作截图)
    hbase-2.2.7分布式搭建文档一,搭建前准备1.检查是否已经安装JDK2.搭建hbase前需要先搭建好hadoop3.检查zookeeper是否正常启动#启动zookeeper(三台都要启动)zkServer.shstart#查看zookeeper状态(一个leader两个follower)zkServer.shstatus4.到官网或国内镜像站下载hba......
  • 网络游戏安全现状及相关应对方案
    中国网络游戏历经十余年的飞速发展,取得了显著成就,但与此同时,也陷入了诸多安全问题的泥沼。一、中国网络游戏发展中的安全困境(一)灰色产业链滋生外挂、私服、盗号、打金工作室以及网络信息诈骗等灰色产业链在游戏行业中肆意生长。这些问题严重影响了游戏的正常运营与发展,成为行业......
  • 多线程篇·线程相关知识
    一、线程状态线程是cpu任务调度的最小执行单位,每个线程拥有自己独立的程序计数器、虚拟机栈、本地方法栈。线程状态包括:创建、就绪、运行、阻塞、死亡。二、线程状态切换三、阻塞唤醒过程阻塞以下三个方法的调用都会使当前线程阻塞,该线程将会被放置到对该Object的请......
  • 多线程篇·线程相关知识
    一、线程状态线程是cpu任务调度的最小执行单位,每个线程拥有自己独立的程序计数器、虚拟机栈、本地方法栈。线程状态包括:创建、就绪、运行、阻塞、死亡。二、线程状态切换三、阻塞唤醒过程阻塞以下三个方法的调用都会使当前线程阻塞,该线程将会被放置到对该Object的请......
  • 外发的图纸怎么做才能让对方只有查看的权限?
    cad设计的图纸是我们辛勤劳动出来的成果,很多时候需要外发给相关的部门审阅或是查看,那怎么做才能保障我们的原创图纸得到最大的保护呢?相信这是很多设计师想要知道的,那么我们来看看下面几个方法,有你想要的吗:1.使用CAD软件的内置安全设置许多CAD软件,如AutoCAD,提供了设置图纸属......
  • 关于定时器周期、频率等相关计算
    1、定时器作为计数器,时钟频率计算如下图: 2、定时器产生一次更新中断时间计算,如下:当定时器设置为边沿对齐模式和向上计数模式时,定时器计数到重装载值(arr)产生一次中断,产生一次中断的时间为: 其中:T为定时器周期,也为此处产生一次中断的时间;      arr为重装载值,即定......