热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

linux下的权限问题,Linux中的权限发布啦!

导读在linux系统下,一切东西都可以看做是文件。针对一个文件而言,不同的用户对它有不同的权限。试想一下,假如有一个系统的配置文件

导读

在linux系统下,一切东西都可以看做是文件。针对一个文件而言,不同的用户对它有不同的权限。试想一下,假如有一个系统的配置文件,普通用户都可以对它进行修改,那么这将是多麽可怕的事情。所以,我们将根据不同的文件访问者设置不同的权限。

一、Linux中的权限

在linux中,我们可以将文件的访问者分为三类,针对这三类访问者我们可以对他们设置不同的权限。

1、文件访问者的分类

文件和文件目录的所有者:u(User)。

文件和文件目录的所有者所在的组中的用户:g(Group)。

其他用户:o(Others)。

2、文件的基本权限

读(r):具有读取文件内容的权限;对目录来说,具有浏览目录信息的权限。

写(w):具有修改文件的权限;对目录来说,具有删除移动目录内文件的权限。

执行(x):具有执行文件的权限,前提是文件必须可执行;对目录来说,具有进入目录的权限。

SouthEast

3、修改文件的权限

3.1、修改文件访问权限

命令:chmod [参数] 权限 文件名

参数:R表示递归的修改目录中所有文件的权限

v表示显示整个修改过程

chmod命令有两种修改文件权限的方法:

第一种:针对某一类访问者设定权限,

命令格式:chmod 用户表示符 +/-/= 文件权限 文件名

+表示为用户增加文件权限,-表示取消用户的权限,=表示赋予用户这个权限。

用户符号:u表示所有者,g表示所有者所在的组,o表示其他人,a表示所有人。

SouthEast

第二种方法就是使用三位数的八进制:

命令格式: chmod xxx(权限) 文件名

其中从左向右,第一个x表示属主的权限,取值是0~7,0就表示”—”,7表示”rwx”。

第二个x表示属组的权限,第三个x表示其他人的权限。

SouthEast

3.2、更改文件所有者

命令:chown [参数] 用户名 文件名

参数:R表示递归的修改目录中所有文件的所有者

v表示显示整个修改过程

例1:

SouthEast

例2:

SouthEast

3.3、更改文件所有者所在的组

命令:chgrp [参数] 用户名 文件名

参数:R表示递归的修改目录中所有文件的所有者

v表示显示整个修改过程

例1:

SouthEast

例2:

SouthEast

4、查看或修改文件掩码

有没有想过,当我们新创建一个文件或者目录的时候,它的默认权限是什么?我们可不可以按照自己的意愿来设置呢?

linux中提供了umask这个命令来设置默认权限。除此之外,umask还可以查看文件掩码。文件掩码就跟子网掩码是一样的道理。

预设权限=存取权限-文件掩码

超级用户默认掩码是0022,也就是生成文件后文件权限是:rwx r-x r-x。

普通用户默认掩码是0002,也就是生成文件后文件权限是:rwx rwx r-x。

命令格式:umask 权限值

例:设置文件掩码0000,则新创建文件或目录后的权限是rwxrwxrwx。

SouthEast

SouthEast

注意,不是上面的例子错了,而是因为test文件是普通文件,不具备可执行的权限,所以在创建新文件的时候应该是:

SouthEast

例2:

SouthEast

二、权限粘滞位

1、为什么要有权限粘滞位

目录的可执行权限:

目录的可执行权限表示你是否可以在这个目录下执行命令。如果目录没有x权限,则就无法对目录执行任何命令,甚至无法cd进入目录,即使你仍然对目录有r权限。目录的rw权限表示的是你可以对目录里面的文件进行读写,因此对于任何访问者而言,只要他对一个目录有w权限,那么他就能删除这个目录里面的文件。

这样的的话,那文件的权限是不是就成摆设了,只要对一个目录有w权限的话,任何用户都可以随意删除目录里面的文件,针对linux这种多用户的操作系统而言,这是我们绝对不允许的。因此linux里面通过权限粘滞位来解决这种情况。

2、什么是权限粘滞位

权限粘滞位是针对目录而言的,当目录被设置了权限粘滞位之后,即便用户对该目录有写入权限,也不能删除这个目录中其他用户的文件数据。而是只有该文件的所有者和root用户才有权删除。设置了权限粘滞位之后,就保持了一种平衡,允许各用户在目录中任意的写入删除数据,但是不能删除其他用户的数据。

设置了权限粘滞位的目录,它的属性中其他用户的可执行权限x将会变成t。

3、怎么设置权限粘滞位

命令:chmod o+t 目录名

例:

SouthEast



推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Linux磁盘的分区、格式化的观察和操作步骤
    本文介绍了如何观察Linux磁盘的分区状态,使用lsblk命令列出系统上的所有磁盘列表,并解释了列表中各个字段的含义。同时,还介绍了使用parted命令列出磁盘的分区表类型和分区信息的方法。在进行磁盘分区操作时,根据分区表类型选择使用fdisk或gdisk命令,并提供了具体的分区步骤。通过本文,读者可以了解到Linux磁盘分区和格式化的基本知识和操作步骤。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有