07-权限管理

1.1 环境搭建

#创建一个用户组

  1 groupadd group_mode

#创建用户并属于 group_mode

  1 useradd user_mode -g group_mode

#如果该用户有用户组的话:

  1 usermod -g group_mode user_mode

#创建用户2属于这个用户组

  1 useradd user_mode_2 -g group_mode

#创建其他用户test

  1 useradd test

#查看创建情况

  1 [[email protected] ~]# id user_mode
  2
  3 uid=3337(user_mode) gid=3337(group_mode) groups=3337(group_mode)
  4
  5 [[email protected] ~]# id user_mode_2
  6
  7 uid=3338(user_mode_2) gid=3337(group_mode) groups=3337(group_mode)
  8
  9 [[email protected] ~]# id test
 10
 11 uid=3335(test) gid=3335(test) groups=3335(test)
 12 

#创建目录

  1 [[email protected] ~]# mkdir /user_mode
  2
  3 [[email protected] ~]# ll -d /user_mode/
  4
  5 drwxr-xr-x 2 root root 4096 Feb 9 09:20 /user_mode/
  6
  7 [[email protected] ~]#
  8 

第2章 文件权限测试

文件的执行权限和写权限需要读权限来配合。

执行权限对文件来说是最大的权限,相对来说比较危险。

所以默认的文件最高权限是666

文件默认权限为644 (umask 0022)

2.1 对文件的执行权限测试

用root创建文件夹及文件。

  1 [[email protected] user_mode]# pwd
  2
  3 /user_mode
  4
  5 [[email protected] user_mode]# echo "echo Aige">>test.sh
  6
  7 [[email protected] user_mode]# cat test.sh
  8
  9 echo Aige
 10
 11 [[email protected] user_mode]# chmod +x test.sh
 12
 13 [[email protected] user_mode]# sh test.sh
 14
 15 Aige
 16
 17 [[email protected] user_mode]# ll test.sh
 18
 19 -rwxr-xr-x 1 root root 10 Feb 9 09:25 test.sh
 20
 21 [[email protected] user_mode]#
 22
 23 user_mode运行该脚本
 24
 25 [[email protected] ~]$ /user_mode/test.sh
 26
 27 -bash: /user_mode/test.sh: Permission denied
 28
 29 显然,权限不足。
 30 

2.2 修改文件所有者及所属组

  1 [[email protected] user_mode]# chown -R user_mode.group_mode /user_mode/
  2
  3 [[email protected] user_mode]# ll test.sh
  4
  5 -rwxr-xr-x 1 user_mode group_mode 10 Feb 9 09:25 test.sh
  6
  7 [[email protected] user_mode]#
  8
  9 #user_mode运行
 10
 11 [[email protected] ~]$ /user_mode/test.sh
 12
 13 Aige
 14
 15 #user_mode_2运行
 16
 17 [[email protected] ~]$ /user_mode/test.sh
 18
 19 Aige
 20
 21 #test运行
 22
 23 [[email protected] ~]$ /user_mode/test.sh
 24
 25 Aige
 26 

修改权限:

  1 [[email protected] user_mode]# chmod u-x test.sh
  2
  3 [[email protected] user_mode]# ll test.sh
  4
  5 -rw-r-xr-x 1 user_mode group_mode 10 Feb 9 09:25 test.sh
  6 

测试:

  1 #user_mode运行:
  2
  3 [[email protected] ~]$ /user_mode/test.sh
  4
  5 -bash: /user_mode/test.sh: Permission denied
  6
  7 #user_mode_2运行:
  8
  9 [[email protected] ~]$ /user_mode/test.sh
 10
 11 Aige
 12
 13 #test运行:
 14
 15 [[email protected] ~]$ /user_mode/test.sh
 16
 17 Aige
 18 

2.3 对文件进行读写权限测试

2.3.1 读权限

#权限检测

  1 [[email protected] user_mode]# ll test.sh
  2
  3 -rwxr-xr-x 1 user_mode group_mode 10 Feb 9 09:25 test.sh
  4
  5 #user_mode运行
  6
  7 [[email protected] ~]$ cat /user_mode/test.sh
  8
  9 echo Aige
 10
 11 #user_mode_2运行
 12
 13 [[email protected] ~]$ cat /user_mode/test.sh
 14
 15 echo Aige
 16
 17 #test运行
 18
 19 [[email protected] ~]$ cat /user_mode/test.sh
 20
 21 echo Aige
 22 

#去掉读权限:

  1 [[email protected] user_mode]# chmod u-r test.sh
  2
  3 [[email protected] user_mode]# ll test.sh
  4
  5 --wxr-xr-x 1 user_mode group_mode 10 Feb 9 09:25 test.sh
  6
  7 #user_mode运行:
  8
  9 [[email protected] ~]$ cat /user_mode/test.sh
 10
 11 cat: /user_mode/test.sh: Permission denied
 12 
2.3.2 写权限
  1 [[email protected] user_mode]# ll test.sh
  2
  3 -rwxr-xr-x 1 user_mode group_mode 10 Feb 9 09:25 test.sh
  4
  5 去掉写权限:
  6
  7 [[email protected] user_mode]# chmod u-w test.sh
  8
  9 [[email protected] user_mode]# ll test.sh
 10
 11 -r-xr-xr-x 1 user_mode group_mode 10 Feb 9 09:25 test.sh
 12
 13 #user_mode运行
 14
 15 [[email protected] ~]$ echo pwd >> /user_mode/test.sh
 16
 17 -bash: /user_mode/test.sh: Permission denied
 18
 19 有写权限没有读权限:
 20
 21 [[email protected] user_mode]# chmod 355 test.sh
 22
 23 [[email protected] user_mode]# ll test.sh
 24
 25 --wxr-xr-x 1 user_mode group_mode 10 Feb 9 09:25 test.sh
 26
 27 #user_mode运行:
 28
 29 [[email protected] ~]$ echo pwd > /user_mode/test.sh
 30
 31 [[email protected] ~]$ cat /user_mode/test.sh
 32
 33 cat: /user_mode/test.sh: Permission denied
 34
 35 [[email protected] ~]$ vi /user_mode/test.sh
 36
 37 "/user_mode/test.sh" [Permission Denied]
 38 

2.4 小结:

1. 可读r:标识具有读取,浏览文件内容(block)的权限

2. 可写w:标识具有新增,修改文件内容的权限。

1)如果没有r配合,那么vi编辑器会提示无法编辑(但是可以强制编辑),echo可以追加内容

2)删除文件,修改文件,创建文件的权限是父目录的权限控制的,与本身权限无关

3. 可执行x:标识具有执行文件的权限。

1)首先文件的本身要能执行(命令或脚本)

2)普通用户同时还需要具备r的权限才能执行

3)root用户只要有x的权限就能执行。

第3章 目录权限测试

目录最高权限为777,目录相对危险的权限是写权限。

所以系统默认的umask的值为0022,组员和其他人只有进入并查看的权限

目录默认的权限为755

  1 [[email protected] /]# ll -d /user_mode/
  2
  3 drwxr-xr-x 2 user_mode group_mode 4096 Feb 9 09:25 /user_mode/
  4
  5 #user_mode运行
  6
  7 [[email protected] ~]$ touch /user_mode/user
  8
  9 [[email protected] ~]$ ll /user_mode/user
 10
 11 -rw-r--r-- 1 user_mode group_mode 0 Feb 9 10:24 /user_mode/user
 12
 13 [[email protected] ~]$
 14
 15 #user_mode_2运行
 16
 17 [[email protected] ~]$ touch /user_mode/user_2
 18
 19 touch: cannot touch `/user_mode/user_2‘: Permission denied
 20
 21 [[email protected] ~]$
 22 

当目录没有写权限的时候,对应的目录不能对目录进行增(创建文件)删(删除文件)改(修改文件名),仅剩下就是查(查看文件的数量和文件名)

3.1 小结:

1. 可读r:标识具有浏览目录(ls)下面文件及子目录的权限

1)如果没有x权限,则不能进到目录,既无法执行cd dir

2)如果没有x权限,ls列表时可以看到所有文件名,但是无法显示文件的详细属性

2. 可写w:表示具有增加,删除或修改目录内文件名的权限。

3. 可执行x:表示具有进入目录的权限

第4章 其他

4.1 默认权限分配的命令umask

umask的二进制是三位一个数字,既例如uamsk是0022.那么它就是000 000 010 010

默认权限是把文件的最高权限减去umask值

例如普通文件的默认最高权限是0666改成二进制000 110 110 110

那么二进制对应位置相减,得出的就是最终创建文件的默认权限。

例如0减去1

1.1 suid,sgid,Stickybit

1.1.1 suid知识小结:是针对命令和二进制程序的

1)用户或属主对应的前三位权限的x位上如果有s就表示suid权限。

当x位上没有小写执行权限的时候,Suid的权限是显示S(大写)。

2)suid作用是让普通用户可以以root(或其他)的用户角色运行只有root(或其他)账号才能运行的程序或命令,或程序命令对应本来没有权限操作的文件等。

3)passwd可以修改自己的密码,因为/etc/shadow是没有任何权限的,既不能读写执行。没有suid的话就不能修改/etc/shadow的密码文件,就不能修改自己密码。

4)仅对二进制命令程序有效,不能用在shell等类似脚本文件上(脚本调用二进制命令)

5)二进制命令程序需要有可执行权限x配合

6)suid权限仅再程序命令执行过程中有效。

7)执行suid命令的任意系统用户都可以获得该命令程序在执行期间对应的拥有者的所有权限

8)suid方便了命令使用,但是谁执行了却不得知。对系统安全有一定的威胁

1.1.2 sgid

1)与suid不同的是,sgid可以针对文件和目录

2)一旦执行命令跳转到了那个命令的组的权限。

3)管理目录,得到了那个目录管理的权限。

1.1.3 sbit

1)只针对目录

2)/tmp就是拥有粘滞位,用户只能修改自己的文件(增删改)

1.2 小结:

三个都方便了使用,但是都对系统安全有一定的威胁。

第2章 命令

2.1 chmod

chmod 644 file

chmod u-x,g-x file

chmod u=rwx,o=rwx file

chmod -x file

2.2 chown

chown user.group file

矮哥运维群:93324526

时间: 2024-10-10 12:28:55

07-权限管理的相关文章

MySQL数据库(7)_用户操作与权限管理、视图、存储过程、触发器、基本函数

用户操作与权限管理 MySQL用户操作 创建用户 方法一: CREATE USER语句创建 CREATE USER "用户名"@"IP地址" IDENTIFIED BY "密码"; 方法二: INSERT语句创建 INSERT INTO mysql.user(user,host, password,ssl_cipher,x509_issuer,x509_subject) VALUES('用户名','IP地址',password('密码'),'',

Linux学习笔记(二)——Linux用户管理和权限管理

Linux系统的权限管理 Linux系统是一个多用户多任务的操作系统,多用户是指系统资源可以被不同用户各自拥有,即每个用户对自己的资源有特定的权限,用户之间互不影响.Linux系统有一套权限管理机制,文件不允许非授权用户访问或修改.这种机制的实现是通过用户和组的形式实现的. 5.1           Linux安全机制 账户管理是Linux安全机制的核心部分.登录Linux系统的用户都会被分配一个的用户账户.用户对系统上文件的访问权限取决于他们登录系统时使用的账户.每个用户的权限是通过创建用户

ASP.NET MVC+EF框架+EasyUI实现权限管理系列

http://www.cnblogs.com/hanyinglong/archive/2013/03/22/2976478.html ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇 前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也要感谢大家了,因这个 项目我已经上传了,得到了很多网友的评价,也有好多人发邮件给我说这个框架容易出现问题,不能访问,这也是支持我写这个系列的动力,我将这个项目写成一个 系列

【linux相识相知】用户及权限管理

linux系统是多用户(Multi-users)和多任务(Multi-tasks)的,这样的目的是为了一台linux主机可以给很多用户提供服务同时运行多种服务,但是我们是怎么区分每个用户呢?作为一个管理员我对linux系统权限有哪些?作为一个普通的用户又可以对linux系统有哪些操作呢?这里就牵扯到了linux的用户类别和权限管理.本次博客就用户和权限管理作出详细的解释. 用户和组类型 在linux系统中,有着用户和组着两个概念,用户是被包含在组里面的. 用户可以分为以下2中类别: 管理员:也就

centos 7的用户和权限管理相关内容

1.用户,组知识即相关命令 a.用户的类别: 管理员:root 普通用户: 系统用户:仅用于运行服务程序: 登录用户:系统资源的正常使用者: 用户标识:UserID, UID 16bits二进制数字:0-65535: 管理员:0 普通用户: 系统用户: CentOS 5, 6: 1-499 CentOS 7: 1-999 登录用户: CentOS 5,6: 500+ CentOS 7: 1000+ 用户和组的管理: 主要以命令进行: 组:groupadd,  groupmod, groupdel

Linux 用户、用户组及权限管理

一.Linux用户及用户组的基本概念 用户:用户是实现能够将有限的资源在多个使用者之间进行分配:. 用户组:用户组是指多个用户的集合,方便对一类需要同样权限的用户授权 Linux是多用户.多任务的操作系统. 多用户指:多人同时使用系统资源:多任务:同时运行多个进程 二.用户及用户组类别 1.用户:名称解析库 /etc/passwd a.管理员 root 用户标识(UID)为0 b.普通用户及系统用户 普通用户的用户标识(既UID): CentOS 5,6: 500+ CentOS 7: 1000

用户、组及权限管理

一.用户及用户组的概念 现在操作系统均为多用户.多任务的操作系统.其中多用户是指多人同时使用系统资源:多任务是指系统同时运行多个进程. 用户是为了在多个使用者之间尽心资源的分配,而用户组则是用户的集合,方便对同一类型的用户权限进行管理. (一)用户 (1)用户分类及UID 用户的类别:用户主要分为管理员和普通用户,其中普通用户还分为系统用户与登录用户两类.用户通过UserID即UID来标识. 管理员:root UID为0 普通用户: 系统用户:仅用于运行服务程序. UID:在CentOS5和Ce

MVC 自定义AuthorizeAttribute实现权限管理

[Authorize] public ActionResult TestAuthorize() { return View(); } [Authorize(Users="test1,test2")] public ActionResult TestAuthorize() { return View(); } [Authorize(Roles="Admin")] public ActionResult TestAuthorize() { return View();

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装  (5):前台Jquery easyUI实现   (6):EF上下文实例管理   (7):DBSession的封装   (8):DBSession线程内唯一 前言:前面我们基本已经完成了一个Demo,我们在后面的

ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇 前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也要感谢大家了,因这个项目我已经上传了,得到了很多网友的评价,也有好多人发邮件给我说这个框架容易出现问题,不能访问,这也是支持我写这个系列的动力,我将这个项目写成一个系列,可能要很长时间吧,但是我肯定会一直坚持,如果我哪里写的不好欢迎大家指出我们共同学习,而且我理解的也不是很透彻,所以我想在写这样一遍