11.Linux系统下用户权限管理

ls -l

rwxrwxrwx:
先匹配属主,再匹配属组,最后如果都不满足,就是other权限
r: readable 读
w: writable 写
x: excutable 执行
-------------------------------------------------
        对于文件来言:
                                 r:可获取文件的数据
                                 w:可修改文件的数据
                                 x:可将此文件发起运行为进程,默认情况下,文件不应该
有执行权限
---------------------------------------------------
       对于目录来言:
                                r:可以使用ls来获取其下的所有文件列表,但是不能获取
详细信息(ls -l)
                                w:可修改此目录下的文件列表,即创建或者删除文件
                                x:可cd至此目录中,且可使用ls -l 来获取所有文件的详
细属性信息,一般默认都有
mode:rwxrwxrwx
ownership: user, group
权限组合机制:
               --- 000         0
               --x 001        1
               -w- 010        2
               -wx 011        3
               r-- 100          4
               r-x 101          5
               rw- 110          6
               rwx 111          7

权限管理命令

chmod:用户只能修改属主为自己的那些文件的权限
---------------------------------------
       三类用户:
                u:属主
                g:属组
                o:其他
                a:所有
----------------------------------------
       chmod [OPTION]... MODE[,MODE]... FILE...
              (1) MODE表示法:  
                              赋权表示法:直接操作一类用户的所有权限位
                                                     u=,g=,o=
                                                     u=
                                                     ug=
                                                     ……
                              授权表示法:直接操作一类用户的一个权限位
                                                    g+,g-
                                                    u+,u-
                                                    o+,o-
                                                    a+,a-(某些情况下也可以直接省略a,但是有
时候可能会出错)
                                  [root@localhost ~]# chmod u-x  fstab 
                                  [root@localhost ~]# chmod ug+x fstab 
                                  [root@localhost ~]# chmod u=r fstab 
                                  [root@localhost ~]# chmod u-x,g-r fstab 

                                            
       chmod [OPTION]... OCTAL-MODE FILE...
                            八进制权限必须三部分都要写全
                            [root@localhost ~]# chmod 660 fstab 
                            [root@localhost ~]# ll fstab 
                             -rw-rw---- 1 root root 501 6月  19 14:06 fstab

       chmod [OPTION]... --reference=RFILE FILE...
                        引用型修改
                        [root@localhost ~]# ls -l /var/log/messages
                        -rw------- 1 root root 1214142 6月  19 14:20 /var/log/messages
                        [root@localhost ~]# chmod --reference=/var/log/messages fstab 
                        [root@localhost ~]# ll fstab 
                        -rw------- 1 root root 501 6月  19 14:06 fstab
  
--------------------------------------
选项:
      -R,--recursive:递归修改,一般用在授权表示法中用,用来修改目录的权
限时,同时适用于其下的文件

chown:仅管理员能够使用
------------------------------------
                 chown [OPTION]... [OWNER][:[GROUP]] FILE...
                 chown [OPTION]... --reference=RFILE FILE...
------------------------------------
    选项:
                    -R,--recursive:递归修改
                              [root@localhost ~]# chown -R myroot skel/
                              [root@localhost ~]# chown -R myroot:mygrp skel/
                              [root@localhost ~]# chown -R :mygrp skel/
                              [root@localhost ~]# chown -R myroot.mygrp skel/

chgrp:更改属组,仅管理员能够使用
          chgrp - change group ownership

思考题
用户对目录有写权限,但对目录下的文件没有写权限时,能否修改此文件内容?能否删除此文件?
第一个不能:
----------------- 目录的w:
----------------- w:可修改此目录下的文件列表,即创建或者删除文件
第二个可以





umask:文件权限的反向掩码,遮罩码
              文件创建时的默认权限
                                666-umask
                            文件默认不能拥有执行权限,如果减得的结果中有执行权
限,则将其+1
              目录创建时的默认权限
                                777-umask
查看与修改umask(仅对当前shell进程有效)
 [root@localhost ~]# umask
 0022
 [root@localhost ~]# umask 027
install:不能复制目录
      install - copy files and set attributes
------------------------
        单源复制
       install [OPTION]... [-T] SOURCE DEST
        多源复制
       install [OPTION]... SOURCE... DIRECTORY
      多源复制
       install [OPTION]... -t DIRECTORY SOURCE...
      创建目录
       install [OPTION]... -d DIRECTORY...
------------------------
  -m,--mode=MODE:设定目标文件权限,如果不指定,默认为755
  -o,--owner=OWNER:设定目标文件属主
  -g,--group=GROUP:设定目标文件的属组
mktemp:
           mktemp - create a temporary file or directory
-------------
           mktemp [OPTION]... [TEMPLATE]
          [root@localhost ~]# mktemp /tmp/mytmp.XXXX
          /tmp/mytmp.4uNv
          [root@localhost ~]# mktemp /tmp/mytmp.XXXX
          /tmp/mytmp.YaDm
----------------
常用选项:
        -d:创建临时目录
        -u:假创建,只是输出创建后的名称,而不是真正创建一个临时文件
                       -u, --dry-run
                       do not create anything; merely print a name (unsafe)
注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来



你可能感兴趣的:(11.Linux系统下用户权限管理)