LINUX权限管理

Posted Roseblacko

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

 # 需求要把一个月之前修改过的日志文件删除
 案列:1.将index文件添加属主:可读可写可执行、属组:可读可写、其他人:没有任何权限
           chmod 760 index
          2.将baidu下的所有文件设置rwxr--r--
            chmod -R 744 baidu/
          3.将index这个文件的属组增加一个可执行权限
            chmod g+x index
            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    打印已登录用户列表

 


     二、文件时间信息

       1、文件时间信息分类

            三种时间信息:文件修改时间:mtine

                                     显示的是文件中的数据最后被访问的时间,比如系统的进程直接使用或通过一些命令和脚本间接使用。(执行一些可执行文件或脚本)

                                    属性修改时间:ctime

                                    显示的是文件的权限、拥有者、所属的组、链接数发生改变时的时间。当然当内容改变是也会随之改变(即inode内容发生变化和Black内容发生改变时)

                                    文件访问时间:atime

                                   显示的是文件中数据最后被访问的时间,比如系统的进程直接使用或通过一些命令和脚本间接使用。(执行一些可执行文件或脚本)

             ps:另外,从kernel2.6.29开,还默认集成了一个relatime的属性。可能是因为在文件读操作很频繁的系统中,atime更新所带来的开销很大,所以很多SA都在挂装文件系统的时候使用noatime属性来停止更新atime。但是有些程序需要根据atime进行一些判断和操作,所以Linux就推出了一个relatime特性。使用这个特性来挂装文件系统后,只有当mtime比atime更新的时候,才会更新atime。事实上,这个时候atime和mtime已经是同一个东西了。所以这个选项就是为了实现对atime的兼容才推出的。并不是一个新的时间属性。使用方法就是通过mount -o relatime /dir来挂装目录.

            2、文件时间详细说明               

                 查看时间命令:stat filename

                  1.编辑文件内容

                    1>文件修改时间变化

                    2>文件属性时间变化

                    3>文件访问时间不变

                  2. 修改文件属性

                      1>文件修改时间不变

                      2>文件属性时间变化

                      3>文件访问时间不变

                    3.访问文件信息

                        1>文件修改时间不多

                        2>文件属性不变

                        3>文件访问时间变化

                  3、文件类型查看方法

                         1、file文件信息 

                               1>配置文件--conf

                               2>脚本文件--.sh

 


 创建用户:1.添加用户

                   vim /etc/passwd

                   test08(用户名自定义):x(密码占位符):2001(UID:范围0-65535):2001(GID:0-65535):自建用户:/home/test08:(宿主目录;用户登录后首先进入的目录,一般与“/home/用户名”这样的目录)/bin/bash

      2.添加组

                    vim /etc/group

                    test08:x:2001:

                   3.添加用户密码

                    vim /etc/shadow

                   4.添加用户组密码

                    vim /etc/gshadow

                    test08:!::

                   5.家目录

                    mkdir test08

                    cp /etc/skel/.bash* /home/test08/

                    chown -R test08.test08  test08

                    chmod  700  test08/   

 


 

 

  

以上是关于LINUX权限管理的主要内容,如果未能解决你的问题,请参考以下文章

gitlab 权限说明

Oracle-常用数据库对象笔记(片段)

JS+JavaBean判断管理员增删改的操作权限

Linux权限管理---特殊权限

ASP.NET MVC4.0+EF+LINQ+bui+网站+角色权限管理系统

大数据之Linux用户权限设置