✏️
安全运维
  • 目录
  • 常用命令速查手册
    • LINUX 命令总结
  • Linux--CentOS
    • 实战案例
      • 进入CentOS 7紧急模式,恢复root密码
      • 创建一个让root都无法删除的文件
      • tar源码包管理及srpm源码包安装方法
      • 找出系统中使用CPU最多的进程
      • 使用screen执行备份命令
      • 扩展Swap分区
      • 解决磁盘有空间但创建不了文件及修复文件系统问题
      • 修复服务器文件系统
      • 自定义ssh服务的日志类型和存储位置
      • 日志切割及搭建远程日志收集服务器
      • 配置公司内网服务器每天定时自动开关机
    • 基础知识
      • Linux的目录结构
      • 系统时间管理
      • 关机、重启命令及7个运行级别
      • passwd、shadow 文件
    • 基础命令
      • 帮助命令
      • ping 命令
      • ls 命令
      • alias 命令
      • history 命令
      • Linux中的快捷键
      • Untitled
      • Untitled
    • 基础配置
      • 安装中文版man手册
      • 网卡配置
      • 关闭防火墙并设置开机不启动防火墙
      • 临时和永久关闭SELinux
      • 配置本地YUM源
    • 文件管理
      • touch 命令
      • VIM 命令
      • cp 命令
      • mv 命令
    • 文件查看
      • cat 命令
      • more 命令
      • less 命令
      • head 命令
      • tail 命令
      • sort 命令
    • 用户和用户组管理
    • 文件权限管理
      • 文件基本权限
      • 文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL
    • 程序包的管理与安装
      • Yum的使用
    • 文件的压缩和归档
    • 系统进程管理
      • uptime命令查看系统负载
      • top 命令动态管理进程
      • lsof 命令
      • pstree 命令
      • 进程前、后台切换及优先级管理
    • 重定向和文件的查找
      • 文件描述符
      • 重定向的含义及管道、tee命令的使用
      • 查找文件的常用命令及应用
      • 命令判断——3个特殊符号“;”“﹠﹠”“||”
    • 磁盘介绍及管理
      • 磁盘分区工具和挂载
    • 文件系统结构
      • 文件系统结构
      • 文件的硬链接和软链接
      • 使用ln命令创建文件的链接
    • RAID的原理与搭建
      • RAID常用类型搭建和使用,以及注意事项
    • LVM管理和SSM工具的使用
      • 创建LVM的基本步骤
      • SSM工具
    • Linux计划任务与日志的管理
      • 日志的种类和记录的方式
    • 文件共享服务
      • NFS 的安装与使用
      • Samba 的安装与使用
      • CentOS 7.6 安装和配置samba文件共享服务
      • FTP 的安装与使用
      • proftpd
  • 安全加固
    • Windows 安全加固
    • WebLogic 安全加固
    • Apache 安全加固
    • Tomcat 安全加固
    • MySql 安全加固
    • PHP 安全加固
    • SSH 安全加固
    • IIS 安全加固
  • 基线检查
    • DB2数据库基线检查策略
    • MySQL数据库基线检查策略
    • Oracle10g数据库基线检查策略
    • Sybase数据库基线检查策略
    • MSSQL 2008 基线检查策略
    • Jboss7 基线检查策略
    • Apache 基线检查策略
    • Tomcat 基线检查策略
    • 基线检查策略
  • ClamAV
  • iptables
由 GitBook 提供支持
在本页
  • 文件权限的作用
  • 更改文件的属主和属组
  • 文件权限管理
  • 文件权限补码

这有帮助吗?

  1. Linux--CentOS
  2. 文件权限管理

文件基本权限

上一页文件权限管理下一页文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL

最后更新于3年前

这有帮助吗?

Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。

为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:

  • chown (change ownerp) : 修改所属用户与组。

  • chmod (change mode) : 修改用户的权限。

下图中通过 chown 来授权用户,通过 chmod 为用户设置可以开门的权限。

文件权限的作用

在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组,如:

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

实例中,bin 文件的第一个属性用 d 表示。d 在 Linux 中代表该文件是一个目录文件。

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

(1)p表示命名管道文件。
(2)d表示目录文件。
(3)l表示符号连接文件。
(4)-表示普通文件。
(5)s表示socket套接口文件,如启用MySQL时会产生一个mysql.sock文件。
(6)c表示字符设备文件。例如,虚拟控制台或tty0。
(7)b表示块设备文件。例如,sda和cdrom。

查看/dev/sda /dev/cdrom /etc/passwd /dev/tty0三个设备文件的类型。

权限说明

(1)对于文件来说。
① r:读,可查看文件内容。
② w:写,可向文件中添加或修改内容。
③ x:执行,可执行文件(提交到CPU中运行)。
(2)对于目录来说(一般目录需要具有r和x权限)。
① r:读(表示能看到目录里面有什么),使用ls命令。
② w:在目录中创建文件,删除、移动可以通过touch、mkdir、rm、mv、cp命令实现。
③ x:进入,使用cd命令。
(3)文件的三类权限表示符。
① U:表示所有者权限标识位。
② G:表示用户组权限标识位。
③ O:表示其他用户权限标识位。
所有者:就是创建文件的用户,这个用户拥有对它所创建文件的一切权限,所有者可以允许其所在的用户组访问所有者创建的文件。
用户组:用户组是具有相同特征用户的逻辑集合,有时需要让多个用户具有相同的权限,如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理。
其他用户:针对此文件或目录来说,并非属主,也并非属组,那么对于该文件或目录而言就是其他用户。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。

从左至右用 0-9 这些数字来表示。

第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;

第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

常见的几种文件权限组成

(1)- rwx --- ---:文件所有者对文件具有读、写和执行的权限。

(2)- rwx r-- r--:文件所有者具有读、写和执行的权限,同组用户及其他用户则具有读取的权限。

(3)- rw- rw- r-x:文件所有者与同组用户对文件具有读和写的权限,而其他用户仅具有读取和执行的权限。

(4)drwx--x--x:目录所有者具有读、写和进入目录的权限,而其他用户仅能进入该目录,却无法读取任何数据。

(5)drwx------:除目录所有者具有完整的权限外,其他用户对该目录没有任何权限。

更改文件的属主和属组

1.改变文件的所属关系用到chown命令和chgrp命令(只有管理员可以使用该命令)

chown命令:用于改变文件或目录的属主。

chgrp命令:用于改变文件或目录的默认属组。

如果要对目录进行操作,加参数 -R相当于递归操作,将基于目录下的所有文件或目录进行同一操作。

2.chown命令使用语法

命令使用格式:chown 用户名:组名 文件名。

例如,把文件的属主和属组改为mysql用户和mysql组

root@localhost:~# chown mysql:mysql test.txt
-rw-r--r--  1 mysql mysql        29 Jul  8 09:49 test.txt

3.仅改变文件或目录的属主

命令使用格式:chown 用户名 文件名。

比如:把文件的属主改为admin用户。

root@localhost:~# chown admin test.txt

4.仅改变文件或目录的属组

命令使用格式:chown :组名 文件名。

例如,把文件的属组改为miao组(只修改属组,不用指定属主)。

root@localhost:~# chown :admin test.txt

5.自动继承这个用户所有的组(不用指定属组)

命令使用格式:chown 用户名: 文件名。

root@localhost:~# chown admin: test.txt

6.chgrp命令,仅用于修改文件或目录的属组

命令使用格式:chgrp 组名 文件名。

例如,把文件的属组改为admin组。

root@localhost:~# chgrp admin test.txt

选项-R:递归,目录下的所有内容都更改,不使用该选项则只修改目录。

文件权限管理

修改权限用的命令:chmod。

命令使用格式:chmod [操作对象] [操作符] [赋予什么权限] 文件名。

作用:修改文件、目录的权限。

1.操作对象

u:用户(user),表示文件或目录的所有者。

g:用户组(group),表示文件或目录所属的用户组。

o:其他用户(others)。a:所有用户(all)。

2.操作符

+:添加权限。

:取消权限。

=:直接给定一个权限。

3.权限:

r w x权限组合如表所示:

用chmod命令修改权限:

使用八进制值(0~7)表示权限,如表所示

权限的二进制、八进制对照如图所示:

修改文件权限:

权限对文件和目录的影响如下。

有3种权限可以应用:读、写和执行,这些权限对访问文件和目录的影响如表所示。

文件权限补码

创建文件的默认权限是644,这个默认权限是怎么来的?

文件默认权限=666 ,目录默认权限=777。

一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。

363003_1227493859FdXT