权限管理概述

为什么要进行权限管理?

因为在生产服务器上,如果要让普通用户登录,就要给他分配合理的权限,在服务器上需要为用户严格定义权限等级,否则如果所有人都是roσt权限,权限过高容易导致岀现误操作、盗取账号等风险。

Linux文件属性及权限说明

文件权限

输入命令ls -l ,可以查看文件的权限,如:-rwxr-xr-x

每个文件针对每类访问者定义了三种主要权限。其中,第一位:代表文件类型,后面每3位代表一组权限,分别是:所有者、所属组和其他人。

文件权限分别为:读( read ),写( write ),执行( execute),简写即为(r,w,x),也可以可用数字来(4,2,1)表示,-即无权限。

注意

1.root账户不受文件权限的读写限制,执行权限受限制

2.用户获取文件权限的顺序:先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看

3.缺省创建的文件不可授予可执行的权限,基于最基本的安全机制,防止病毒等

对于文件和目录来说,r、w、x有着不同的作用和含义

针对文件

r 读取文件内容,如cat、more、tail、head等
w 修改文件内容,如vim、echo等
x 执行权限,如命令、脚本等,对除二进制程序以外的文件没什么意义

针对目录 :目录本质可看做是存放文件列表、节点号等内容的文件

r 查看目录下的文件列表如ls
w 删除和创建目录下的文件,如 touch、 mkdir、rm
x 可以cd进入目录,能査看目录中文件的详细属性,能访问目录下文件内容(基础权限)

文件权限管理

[root@localhost ~]# **chmod**  [选项] 模式 文件名

参数说明:

  • 选项:-R 表示递归

  • 模式:权限 字母 表示法 :[ugoa][+-=][rwx] ** 权限** 数字 表示法 :[mode=421]

  • 权限数字:r-4,w-2,x-1,无权限 - 0

  • 常用组合:777最高权限,644普通文件权限,755执行权限

举例:
//为文件的**所有者** 附加执行权限:
[root@localhost ~]# chmod u+x test. txt
//为**所有者** 赋予所有权限
[root@localhost ~]# chmod u=rwx test. txt
//为**所有人** (所有者、所属组、其他人)赋予所有权限
[root@localhost ~]# chmod a=rwx test. txt
//为**文件** 赋予**执行权限** :rwxr-xr-x
[root@localhost ~]# chmod 755 test. txt

改变文件或者目录所有者

[root@localhost ~]# **chown**  用户名文件名         #修改文件所有者
[root@localhost ~]# chown 所有者:所属组 文件名 #时改变所有者和所属组

参数说明:

  • 选项:-R表示递归,处理指定目录及其子目录下的所有文件
举例:
//将test文件的所有者修改为icq
[root@localhost ~]# chown icq test
//修改test文件的所有者和所有组修改为:icq、 cutest
[root@localhost ~]# chown icq:icqtest test

改变文件或者目录所有组

[root@localhost ~]# **chgrp ** 用户组 文件或目录 #改变文件或目录的所属组

注意 :能更改文件或目录的所有者和所有组的用户是root

举例:
//将test.txt文件的所属组由**root** 更改为**icqtest**
[root@localhost ~]# chgrp icqtest test.txt

显示、设置文件的默认权限

[root@localhost ~]# umask [-S]  #显示、设置文件的默认权限

参数说明:-S以rwx形式显示新建文件的默认权限

命令说明:

  • 对于 windows而言,默认权限是从上级目录继承而来的,而 linux则是通过 umask权限设定的

  • 如果用户建立文件 ,默认是没有可执行权限的 ,即权限表示为-rw-rw-rw-,即666

  • 如果用户建立目录 ,默认权限是全开放的 ,即权限表示 drwxrwxrwx,即777

    umask的值,默认为022,就是需要减掉的权限,比如:

建立文件时,666-022644,即rw-r—r—

建立目录时,777-022755,即drwxr-xr-x

这就是为什么我们在没有设置 umask值时,默认创建的文件和目录权限分别为644和755了

举例:
//查看默认权限
[root@localhost ~]# umask
//将新创建的目录权限设置为**rwxr-xr--** ,可以用777减去754得到**023** ,设置 umask的值为023后再创建目录
[root@localhost ~]# umask 023

Linux 权限控制的更多相关文章

  1. Linux学习总结(14)——Linux权限控制

    linux中,权限的学习是必不可少的,不论是作为一名运维工程师或者是单一的管理者,学习好linux中的权限控制,你就可以保护好自己的隐私同时规划好你所管理的一切. 权限的学习是很多的,不要认为自己已经 ...

  2. Linux权限控制

    文件属性 权限说明 文件用户组调 权限设置建议 文件属性 在shell环境里输入:ls -l 可以查看当前目录文件.如: drwxr-xr-x. 14 root root 4096 Apr 5 18: ...

  3. Linux (七)权限控制

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1. 概述 Linux需要对登录用户读写执行文件.进入目录.查看增删目录内容等操作进行控制,不能任由用户 ...

  4. <实训|第九天>掌握linux中普通的权限控制和三种特殊的权限(sst),做合格的运维工程师

    linux中,权限的学习是必不可少的,不论是作为一名运维工程师或者是单一的管理者,学习好linux中的权限控制,你就可以保护好自己的隐私同时规划好你所管理的一切. 权限的学习是很多的,不要认为自己已经 ...

  5. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

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

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

  7. 第十二章:Linux中权限控制实例

    前言 前文对 Linux 中的权限进行了较为透彻的分析.而本文,则在前文的基础上,具体说明如何在代码中进行权限控制. 下面的代码涉及到以下几个方面: 1. 创建文件时设置文件权限 2. 修改文件的默认 ...

  8. Linux 中权限控制实例

    前言 前文对 Linux 中的权限进行了较为透彻的分析.而本文,则在前文的基础上,具体说明如何在代码中进行权限控制. 下面的代码涉及到以下几个方面: 1. 创建文件时设置文件权限 2. 修改文件的默认 ...

  9. linux入门系列9--用户管理及文件权限控制

    ​ 前面文章分享了Linux下常用命令以及Shell编程相关知识,本节继续学习Linux用户管理及文件权限控制. ​ Linux是多用户多任务操作系统,具有很好的稳定性和安全性.既然是多用户,那就意味 ...

随机推荐

  1. java基础之AQS

    Java开发中,我们的应用程序经常会使用多线程提高程序的运行效率,多线程情况下访问线程共享变量可能会带来并发问题,此时就需要并发锁解决并发问题.Java提供了两种类型的并发控制机制:synchonri ...

  2. 使用Postman做接口测试(学生信息的6个接口)

    使用postman做接口测试,案例中涉及到接口有:获取学生信息.登录.添加学生信息.学生金币充值.获取所有学生信息.文件上传. 一.获取学生信息(get请求) 请求方式选择:get 直接在访问地址栏中 ...

  3. [转载]Windows 2008多用户同时远程登陆配置方法

    有些朋友需要在在使用Windows 2008远程登录功能时,进行多用户登录,那么就可以采用以下配置方法: 首先要启用远程桌面这一功能:右击"我的电脑"→ 属性 → 远程配置 → 远 ...

  4. Python3入门系列之-----file方法操作

    file方法 file处理文件的一些方法,创建一个file对像后即可对文件进行读写相关操作,首先你得打开文件,此处用到open函数 open函数 语法:file_objcet = open(file_ ...

  5. Java编程思想 第九章 接口

    第九章 接口 抽象类和抽象方法 抽象:从具体事物抽出.概括出它们共同的方面.本质属性与关系等,而将个别的.非本质的方面.属性与关系舍弃,这种思维过程,称为抽象. 这句话概括了抽象的概念,而在Java中 ...

  6. 2.1 附录--JVM指令手册

    栈和局部变量操作 将常量压入栈的指令 aconst_null 将null对象引用压入栈 iconst_m1 将int类型常量-1压入栈 iconst_0 将int类型常量0压入栈 iconst_1 将 ...

  7. 纯净Ubuntu16安装CUDA(9.1)和cuDNN

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. Java初步学习——2021.09.23每日报告,第三周周四

    (1)今天做了什么: (2)明天准备做什么? (3)遇到的问题,如何解决? 学习数组,编写了一个随机选牌的代码.自己最开始一直想只设置一个字符串数组,利用随机数来输出,但那样对字符串赋值会比较麻烦.可 ...

  9. Lynis 漏洞扫描工具部署及效果展示

    Lynis 漏洞扫描工具部署及效果展示 介绍 Lynis是一个安全审计工具,它可以在Linux,macOS和其他基于Unix的系统上运行.Lynis的主要重点是执行系统的运行状况检查,它还有助于检测漏 ...

  10. Java(9)数组详解

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201564.html 博客主页:https://www.cnblogs.com/testero ...