LINUX权限管理

linux权限管理 


linux权限管理,旨意是把一个用户加入一个组,该用户就拥有了该组的权限,当一个用户要操作每个文件时,系统会依次检索该用户是否是该用户的拥有者,其次是组成员,最后是其他人,如果扫描到是拥有者,则具备拥有者的权限,不必往后扫描,以此类推


  · 权限类型


 

  一、权限类型

     1>权限分为3个部分

        1、读取权限(4):read(r)

        2、写入权限(2):write(w)

        3、执行权限(1):execute(x)

        4、没有权限(0):N/A(-)

      2>权限位

        权限位主要分为三个部分,分布是属主、属组以及其他人

         rwx :属主

         r - x :属组

         r - x :其他人

         例如:文件类型:-rw-r--r-- 1 root root 1146 Jul 16 18:42 a.txt

       3>数字编号

         每一个权限拥有一个数字编号

           可读(r)  :4

           可写(w) :2

           可执行(x):1

         没有对应权限 :0

       4>权限组合

          在添加权限的时候,可以将权限加起来

          属主:可读可写可执行

          属组:可读可写   

          其他人:没有任何权限

           rwxrw----   等价于  760    (三位隔开单独计算)

        5>添加权限

            chmod:更改文件权限的命令

            格式 chmod 【参数】【权限表达式】【操作对象】

            参数:-R    递归增加权限

        6>权限的归属

             属主:u

             属组:g

             其他人:o

         7>测试权限对于用户的意义

              1、普通用户是严格遵守权限的

              2、root用户是高于权限

              3、权限需要重新登才生效(su和su - 都可以)

         8>测试权限对于目录的意义

              1、文件可读,路径的最小权限是必须拥有可执行权限

              2、文件可写,路径的最小权限是必须拥有可执行权限

              3、文件可执行,路径的最小权限是必须拥有可读可执行权限

          9>创建文件的默认权限,创建文件夹的默认权限是从哪里来的

               在linux中,常用的文件的权限是666,目录的权限是777

               umask:当创建一个文件或者目录的时候,系统会自动为文件或者目录赋予默认的权限,而umask命令就是用来控制这个默认权限的。

              查看umask有两种方式:一种加-s,一种不加-s

               以四组数字进行显示,其中后三组规定了User,Group,Other的默认权限

               默认权限计算方式:在linux中,文件和目录的默认权限计算方式为最大默认权限去掉umask指定的相应权限。对于文件来说,最大默认权限为666(-rw-rw-rw),也就是说User,Group,Other都没有X权限;对于目录来说,最大默认权限为777(drwxrwxrwx)。那么,假设umack输出的值为022,由于r = 4, w = 2,x=1,也就是对于文件来说需要在最大默认权限的基础上去掉w权限(因为022在代表User的位为0,表示不用拿掉权限),也就是文件默认权限会是644(-rw-r--r--),同理,创建的目录默认权限为755(drwxr-xr-x)

               umask的配置:umask的配置文件是/etc/bashrc,推荐不要动他

               1、文件的权限是跟umask值相减,遇到奇数加一;遇到偶数则不变。

               2、文件夹的权限只要跟umask值相减即可。
                &&(and)     ||(or)

LINUX权限管理
1 # 需求要把一个月之前修改过的日志文件删除
2 案列:1.将index文件添加属主:可读可写可执行、属组:可读可写、其他人:没有任何权限
3           chmod 760 index
4          2.将baidu下的所有文件设置rwxr--r--
5            chmod -R 744 baidu/
6          3.将index这个文件的属组增加一个可执行权限
7            chmod g+x index
8            chmod g+x,o-r index
案列

           10>系统用户信息

            whoami:打印与当前有效用户id关联的用户名;这个工具可以用来获取本地系统上当前用户(访问令牌)的用户名和组信息,以及相应的安全标识符(SID)/声明、本地系统上当前用户的权限、登录标识符(登录ID)

             whoami命令显示自身的用户名称,本指令相当于执行“id-un”指令

             语法格式whoami【参数】

             常用参数:--help   在线帮助

                               --version  显示版本信息


who:who命令用来打印当前登录用户信息,包含了系统的启动时间、活动进程、使用者ID、使用终端等信息,是系统管理员了解系统运行状态的常用命令。

             who命令的输出信息默认来自文件“/var/log/utmp”和“/var/log/wtmp”

             语法格式:who【参数】【选项】

              常用参数:-a  打印全面信息

                                -b  打印系统最近启动时间

                                -d  打印死掉的进程

                                -l    打印系统登录进程

                                -h   带有列标题打印用户名,登录终端和登录时间

                                -t    打印系统上次锁定时间

                                -u    打印已登录用户列表

  

上一篇:2021年10月12日


下一篇:Linux Umask设置文件的默认权限