• Linux的UGO模型


    概念:

    1. 权限一般分为读、写、执行
    2. 权限辐射的范围由小及大:用户-->组-->Other
    3. 权限三个一组(rwx),对应UGO,分别设置每一个文件拥有一个所属用户和组,分别对应着U、G,对于既不属于该文件所属用户也不属于该用户组的用户的权限对应O权限

    实例:

    11.用户和组:|--通过用户来限制进程的权限,通过组来组织管理用户.
    
                 |--每个用户拥有一个uid,每个用户属于一个主组,属于一个或多个附属组.
                 |--每个组有一个gid.
                 |--每个用户拥有一个指定的shell.(默认是bash.)
    
                 |--文件都有一个隶属的用户和组,而用户和组存在权限,所以文件存在权限. {默认的“组和用户”与当前操作用户同名}
           	     |--uid :  0           root
                           1-499      系统用户(专门为某些服务{例如打印机}或进程准备,它们不需要登陆.)
                           500-60000  普通用户
    
                 |-- id passwd
                 |-- /etc/passwd   /etc/shadow     /etc/group
                      用户         加密后的密码     组
    
                 |-- /etc/passwd 的用户结构(:隔开):用户名  密码       uid  gid  描述信息(可无)  用户home目录  shell 
                                                            !!表示空                                        /bin/nologin
                                                            x代表有密码                                       /bin/flase 
                                                                                                              表示没有shell.
                 |-- /ect/group                      组名   组密码     gid    包括的用户
                                                          (现在不用)
    
                 |-- who whoami w
        
         |--创建用户:useradd nash_su  (系统自动生成的-G就是用户名,密码为空.)
                    |--参数: -u(这是uid) -g -G(附属组) -d(home目录)  -s(这是shell)
                    |--passwd
             
    
         |--修改用户:usermod 参数 newname oldname
                      |--参数:-l(用户名) -u -g -G -d -L(锁定用户) -U(给用户解锁)
    
         |--删除用户:userdel nash_su     (保留家目录)
                      userdel -r nash_su  (不保留家目录)
        
    
         |--创建组: (基于部门和功能) 
                     groupadd linuxcast  
         |--修改组: groupmod -n newname oldname       group -g newgid oldgid
    
         |--删除组: groupdel linuxcast 
                
         
       (修改信息可以在 /etc/passwd /etc/shadow /etc/group 修改.但不建议这么做)   
    
    
    12.权限机制:|-- r w x  (注意目录如果有r,w,必须有x)
                 |--文件的格式(权限基于UGO模型):drwx-wxr-x nash_su traning 1024 Oct 17:28  linuxcast.net
                                                 lr--rwxr-- nash_su traning 2048 Jan 13:14  hello
                                                 -rwx---rw- nash_su traning 3072 Oct 15:16  index.php
    
                 |--修改文件权限:
    
                      //|--先切换到当前文件或目录.                           
    
                      |--修改用户和组:|--chown 新用户或组  文件
                                         |--chown new_username dirname    (只修改目录权限)
                                         |--chown -R new_username dirname (递归地修改了目录里面的全部文件)
                                         |--chgrp new_grpname filename 
                                         |--chgrp -R new_grpname dirname
    
                      |--直接修改UGO:  |--chmod 模式 文件
                                         |-- chmod u+rw linuxcast.net     chmod -R u+rw linuxcast.net 
                                         |-- chmod go-r hello.cpp
                                         |-- chmod a-rx index.php
    
                                         |-- chmod 777   linuxcast.net
                                         |-- chmod 555  hello.cpp
                                         |-- chmod 111  index.php
    
    
                  |--查看: ls -l linuxcast     ls -ld linuxcast.net
    
                  |--实例:<见UGO.png>
                         groupadd traning
                         groupadd market
                         groupadd manage
                         useradd -G traning nashh_su
                         uaeradd -G tranig bob
                         useradd -G market alice
                         useradd -G market john
                         useradd -G manage steve
                         useradd -G manage david
                         
                         cd /                   //放在根目录下,查询您方便
                         mkdir linuxcast.net    //第一个要求
                         ls 
                         mkdir traning          //第二个要求
                         mkdir market             第...
                         mkdir manage           //第二个要求
                         ls -l
                         chgrp traning traning/                //部门对应着组,要使各部门的文件夹对应各部门:即修改组。
                         chgrp market  market/
                         chgrp mannage manage/  
                         ll                                    //查看所有文件详细信息
                         /*那么现在不同部门直接互相访问,就是以O的权限,咱们要禁止它互相访问,取消0即可*/
                         chmod o-rx traning/
                         chmod o-rx market/
                         chmod o-rx manage/                    //完成第三个要求
                         ll
    
                         cd /traning/
                         mkdir nash_su
                         mkdir bob
                         ls -l
                         chown nash_su nash_su/ 
                         chown bob     bob/
                         ls -l
                         cd /market/
                         mkdir alice
                         mkdir john
                         ls -l
                         chown alice alice/
                         chown john john/
                         ls -l
                         cd /manage/
                         mkdir steve
                         mkdir david
                         ls -l
                         chown steve steve/
                         chown david david/
                         ls -l 
                        
                         chgrp traning nash_su/
                         chgrp traning bob/
                         chgrp market alice/
                         chgrp market john/
                         chgrp manage steve/
                         chgrp manege david/
                         ls -l
    
                         /*在生产中,权限宁愿放小,不可給大,因为此处无特殊要求,所以O给他全部拿掉*/
                         chmod o-rx nash_su
                                    bob
                                    alice
                                    john
                                    steve 
                                    david                                                   
                                          //完成了第四个要求,并且已经修改了他们对应的UG,以及UGO的权限
    
    
                          对于第五个要求,很显然,同组的不同用户,既然同组{G的权限默认就是r-x},那么互相查看本来就是可以的,
                          而O的权限以及撤销,所以不会修改。
    
                                       //至此,完成第五个要求,当然还可以ls -l 和不同用户切换,看看权限生效了没有。
    
    
    13.扩展机制:
                |--默认权限:|--每个终端(分root 和 普通用户)存在umask: umask num(可修改) umask(不加任何参数)
                             |--dir :777-umask
                                file:666-umask
    
                |--特殊权限:|--suid          (passwd命令的设计:非root也能用.)       
                             |--sgid          (让目录下的所有文件和子目录继承该目录的附属组.)
                             |--sticky        (对同一目录{隶属组X}有读写权限的不同用户{隶属同一个组X}间的文件,仅自己可删除)
    
                             |--chmod u+s  linuxcast 
                             |--chmod 4755 linuxcast
                             |--chmod g+s  linuxcast
                             |--chmod 2755 linuxcast
                             |--chmod o+t  linuxcast
                             |--chmod 1755 linuxcast
    
                             /*sticky的实例*/
                              groupadd testgroup 
                              useradd -G testgroup user1
                              useradd -G testgroup user2
                              cd /
                              mkdir linuxcast.net 
                              chgrp testgroup linuxcast.net 
                              ls -ld linuxcast.net 
                              chmod g+rwx linuxcast.net       //把组的权限提升上来
                              ls -ld linuxcast.net 
                                 
                              chmod o+t linuxcast.net    //在centos上去掉这句,看看下面操作有什么不同。{对比出真知}
                              ls -ld linuxcast.net                          
                                    
                              su - user1   {写点东西}
                              cd /linuxcast.net
                              touch user1
                              exit
                              su - user2
                              cd /linuxcast.net
                              touch user2  {写点东西}
                              ls 
                              cat user1                  //查看没问题
                              rm -rf user1               //发现删除和修改不行
                                                        
    
                |--文件权限限制对于root没有作用,root的权限无穷大.
    
    
  • 相关阅读:
    Android——用Activity和Service实现简单的音乐播放器
    Android——indexof()
    Android——简易计算器(转)
    Android——计算器第一次完善
    Android——Service
    Android——ViewPager滑动背景渐变(自定义view,ViewPager)
    Android ——利用OnDraw实现自定义View(转)
    Android——自定义视图(一)转
    OpenERP在哪储存附件?
    销售预付款达到指定比例方可发货
  • 原文地址:https://www.cnblogs.com/LS1314/p/8610070.html
Copyright © 2020-2023  润新知