一、Linux文件权限介绍

在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read)、可写(write)、可执行(excute)权限。目录的执行操作表示是否有权限进入该目录并操作执行该目录,文件都会从属于一个用户和一个用户组,每个文件针对文件的拥有者、所属组以及其他用户组具有特定权限。

1.1、查看文件权限示例

[root@hhm ssm]# ls -la
total 59596
drwxr-xr-x 2 root root 1024 Nov 18 15:44 .
drwxrwxr-x 6 zsitd zsitd 40 Nov 6 14:39 ..
-rw-r--r-- 1 root root 150 Jul 27 10:02 appsettings.Development.json
-rw-r--r-- 1 root root 542 Nov 3 13:52 appsettings.json
-rw-r--r-- 1 root root 32145 May 12 2020 dotnet-aspnet-codegenerator-design.dll
-rw-r--r-- 1 root root 21 Nov 6 14:27 host.json
-rw-r--r-- 1 root root 25674 Jun 17 22:02 Microsoft.AspNetCore.Authentication.JwtBearer.dll

权限说明:

可以看到文件的权限,-rw-rw-r-- ,一共有10位数.。

  • 最前面那个 - 代表的是类型(-代表文件,d代表目录,l代表连接)
  • 中间那三个 rw- 代表的是所有者(user)
  • 然后那三个 rw- 代表的是组群(group)
  • 最后那三个 r-- 代表的是其他人(other)

权限部分:

r 表示文件可以被读(read) ,用数字表示为:4
w 表示文件可以被写(write) ,用数字表示为:2
x 表示文件可以被执行(如果它是程序的话) ,用数字表示为:1
-表示相应的权限还没有被授予,用数字表示为0,
权限的不同组合,如rwx用数字表示则为7,r-x用数字表示则为5,以此类推。那么一个文件的权限(所有者、所属组及其他)就可能是如下的情况:

  • -rw------- (600) 只有所有者才有读和写的权限
  • -rw-r–r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
  • -rwx------ (700) 只有所有者才有读,写,执行的权限
  • -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
  • -rwx–x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
  • -rw-rw-rw- (666) 每个人都有读写的权限
  • -rwxrwxrwx (777) 每个人都有读写和执行的权限

图解:

需要注意的一点是,一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件,这是因为目录文件实际保存着该目录里面的文件的列表等信息。

二、补充

特殊权限SUID、SGID、Sticky

在 linux 系统中还有三种与用户身份无关的三个文件权限属性。即SUID、SGID和Sticky。
SUID(Set User ID, 4):
该属性只对有执行权限的文件有效,对目录无效。执行具有SUID权限的程序时,引发的进程的所有者是程序文件的所有者,而不是启动程序的用户(除非二者是同一个人)。比如,如果一个程序的所有者是root且具有SUID属性,一个普通用户执行此程序时,如同root执行此程序一样。(请注意该属性对Shell脚本程序无效)该属性为一些特殊程序(如lpr)的启动带来了方便。但有时也带来了安全隐患:比如一个具有SUID属性的程序如果在执行时运行了一个shell,那么用户可以籍此得到系统的最高权限。SUID可用s表示,如:

$ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 47032 Feb 16  2014 /usr/bin/passwd

SGID(Set Group ID, 4):
对于可执行文件,SGID与SUID类似,引发的进程的所有组是程序文件所属的组。对于目录,SGID属性会使目录中新建文件的所属组与该目录相同。SGID也可以用 s 表示,如:

$ ls -l /var
drwxrw s r-x  2 root staff    4096 Apr 10  2014 local
drwxrwxr-x 15 root syslog   4096 Apr  4 19:57 log

Sticky, 1:
仅对目录有效。带sticky属性的目录下的文件或目录可以被其拥有者删除或改名。常利用sticky属性创建这样的目录:组用户可以在此目录中创建新文件、修改文件内容,但只有文件所有者才能对自己的文件进行删除或改名。如系统中的/tmp文件夹。在属性字符串中,通常用 t 表示。

$ ls -l /
drwxrwxrw t    8 root root  4096 Apr  4 23:57 tmp

三、修改文件及文件夹对应用户权限操作

如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改。

3.1、加减赋值操作

u 代表所有者(user)

g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)

a 代表全部的人,也就是包括u,g和o

+ 和 - 分别表示增加和去掉相应的权限。+号一般不显示(初学练手时我还是会加上)

在终端输入:
chmod o+w xxx.xxx
chmod o w xxx.xxx         表示给其他人授予写xxx.xxx这个文件的权限

chmod go-rw xxx.xxx      表示删除xxx.xxx中组群和其他人的读和写的权限
chmod ug-r xxx.xxx

Linux/Centos文件授权用户文件夹权限介绍的更多相关文章

  1. CentOS Linux SVN服务器 配置用户目录访问 权限 Authorization failed

    SVN 修改 aurhz 文件设置用户目录访问权限格式: [/code] user=rw user 用户对code目录拥有读和写的权限. 但是访问 svn://192.168.1.59 的时候却提示A ...

  2. Linux Centos 通过虚拟用户访问FTP的配置

    Linux Centos 通过虚拟用户访问FTP的配置 实验需求: 让下面4个虚拟用户使用系统用户ftpvu的权限来连接到Linux FTP服务器,并确保都锁定在 自己的虚拟用户目录,不能切换到其他目 ...

  3. linux CentOS中创建用户 无密码登录

    首先点击左上角的 “应用程序” -> “系统工具” -> “终端”,首先在终端中输入 su ,按回车,输入 root 密码以 root 用户登录,接着执行命令创建新用户 hadoop: 接 ...

  4. linux —— 学习笔记(用户管理与权限控制)

    目录:1.用户的创建和管理    2.组的创建和管理 3.文件执行权限的控制 4.不用密码执行sudo 1.用户的创建和管理 用户的创建和管理: useradd.usermod . userdel . ...

  5. Linux 服务器上建立用户并分配权限

    查看用户 whoami #要查看当前登录用户的用户名 who am i #表示打开当前伪终端的用户的用户名 who mom likes who 命令其它常用参数 参数 说明 -a 打印能打印的全部 - ...

  6. Linux中给普通用户添加sudo权限

    使用Linux系统时,经常会被要求使用超级权限,但是root的权限太过大了,一般慎用!!!因此可以通过给普通用户添加sudo权限,平常用普通用户进行操作,当需要root权限的时候进行sudo操作.以下 ...

  7. linux怎么设置vsftp用户访问目录权限

    1.在指定的目录创建文件夹(访问的目录): mkdir picture 2.创建一个用户组(zdhgroup): groupadd zdhgroup 3.创建一个用户并指定路径和组: useradd ...

  8. Centos下普通用户设置sudo权限

    若执行sudo命令的用户没有sodu权限,则会报以下错误 violet is not in the sudoers file.This incident will be reported 若想让vio ...

  9. 【linux】FTP添加用户,设置权限和目录

    一.目的,新建一个用户 test2,登录ftp,它只有自己的主目录权限,其他同级和上级目录没有权限 二.ftp安装.配置 yum -y install vsftpd //通过yum来安装vsftpd ...

  10. Mac/Linux/Centos终端中上传文件到Linux云服务器

      1.mac上传文件到Linux服务器  scp 文件名 用户名@服务器ip:目标路径 如:scp /Users/test/testFile test@www.linuxidc.com:/test/ ...

随机推荐

  1. Apache APISIX 和 Kong 的选型对比

    从 API 网关核心功能点来看,两者均已覆盖: 功能 Apache APISIX Kong 动态上游 支持 支持 动态路由 支持 支持 健康检查和熔断器 支持 支持 动态SSL证书 支持 支持 七层和 ...

  2. Linux管道命令

    Linux中常用文件字符串分析的命令 在linux中文件管理与系统管理的方面,经常会用到要从一个文件中或者一长串字符串中提取你所需要的数据,或者某些字段来进行查看或者分析,作为一个初级linux小菜鸟 ...

  3. nodejs版本管理工具之n

    转载: https://juejin.cn/post/7065534944101007391 Node.js 对于现在的前端开发人员来说是不可或缺的需要掌握的技能,但我们在使用时避免不了会需要切换不同 ...

  4. 一个.NET开源、免费、功能强大的 PDF 处理工具

    前言 在日常工作中PDF文档的处理往往受限于其固有的格式,使得用户在编辑.合并.剪裁等方面面临诸多不便.今天大姚给大家分享一个.NET开源.免费.功能强大的 PDF 处理工具:PDF 补丁丁(PDFP ...

  5. 服务拆分之《阿里云OCR使用指南》

    在做一件什么事情: 遇到了什么问题: 问题分析: 业界解决方案: 我的方案: 最终的结果: 服务都已经迁移过来了,对应的那些使用的工具什么的也都得换成自己的账号.起初原始用的是什么忘记了,时间太长了已 ...

  6. 中电金信召开“源启 AI+”人工智能应用场景与发展培训暨业务研讨会

    近年来,国务院国资委把加快发展人工智能放在国资央企全局工作中统筹谋划,作为产业焕新行动和启航行动部署的主要方向,制定印发行动计划,组织召开中央企业人工智能专题推进会,开展"AI+" ...

  7. MockQueryable:LINQ查询模拟测试工具

    我们在项目开发过程中,单元测试是确保代码质量的重要环节.涉及数据库LINQ查询逻辑,就需要数据库配合,但这样可能出现性能和数据库并发等问题.下面给推荐一个开源库,为开发者提供了一种简便的方式来模拟LI ...

  8. .NET 阻止系统睡眠/息屏

    本文介绍Windows系统设备下如何阻止系统睡眠/息屏,以及想看当前阻止睡眠/息屏的应用信息 powercfg /requests查看活动列表 在播放音乐时,我们会发现设置了系统电源管理-自动睡眠,计 ...

  9. kubectl按pod创建时间排序获取列表 _

    按时间排序,可以更快地找到最近更新的pod 基于当前ns 1 kubectl get pods --sort-by=.metadata.creationTimestamp BASH 基于整个集群 1 ...

  10. Gmssl编译问题: error while loading shared libraries: libssl.so.1.1: cannot open shared object file

    在Centos7上编译安装Gmssl后,运行gmssl version出现如下错误: gmssl: error while loading shared libraries: libssl.so.1. ...