zoukankan      html  css  js  c++  java
  • 8. 用户权限管理

    00. 课程介绍部分
        1) 常见面试题 (系统启动流程 服务开机自启方法)
    	2) 用户管理概念
    	3) 用户权限说明(*)
    	4) 企业中用户管理注意事项
    

    课程知识回顾

        1) awk命令概念说明
    	   擅长取列 擅长统计分析日志
    	   awk命令语法: awk [参数] '模式{动作}' 文件
    	   awk执行原理: BEGIN{} END{}
    	2) awk实际解决了一些问题
    	   awk匹配查询信息 ==grep
    	   ~ !~  指定列进行匹配
           awk匹配替换信息 
    	   gsub(/要替换的信息/,"替换的内容",将第几列进行替换)
    	   awk匹配删除信息 
    	   awk '!/oldboy/'
        3) awk统计分析能力
    	   累加运算: i=i+1 i++
    	   求和运算: i=i+$n  
        01 求出测试文件中 所有人第一次捐款的总额和第三次捐款总额
           显示表头 
           第一总额  第三次总额 	
           xxx        xxxx	 
    	   awk -F ":" 'BEGIN{print "第一次总额","第三次总额"};/.*/{print $2,$4}'  awk_test.txt
    	   [root@oldboyedu ~]# awk -F ":" 'BEGIN{print "第一次总额","第三次总额"}{a=a+$2;b=b+$4}END{print a,b}' awk_test.txt|column -t
           第一次总额  第三次总额
           2130        1661
    

    常见面试题

    # 系统的启动流程:
       # centos6
    	01. 加电自检
    	    检查服务器硬件是否正常
        02. MBR引导
    	    读取磁盘的MBR存储记录信息,引导系统启动
    	03. grup菜单
    	    选择启动的内核/进行单用户模式重置密码
        04. 加载系统内核信息
    	    可以更好的使用内核控制硬件
    	05. 系统的第一个进程运行起来 init (串行)
    	    init进程控制后续各种服务的启动: 启动顺序 网络服务 sshd 
    	
    	06. 加载系统运行级别文件/etc/inittab
    	07. 初始化脚本运行
    	    初始化系统主机名称 和 网卡信息
    	08. 运行系统特殊的脚本
    	    服务运行的脚本 
    	09. 运行mingetty进程
    	    显示开机登录信息界面
    	
    	
       # centos7	
    	01. 加电自检
    	    检查服务器硬件是否正常
        02. MBR引导
    	    读取磁盘的MBR存储记录信息,引导系统启动
    	03. grup菜单
    	    选择启动的内核/进行单用户模式重置密码
        04. 加载系统内核信息
    	    可以更好的使用内核控制硬件	
    	05. 系统的第一个进程运行起来 systemd (并行)
    	    服务启动的时候,同时一起启动
    	06. 读取系统启动文件
    	    /etc/systemd/system/default.target
    	07. 读取系统初始化文件
    	    /usr/lib/systemd/system/sysinit.target
    	08. 使服务可以开机自启动
    	    /etc/systemd/system 加载此目录中的信息,实现服务开机自动启动
    	09. 运行mingetty进程
    	    显示开机登录信息界面
    

    1. 用户管理章节

    1.1 概念介绍

    # 用户概念介绍:
        管理员用户  root    0      	权利至高无上
        虚拟用户    nobody  1-999 	管理进程  没家目录 不能登录系统
        普通用户    oldboy	1000+   权利有限
        
    	r read
    	w write
    	x execute
    

    1.2 文件信息

    # 文件信息:
    	r  可以读文件的内容
    	w  可以编辑文件的内容
    	x  执行这个文件(脚本文件)
    	
    	touch oldboy_root.txt -- 属主是root
    	touch oldboy.txt --      属主是oldboy
    	                         其他用户oldgirl
    # 环境准备:
    	[root@oldboyedu ~]# touch oldboy_root.txt
        [root@oldboyedu ~]# ll oldboy_root.txt 
        -rw-r--r--. 1 root root 0 Apr 23 10:02 oldboy_root.txt
        
        [root@oldboyedu ~]# touch oldboy.txt
        [root@oldboyedu ~]# ll oldboy.txt 
        -rw-r--r--. 1 root root 51 Apr 23 10:02 oldboy.txt
        [root@oldboyedu ~]# chown oldboy oldboy.txt
        [root@oldboyedu ~]# ll oldboy.txt 
        -rw-r--r--. 1 oldboy root 51 Apr 23 10:02 oldboy.txt
       
       [root@oldboyedu ~]# chmod 000 oldboy_root.txt 
        [root@oldboyedu ~]# chmod 000 oldboy.txt 
        [root@oldboyedu ~]# ll oldboy_root.txt 
        ----------. 1 root root 0 Apr 23 10:02 oldboy_root.txt
        [root@oldboyedu ~]# ll oldboy.txt 
        ----------. 1 oldboy root 51 Apr 23 10:02 oldboy.txt
    
    # 文件权限配置的结论:
    	01. root用户对所有文件有绝对的权限,只要有了执行权限,root用户可以无敌存在
    	02. 对于文件来说,写的权限和执行的权限,都需要有读权限配合
    	03. 如果想对文件进行操作,必须对文件赋予读的权限
    

    1.3 目录信息

    # 目录信息:
    	r  读目录中的文件属性信息
    	w  可以在目录中添加或删除文件数据信息
    	x  是否可以进入到目录中
    	
    # 当目录赋予读的权限
    	[oldboy@oldboyedu ~]$ ll /home/oldboy/oldboy_dir/文件 
        ls: cannot access oldboy_dir/oldboy.txt: Permission denied
        total 0
        -????????? ? ? ? ?            ? oldboy.txt   # 看不到文件的属性信息,有执行权限才可以看到属性信息
    	
        # 读取文件数据原理	
    	/           inode (5 r_x) -- block (home)   # 先看目录下有没有目标文件,inode有权限--->指向block
        home        inode (5 r_x) -- block (oldboy)
        oldboy   	inode (7 rwx) -- block (oldboy_dir)
    	oldboy_dir  inode (4 r--) -- block (目录中文件名称)
    	# 没有执行权限,所以无法进入目录
    	oldboy.txt  inode # 目录中的文件inode信息无法获取,会显示文件属性信息为??? 
    	
    # 两个权限问题:
    	/oldboy/oldboy.txt 
    	01. oldboy.txt   权限 rwx--xr--  属主如何操作文件  其他用户可以如何操作这个文件
    		属主可以读写执行,而其他用户只能读
    
    # 目录权限配置的结论:
    	01. root用户对目录信息有绝对权限
    	02. 对于目录来说,写的权限和读的权限,都需要有执行权限配合
    	03. 如何想对目录进行操作,必须对目录赋予执行的权限
    
       # 一个普通文件默认权限: 644  保证属主用户对文件可以编辑  保证其他用户可以读取文件内容
       # 一个目录文件默认权限: 755  保证属主用户对目录进行编辑  保证其他用户可以读取目录中的信息,可以进入到目录中
    

    1.4 文件目录数据设置权限的方法: umask

    # 文件目录数据设置权限的方法:
    	1) 根据用户信息进行设定 (属主 属组 其他用户)
    	   属主-user       u  
    	   属组-group      g 
    	   其他用户-other  o 
    	   chmod u+r/w/x u-r/w/x u=rw
    	   chmod g+r/w/x u-r/w/x u=rw
           chmod o+r/w/x u-r/w/x u=rw
           
    	2) 根据用户进行批量设定
    	   数值设定:
    	   [root@oldboyedu ~]# chmod 761 oldboy.txt
           [root@oldboyedu ~]# ll oldboy.txt
           -rwxrw---x. 1 root root 0 Apr 23 11:42 oldboy.txt
    
    	   字符设定:
    	   [root@oldboyedu ~]# chmod a=x oldboy.txt
           [root@oldboyedu ~]# ll oldboy.txt
           ---x--x--x. 1 root root 0 Apr 23 11:42 oldboy.txt
    
    # 问题一: 为什么创建的文件和目录权限一致
    	目录权限都是 755
    	文件权限都是 644 
    	
    	[root@oldboyedu ~]# umask 
        0022
    
    	默认文件权限: 666 - 022 = 644
    	umask数值是奇数  666 - 033 = 633 + 11 = 644
    	umask数值是偶数  666 - 022 = 644
    	
        默认目录权限: 777 - 022 = 755	
    	umask数值是奇数  777 - 033 = 744
    	umask数值是偶数  777 - 022 = 755	
       	
    # 问题二: 如何永久修改umask信息
    	vim /etc/profile
    	if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
          umask 002
        else
          umask 022  --- 可以永久修改umask数值
        fi
    

    1.5 /etc/skel 目录介绍

    #  系统中的一个特殊的目录: /etc/skel  样板房 
    	[root@oldboyedu ~]# ll /etc/skel/ -a
        total 24
        drwxr-xr-x.  2 root root   62 Apr 11  2018 .
        drwxr-xr-x. 81 root root 8192 Apr 23 12:11 ..
        -rw-r--r--.  1 root root   18 Apr 11  2018 .bash_logout   当系统退出登录状态会执行的命令
        -rw-r--r--.  1 root root  193 Apr 11  2018 .bash_profile  别名和环境变量(只针对某个用户)  家规
        -rw-r--r--.  1 root root  231 Apr 11  2018 .bashrc        别名和环境变量(只针对某个用户)  家规
     
    	useradd oldgirl --> /home/oldgirl/ --> 家目录中的数据内容会参考/etc/skel目录中的信息
    	
    # /etc/skel目录作用:
    	01. 目录中可以存储运维操作规范说明文件
    	02. 调整命令提示符信息
            #出现问题: 命令提示符: -bash-4.2$  
            -bash-4.2$ ll /etc/hosts
            -rw-r--r--. 2 root root 192 Apr 15 12:19 /etc/hosts
            -bash-4.2$ cp /etc/skel/.b* /home/new01/
            -bash-4.2$ exit
            logout
            [root@oldboyedu ~]# 
            [root@oldboyedu ~]# su - new01
            Last login: Tue Apr 23 12:23:36 CST 2019 on pts/2
    

    课程知识总结

        1) 系统的开机流程 (centos6 centos7)
    	2) 系统用户概念
    	   a 用户的分类
    	   b 用户的权限(文件-权限 目录-权限)
    	     读写数据原理
    	     / -- inode/block -- oldboy 
           c umask是什么? 控制文件或目录的默认权限
    	     如何永久修改 
        3) 系统的特殊目录 /etc/skel (样板房)
    

    课程知识回顾

        1) 系统启动流程
           1开机自检-2MBR引导???--3grub菜单(内核 进入单用户模式)---4加载内核
    	   --->5启动系统的第一个进程init/systemd--->6自动加载系统运行级别
    	   --->7加载初始化脚本--->8运行相应的自启动服务--->9加载显示登陆界面进程
    	2) 系统用户管理
           a 用户的分类
           b 数据文件权限说明(rwx)
             文件权限:(更多关注一定要有read权限)
             read  读文件内容的能力	(有了读文件block能力)
             write 写文件内容的能力(有了读文件block能力)	重命名文件???	 
    		 execute 执行文件的能力(脚本文件)
    		 补充: 文件是否可以编辑查看,和上一级或上n级目录有关
    		 读取文件数据原理 / oldboy/ oldboy01/ oldboy.txt
    		 
    		 目录权限:(更多关注一定要有执行权限)
    		 read  读取目录下文件属性信息
    		 write 可以在目录中创建或删除数据
    		 execute 可以切换进入到目录中
    	3) 文件数据权限修改方法
           chmod u/g/o + - = rwx   --- 针对不同用户进行设置
           chmod a + - = rwx       --- 全部用户统一设置权限
           chmod 644 xxx           --- 全部用户统一设置权限(更加灵活)	 
        4) 文件的默认权限是如何设置
           文件是: 644  666-umask(奇数+1)
           目录是: 755  777-umask
           umask(内置命令): 可以影响系统数据默认权限
           
    	   # umask如何永久设置
    	   vi /etc/profile
    	   if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]
    	          条件一             
    	   then
               umask 002
           else
               umask 022
           fi
    	     
    	   $UID: 显示当前登录系统用户id数值
    	   判断比较符号
    	   -gt greater than  >
    	   -lt less than     <
    	   -eq equal         ==
    	   -ge greater && equal >=
    	   -le less && equal    <=
    	   -ne not equal     <>
    	   /usr/bin/id -gn  -- 显示当前用户的组名
    	   /usr/bin/id -un  -- 显示当前用户名称
    	   
    	   if 判断的条件(有>100万) && 长得帅
    	   then
    	      娶到好看的女生
    	   else
    	      是个女的就行
    	   fi
    	   
    	5) 特殊的目录: /etc/skel 样板房
    	   用户家目录都参照样板房设计
    	   # 用户家目录中特殊文件:
    	   -rw-------.  1 oldboy oldgirl 1454 Apr 24 09:12 .bash_history   --- 历史命令记录文件
              # 曾经输入的历史命令保存位置:
               01. 保存在内存中      histroy
                   history -c     # 删除历史纪录
               02. 保存在磁盘文件中: .bash_history 
    	   
           -rw-------.  1 oldboy oldgirl  651 Apr 23 10:16 .viminfo        --- vim样式设置
    
    	   #!/bin/bash
           # 编写人: oldboy
           # 编写时间: 2019
           # 脚本作用: 
    

    2. 系统中和用户相关的文件

    # /etc/passwd*****  --- 记录系统用户信息文件 
        [root@oldboyedu oldboy]# head /etc/passwd
        root	:x	:0	:0	:root		:/root				:/bin/bash
        bin		:x	:1	:1	:bin		:/bin				:/sbin/nologin
        daemon	:x	:2	:2	:daemon		:/sbin				:/sbin/nologin
        adm		:x	:3	:4	:adm		:/var/adm			:/sbin/nologin
        lp		:x	:4	:7	:lp			:/var/spool/lpd		:/sbin/nologin
    	01       02   03  04  05          06                  07
    	
    	第一列: 用户名
    	第二列: 用户密码信息
    	第三列: 用户的uid信息
    	第四列: 用户的gid信息
    	第五列: 用户的注释信息 
    	        mysql(manager database user)
    			www  (manager web server)
    	第六列: 用户家目录信息
    	第七列: 用户登录系统方式
                /bin/bash       --- 通用的解释器
    		   /usr/bin/sh     --- 等价于/bin/bash
    		   /usr/bin/bash
                /sbin/nologin       --- 无法登录系统
                /usr/sbin/nologin
    # /etc/shadow*      --- 系统用户密码文件
    # /etc/group*       --- 组用户记录文件
    # /etc/gshadow*     --- 组用户密码信息
    

    3. 用户相关命令

    3.1 创建用户命令

    # useradd oldboy   普通用户被创建出来
    # useradd oldboy01 -M -s /sbin/nologin 虚拟用户被创建出来
          -M 不创建家目录
    	  -s 指定使用的shell方式
    	  
    	  [root@oldboyedu oldboy]# useradd Alex01 -M -s /sbin/nologin
          [root@oldboyedu oldboy]# id Alex01
          uid=1067(Alex01) gid=1067(Alex01) groups=1067(Alex01)
          [root@oldboyedu oldboy]# grep Alex01 /etc/passwd
          Alex01:x:1067:1067::/home/Alex01:/sbin/nologin
          [root@oldboyedu oldboy]# ll /home/Alex01 -d
          ls: cannot access /home/Alex01: No such file or directory
          
    #  useradd Alex03 -u 2000
    	-u 指定用户uid数值信息
    	
         [root@oldboyedu oldboy]# id Alex03
         uid=2000(Alex03) gid=2000(Alex03) groups=2000(Alex03)
    	  
    	  
    # useradd Alex04 -u 2001 -g Alex02
    	-g 指定用户所属的主要组信息
    	  
         [root@oldboyedu oldboy]# id Alex04
         uid=2001(Alex04) gid=1068(Alex02) groups=1068(Alex02)
         [root@oldboyedu oldboy]# useradd Alex05 -u 2002 -g 1068
         [root@oldboyedu oldboy]# id Alex05
         uid=2002(Alex05) gid=1068(Alex02) groups=1068(Alex02)
    
    
    # [root@oldboyedu oldboy]# useradd Alex07 -u 2004 -g Alex02 -G Alex03
    	-G 指定用户所属的附属组信息
    	  
         [root@oldboyedu oldboy]# id Alex07
         uid=2004(Alex07) gid=1068(Alex02) groups=1068(Alex02),2000(Alex03)
    
    
    # useradd mysql -s /sbin/nologin -M -c "manager database"
    	-c 添加指定用户注释说明信息
    	  
         [root@oldboyedu oldboy]# grep mysql /etc/passwd
         mysql:x:2005:2005:manager database:/home/mysql:/sbin/nologin
    

    3.2 修改用户信息

    	# usermod
    	  -s    修改用户的登录方式
    	  -g    修改用户的主要的组信息
    	  -G    修改用户的附属组信息
    	  -c    修改用户的注释信息
    	  
    	# 修改用户shell信息
    	  [root@oldboyedu oldboy]# usermod Alex02 -s /sbin/nologin
          [root@oldboyedu oldboy]# grep Alex02 /etc/passwd
          Alex02:x:1068:1068::/home/Alex02:/sbin/nologin
    
        # 修改用户uid信息
    	  [root@oldboyedu oldboy]# usermod Alex02 -u 3000
          [root@oldboyedu oldboy]# id Alex02
          uid=3000(Alex02) gid=1068(Alex02) groups=1068(Alex02)
    

    3.3 删除用户信息

    	 # userdel
    	 # userdel -r Alex04
    	  -r 彻底删除用户以及用户的家目录
    	  
          [root@oldboyedu oldboy]# ll /home/Alex04 -d
          ls: cannot access /home/Alex04: No such file or directory
          [root@oldboyedu oldboy]# useradd Alex04
    

    3.4 用户密码设置方法

      #    交互式设置密码
    	  passwd oldboy 
      #	  非交互设置密码
    	  echo 123456|passwd --stdin oldboy
    	  
    #  企业中设置密码和管理密码的方式
    	  01. 密码要复杂12位以上字母数字及特殊符号
          02. 保存好密码信息
    	      keepass
    		  密码保险柜,本地存储密码
    	      lastpass
    		  密码保险柜,在线存储密码
    	  03. 大企业用户和密码统一管理(相当于活动目录AD)
    	      openldap域
    		  用户信息统一保存在一个用户管理服务器中 用户的家目录中的文件 用户密码 用户名称
          04. 动态密码:动态口令,第三方提供自己开发也很简单。
    

    4. 用户组相关命令

        # groupadd 创建用户组
        [root@oldboyedu oldboy]# groupadd python
        [root@oldboyedu oldboy]# useradd python -g python
        [root@oldboyedu oldboy]# id python
        uid=3003(python) gid=3003(python) groups=3003(python)   
    	
    	# groupmod 修改用户组信息
    	# groupdel 删除用户组信息
    

    5. 用户属主属组设置命令

    # chown  修改属主和属组信息
        [root@oldboyedu oldboy]# ll /etc/hosts
        -rw-r--r--. 2 root root 192 Apr 15 12:19 /etc/hosts
        [root@oldboyedu oldboy]# chown oldboy.root /etc/hosts    ---属主oldboy,属组root
        [root@oldboyedu oldboy]# ll /etc/hosts
        -rw-r--r--. 2 oldboy root 192 Apr 15 12:19 /etc/hosts
    
    
    # chown -R  递归修改目录属主和属组信息
        [root@oldboyedu oldboy]# ll oldboy_dir -d
        dr-xr-xr-x. 2 oldboy oldgirl 24 Apr 23 10:36 oldboy_dir
        
        [root@oldboyedu oldboy]# touch oldboy_dir/root.txt
        [root@oldboyedu oldboy]# ll oldboy_dir/root.txt
        -rw-r--r--. 1 root root 0 Apr 24 11:29 oldboy_dir/root.txt
        [root@oldboyedu oldboy]# id Alex01
        uid=1067(Alex01) gid=1067(Alex01) groups=1067(Alex01)
        
        [root@oldboyedu oldboy]# chown Alex01.Alex01 oldboy_dir
        [root@oldboyedu oldboy]# ll oldboy_dir -d
        dr-xr-xr-x. 2 Alex01 Alex01 40 Apr 24 11:29 oldboy_dir
        [root@oldboyedu oldboy]# ll oldboy_dir/
        total 0
        -rw-r--r--. 1 root root 0 Apr 23 10:36 oldboy.txt
        -rw-r--r--. 1 root root 0 Apr 24 11:29 root.txt
        
        
        [root@oldboyedu oldboy]# chown -R Alex01.Alex01 oldboy_dir    ---递归修改目录属主属组
        [root@oldboyedu oldboy]# ll oldboy_dir -d
        dr-xr-xr-x. 2 Alex01 Alex01 40 Apr 24 11:29 oldboy_dir
        [root@oldboyedu oldboy]# ll oldboy_dir/
        total 0
        -rw-r--r--. 1 Alex01 Alex01 0 Apr 23 10:36 oldboy.txt
        -rw-r--r--. 1 Alex01 Alex01 0 Apr 24 11:29 root.txt
    

    6. 用户信息查看命令 w

     #   a id  显示用户信息命令 (uid gid)
     
     #	 b w   显示正在登陆系统的用户信息
    	  [root@oldboyedu oldboy]# w
          11:33:31 up  6:33,  1 user,  load average: 0.00, 0.01, 0.05
          USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
          root     pts/0    10.0.0.1         08:55    3.00s  0.20s  0.00s w
    	  01       02       03               04       05        06       07
    	  
    	  01. 什么用户登录到了系统中
    	  02. 登录的方式  
    	      pts/x 远程登录系统
    		  tty1  本地登录
    		  [root@oldboyedu oldboy]# echo "请不要修改恢复hosts文件配置" >/dev/pts/1 
          03. 从哪连接的服务器 
    	  04. 登录时间
    	  05. IDLE 空闲时间
          06. 用户操作系统 消耗的CPU资源时间
    	  07. 用户在干什么
    	  
    # last  曾经登录和正在登录的账号
    # lastlog  显示linux中所有用户最近一次远程登录的信息
    

    7. 普通用户获得root权限

    # 普通用户如何像root用户一些操作管理系统:
        01. 直接切换到root账户下管理系统   篡权夺位   # su  su-
        02. 直接修改要做的数据文件权限	  # rwx
    	03. root用户赋予了普通用户权利    #  大宝剑--sudo
    	    sudo root用户授权一个能力给普通用户
    		# a.怎么进行授权:
    		  visudo
    		  93 oldboy  ALL=(ALL)       /usr/sbin/useradd, /usr/bin/rm
    		  
            # b.如何验证oldboy已经获取了root用户能力
    		  [oldboy@oldboyedu ~]$ sudo -l 
              We trust you have received the usual lecture from the local System
              Administrator. It usually boils down to these three things:
              
                  #1) Respect the privacy of others.
                  #2) Think before you type.
                  #3) With great power comes great responsibility.
              [sudo] password for oldboy: 
              User oldboy may run the following commands on oldboyedu:
                  (ALL) /usr/sbin/useradd, /usr/bin/rm
    			  
    	    # c.执行root用户可以执行的命令
              [oldboy@oldboyedu ~]$ sudo useradd Alex08
              [oldboy@oldboyedu ~]$ sudo rm -f /etc/hosts
    

    8. sudo 功能配置说明

    # a. 如何配置sudo权限信息:
    	  # visudo(推荐使用:语法检查功能) == vi /etc/sudoers
    	  [root@oldboyedu ~]# visudo -c   --- 配置好的文件语法检查
          /etc/sudoers: parsed OK
    	  
    	  # 扩展配置方法:
    	  1) 授权单个命令或多个命令
    	     /usr/sbin/useradd, /usr/bin/rm, ,
          2) 授权单个命令目录或多个命令目录 (需要排除部分特权命令)
    	     /usr/sbin/*, !/usr/sbin/visudo , /usr/bin/*
          3) 不需要输入用户密码,可以直接sudo方式执行命令
    	     NOPASSWD: /usr/sbin/*, !/usr/sbin/visudo , /usr/bin/*
    
    # b. 如何查看确认配置
    	  1.切换到授权的用户下(oldboy)
    	  2.sudo -l 
    	  3.需要输入授权的用户密码(oldboy)
    	  
    # c. 如何使用sudo功能
    	  sudo 授权的命令
    

    9. 设置特殊权限位

    #  rwx -w- --x  系统文件数据的9个权限位  系统中实际应该有12个权限位
    # setuid: ---4
    	权限设置方法:
    	chmod u+s  文件信息
    	chmod 4755 文件信息 
    	
    	[root@oldboyedu ~]# ll /bin/cat
        -rwsr-xr-x. 1 root root 54080 Apr 11  2018 /bin/cat
    	# 在属主权限位多出s信息
    # 总结: setuid权限位设置,将文件属主拥有的能力,分配给所有人
    	
    	
    # setgid: ---2
    	[root@oldboyedu ~]# chmod g+s /bin/cat
        [root@oldboyedu ~]# ll /bin/cat
        -rwsr-sr-x. 1 root root 54080 Apr 11  2018 /bin/cat
        [root@oldboyedu ~]# chmod 2755 /bin/cat
        [root@oldboyedu ~]# ll /bin/cat
        -rwxr-sr-x. 1 root root 54080 Apr 11  2018 /bin/cat
        [root@oldboyedu ~]# chmod 6755 /bin/cat
        [root@oldboyedu ~]# ll /bin/cat
        -rwsr-sr-x. 1 root root 54080 Apr 11  2018 /bin/cat
    # 总结: setgid权限位设置,将文件属组拥有的能力,分配给所有用户组
    	
    	
    # sticky bit:粘滞位: (创建一个共享目录) ---1
    	# 作用: 可以将不同用户信息放置到共享目录中,实现不同用户数据可以互相查看,但是不可以互相随意修改
    	
    	# 设置方法: 
    	chmod o+t  目录信息
    	chmod 1777 目录信息
    	
    	# 系统中已经准备好了一个共享目录,权限位1777
    	[root@oldboyedu ~]# ll -d /tmp/
        drwxrwxrwt. 10 root root 4096 Apr 25 09:35 /tmp/
    	
    	
    # 总结: 普通用户拥有root用户能力
    	01. 直接切换用户 su - (*)
    	    优势: 简单快捷
    	    劣势: 风险太高(root权限泛滥)
    		
    	02. 修改数据文件权限  9位权限位 属主信息
    	    优势: 只针对某个数据文件进行修改 只针对某个用户进行授权
    	    劣势: 需要了解权限位功能 
    
        03. 采用sudo提权方式
    	    优势: 可以利用文件编辑指定用户有哪些指定权限  sa运维部门 dev开发人员
    		劣势: 配置规划复杂
    	
    	04. 修改数据文件权限  3位权限位
    	    优势: 设置权限简单方便
    		劣势: 设置好的权限所有用户都拥有
    

    10. 如何防范系统中的重要文件不被修改(root用户也不能修改)

    # 给文件加上锁头: 
       # 目的: 使root用户也不能直接修改相应文件
    	# 设置方法: 
        chattr +i /etc/passwd
        ll /etc/passwd
        -rw-r--r--. 1 root root 4820 Apr 25 11:01 /etc/passwd
        
    	# 解锁方法:
    	chattr -i /etc/passwd
        [root@oldboyedu ~]# ll /etc/passwd
        -rw-r--r--. 1 root root 4820 Apr 25 11:01 /etc/passwd
        [root@oldboyedu ~]# lsattr /etc/passwd
        ---------------- /etc/passwd
        
        # 检查方法
        [root@oldboyedu ~]# lsattr /etc/passwd
        ---------------- /etc/passwd
    

    作业:

    作业:
    01. chmod命令使用方法进行总结
    
  • 相关阅读:
    网络爬虫基础练习
    Hadoop综合大作业
    hive基本操作与应用
    用mapreduce 处理气象数据集
    熟悉常用的HBase操作
    爬虫大作业
    第三章 熟悉常用的HDFS操作
    数据结构化与保存
    获取全部校园新闻
    爬取校园新闻首页的新闻
  • 原文地址:https://www.cnblogs.com/j-chao/p/13448155.html
Copyright © 2011-2022 走看看