Linux的用戶組和權限(二)

  一、1.passwd 設置密碼(類似usermod的用法)

      passwd[OPTIONS] UserName: 

        修改指定用戶的密碼,僅root用戶有權限

        passwd: 修改自己的密碼;

      常用選項:

         -l:鎖定指定用戶

         -u:解鎖指定用戶

         -e:強制用戶下次登錄修改密碼

         -n mindays: 指定最短使用期限

         -x maxdays:最大使用期限

         -w warndays:提前多少天開始警告

         -iinactivedays:非活動期限;

         –stdin:從標準輸入接收用戶密碼;

      echo "PASSWORD" |passwd –stdin username

   2.修改用戶密碼策略

     chage[OPTION]… LOGIN

         -d LAST_DAY

         -E, –expiredateEXPIRE_DATE

         -I, –inactive INACTIVE

         -m, –mindaysMIN_DAYS

         -M, –maxdaysMAX_DAYS

         -W, –warndaysWARN_DAYS

         –l,顯示密碼策略

      下一次登錄強制重設密

        chage-d 0 tom

          chage-m 0 –M 42 –W 14 –I 7 tom

          chage-E 2016-09-10 tom

   3.用戶相關的其他命令

         chfn指定個人信息

         chsh指定shell

         finger

  4.創建組

       groupadd[OPTION]… group_name

        -g GID: 指明GID;[GID_MIN, GID_MAX]

        -r: 創建系統組;

          CentOS 6: ID<500

          CentOS 7: ID<1000

  5.groupmod 修改和刪除組組屬性修改)

     groupmod[OPTION]… group

       -n group_name: 新名字

       -g GID: 新的GID;

      刪除組:groupdel

        groupdel GROUP

  6.更改組密碼:gpasswd

      gpasswd[OPTION] username GROUP

        -a user: user添加至指定組中;

        -d user: 從指定組中移除用戶user

        -A user1,user2,…: 設置有管理權限的用戶列表

      newgrp命令臨時切換基本組;

      如果用戶本不屬于此組,則需要組密碼

  7.更改和查看組成員 (操作的人是root和組管理員)

     groupmems[options] [action] 注意書寫格式

        options

            -g, –group groupname更改為指定組(只有root)

         action

         -a, –add username 指定用戶加入組

         -d, –delete username 從組中刪除用戶

         -p, –purge 從組中清除所有成員

         -l, –list 顯示組成員列表

      groups [OPTION].[USERNAME]… 查看用戶所屬組列表

 

 練習:

    創建sysadmins組

    將用戶user1、user2、user3加入sysadmins組中

    將user3設置為sysadmins組的管理員

    用user3登錄,將用戶user2沖組中移除

    設置sysadmins組的密碼為 centos

    設置user1在創建新文件時,文件的所屬組為sysadmins

    刪除user1…3

    刪除組sysadmins

wKiom1eiyO6BhpPSAAA1Evwzntc523.png

wKioL1eiyQOhKRvAAAAgsBNzc6c474.png

wKiom1eiyQSgRd0hAAAPV0X_Mjc099.png

 二、文件的權限:

   1. 文件屬性: 

wKioL1ekdviRUG31AACWMFlTUQ4994.png

      文件屬性操作

       chown:設置文件的所有者

         chgrp:設置文件的屬組信息


  2.修改文件的屬主和屬組

       chown 修改文件的屬主

       chown[OPTION]… [OWNER][:[GROUP]] FILE…

    用法:

      OWNER 直接跟所有者

      OWNER:GROUP 直接跟所有者和所屬組命令中的冒號可用.替換);

wKiom1ekeLzwQrEqAAAhwSUpIw8951.png

        -R: 遞歸

        chown[OPTION]… –reference=RFILE FILE…

      修改文件的屬.:chgrp

        chgrp[OPTION]… GROUP FILE…

        chgrp[OPTION]… –reference=RFILE FILE…

        -R遞歸

wKioL1ekegrTP7IhAAAkwTiK3cc206.png

3.文件的權限

     文件的權限主要針對三類對象進行定義:

        三個字符一組

          owner: 屬主, u  前三位

            group: 屬組, g  中間三位

            other: 其他, o  最后三位

      每個文件針對每類訪問者都定義了三種權限

          r: Readable 讀權限

            w: Writable 寫權限

         x: eXcutable 執行權限

      文件:

          r: 可使用文件查看類工具獲取其內容(針對文本文件)

          w: 可修改文件內容但不能刪除文件本身

          x: 可以把此文件提請內核啟動為一個進程(針對二進制程序或者腳本)

wKiom1ekerfRjYd3AABEs87ctyM899.png

  目錄:

        r: 可以使用ls查看此目錄中文件列表,但不能訪問文件(cd進去),也不能查看文件的元數據。

        w: 可在此目錄中創建和刪除此目錄中的文件,配合x權限。

     x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄,可以訪問文件。

        X:只給目錄x權限,不給文件x權限 配合R選項只能用模式法

wKiom1eke1zihaPIAAAT_5gUR_s887.png

  4.文件的權限操作

     文件權限(rwx|X)

wKiom1eke5WCyJxwAAB9gmX9tc4710.png

     文件權限操作命令 Chmod          

   5.數字法(八進制數字)

       —000 0        –x 001 1

       -w-010 2        -wx 011 3

       r–100 4        r-x 101 5

       rw-110 6        rwx 111 7

      例如:

       rw-r—– 640

         rwxr-xr-x: 755

wKioL1ekfJKxAO6UAAAJ-XHS8Wc452.png

   6.chmod 修改文件的權限

     chmod[OPTION]… OCTAL-MODE FILE…

        -R: 遞歸修改權限

wKioL1ekfN7DiPV5AAArUpmNfz4377.png

    chmod[OPTION]… MODE[,MODE]… FILE…

     MODE

     修改一類用戶的所有權限

       u= g= o= ug= a= u=,g=

wKiom1ekfUmT4jp3AAAYAGhYWBY284.png

     修改一類用戶某位或某些位權限

       u+ u-g+ g-o+ o-a+ a-+ –

wKioL1ekfWDgkxQHAAAb0a6Cslc494.png

    chmod[OPTION]… –reference=RFILE FILE…

   參考RFILE文件的權限,將FILE的修改為同RFILE;

wKioL1ekfbXjqM8wAAAXnTGX_Bs019.png

   7.權限設置的一些方法:

       chgrp sales testfile

        chown root:admins testfile

        chmod u+wx,g-r,o=rx file

        chmod -R g+rwX /testdir

        chmod 600 file

        chown mage testfile

   8. umask 新建目錄和文件的默認權限

     (1)umask值可以用來保留在創建文件權限。

        在默認情況下,目錄的權限為755,文件的權限為644。

wKiom1ekfmHiCb-bAAAc8Magej4061.png

     (2)新建文件(file)權限(為了安全沒有可執行權限)

          666-umask (如果所得結果某位存在執行(奇數)權限,則將其權限+1,偶數保留)

       新建目錄(dir)權限: 

          777-umask

      (3)非特權用戶umask是002

          root的umask是022

wKiom1ekgTmTjhcYAAAKELG3408016.png

     (4)#umask: 查看當前的值

         umask#直接指定 如:umask u=rex,g=r,o=

                         umask002

     (5)umask–S 模式方式顯示新建文件夾的默認權限

wKioL1ekgM7CFCA0AAAIxPAS0EQ572.png

     (6)umask–p 輸出可被調用

wKiom1ekgPCwQZ9RAAAJl6mkuQQ133.png

     (7)全局設置/etc/bashrc    

        用戶設置:~/.bashrc 或者 ~/.bash_profile

wKiom1ekgZCzm22lAAAH6ZfnJFo272.png

   9.Linux文件系統上的特殊權限

       SUID, SGID, Sticky

          三種常用權限 :r, w, x 

            三類對象  :user, group, other

    安全上下文:

    前提進程有屬主和屬組;文件有屬主和屬組

     (1) 任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限

     (2) 啟動為進程之后,其進程的屬主為發起者;進程的屬組為發起者所屬的組

     (3) 進程訪問文件時的權限,取決于進程的發起者

         (a) 進程的發起者,同文件的屬主:則應用文件屬主權限

         (b) 進程的發起者,屬于文件屬組;則應用文件屬組權限

         (c) 應用文件“其它”權限

   10.可執行文件上的SUID權限

   任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限

   (1)啟動為進程之后,其進程的屬主為原程序文件的屬主

wKioL1ekgv_xeVXAAABCR0SMbu0674.png

wKiom1ekgv-hPlrKAAAnc0XR_ks254.png

   (2)SUID只對二進制可執行程序才有意義,才有效

   (3)SUID設置在目錄上無意義

   (4)權限設定 4代表suid

        chmod u+s FILE…

        chmod u-s FILE…

wKiom1ekg_miEN1eAAASDckdAmE094.png

   11.可執行文件上的SGID權限

   (1)任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限

   (2)啟動進程之后,其進程的屬主為原程序的屬主

   (3)權限設定: 2代表sgid

      chmod g+s FILE…

        chmod g-s FILE…

   12.目錄上的SGID權限

   (1)默認情況下,用戶創建文件時,其屬組為此用戶所屬的主組

   (2)一旦某目錄被設定了SGID,則對此目錄有寫權限的用戶在此目錄中創建的文件所屬的組為此目錄的屬組

   (3)通常用于創建一個協作目錄

   4)權限設定:

        chmod g+s DIR…

        chmod g-s DIR…

   13.sticky位

    (1)具有寫權限的目錄通常用戶可以刪除該目錄中的任何文件,無論該文件的權限或擁有權

    (2)在目錄設置Sticky 位,只有文件的所有者或root可以刪除該文件

wKiom1ekhXfy0gX5AAAldImwwlw645.png    (3)sticky 設置在文件上無意義

    (4)權限設定:1代表sticky

       chmodo+tDIR…

        chmodo-t DIR…

wKioL1ekhdix6KcOAAANuKkfGE0061.png

wKioL1ekhhPjSQLNAAAPxxf5OIc208.png

   14.權限位映射

wKioL1ekhnjjI3XZAAATDmNnTyY876.png

     SUID: user,占據屬主的執行權限位

       s: 屬主擁有x權限

       S:屬主沒有x權限

     SGID: group,占據屬組的執行權限位

       s: group擁有x權限

       S:group沒有x權限

     Sticky: other,占據other的執行權限位

       t: other擁有x權限

       T:other沒有x權限

   15.chattr 設定文件特定屬性  

      chattr +i 不能刪除,改名,更改

wKioL1ekhuDBdD_FAAAe4fM8aD8060.png

     chattr +A 不想會更改訪問時間

wKioL1ekhr-jj4cfAABEyIktsaU808.png

wKioL1ekhznDAjEUAAAgxLeHZd0857.png

      lsattr 顯示特定屬性

wKioL1ekh2-CrjXkAAANue8UVMM815.png

   16.訪問控制列表

   (1)ACL:Access Control List,實現靈活的權限管理

      除了文件的所有者,所屬組和其它人,可以對更多的用戶設置權限

      CentOS7.0默認創建的xfs和ext4文件系統有ACL功能。

      CentOS7.X之前版本,默認手工創建的ext4文件系統無ACL功能。需手動增加:

         tune2fs –o acl/dev/sdb1

         mount –o acl/dev/sdb1 /mnt

     ACL生效順序:所有者,自定義用戶,自定義組,其他人

   (2)為多用戶或者組的文件和目錄賦予訪問權限rwx

          mount -o acl /directory

          etfacl file |directory

          setfacl -m u:wang:rwx file|directory

Linux的用戶組和權限(二)

Linux的用戶組和權限(二)

     setfacl -Rm g:sales:rwX directory (對sales目錄設置rwx權限,但對目錄下的子文件設置rw權限,無x權限,注意X的作用)

     setfacl -M file.acl file|directory(系統調用文件里的權限設置)

          setfacl -m g:salesgroup:rw file| directory

Linux的用戶組和權限(二)

     setfacl -m d:u:wang:rx directory (設置在目錄上,但目錄本身不會有acl權限,只對新建的子文件產生影響)

Linux的用戶組和權限(二)

     setfacl -x u:wang file |directory

Linux的用戶組和權限(二)

     setfacl -X file.acl director(刪除系統調用里的權限設置,和上面的 -M 用法相反。)


  (3ACL文件上的group權限是mask 值(自定義用戶,自定義組,擁有組的最大權限),而非傳統的組權限

     getfacl可看到特殊權限:flags

     默認ACL權限給了x,文件也不會繼承x權限。

     base ACL 不能刪除

    setfacl-k dir 刪除默認ACL權限

Linux的用戶組和權限(二)

    setfacl-b file1清除所有ACL權限

Linux的用戶組和權限(二)

    getfacl file1 | setfacl–set-file=-file2 復制file1acl權限給file2

Linux的用戶組和權限(二)

  (4mask只影響除所有者other的之外的人和組的最大權限

     Mask需要與用戶的權限進行邏輯與運算后,才能變成有限的權限(Effective Permission) 

     用戶或組的設置必須存在于mask權限設定范圍內才會生效。             setfacl-m mask::rxfile

Linux的用戶組和權限(二)

     –set選項會把原有的ACL項都刪除,用新的替代,需要注意的是一定要包含UGO的設置,不能象-m一樣只是添加ACL就可以

      .如:setfacl –set u::rw,u:wang:rw,g::r,o::-file1


  (5)備份和恢復ACL

     主要的文件操作命令cpmv都支持ACL,只是cp命令需要加上 -a,-p 參數。但是tar等常見的備份工具是不會保留目錄和文件的ACL信息。

Linux的用戶組和權限(二)

     #getfacl -R /tmp/dir1 > acl.txt

     #setfacl -R -b /tmp/dir1

     #setfacl -R –set-file=acl.txt /tmp/dir1

     #getfacl -R /tmp/dir1

 

 練習:

   在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。

Linux的用戶組和權限(二)

Linux的用戶組和權限(二)

Linux的用戶組和權限(二)

Linux的用戶組和權限(二)

Linux的用戶組和權限(二)

         

 

 

 

 


原創文章,作者:zhumengxiaotao,如若轉載,請注明出處:http://www.www58058.com/29806

(0)
zhumengxiaotaozhumengxiaotao
上一篇 2016-08-08
下一篇 2016-08-08

相關推薦

  • Hello World, Hello Linux.

    文筆不好,請見諒。

    2018-03-26
  • 馬哥教育網絡班22期+第十一周課程練習

    1、詳細描述一次加密通訊的過程,結合圖示最佳。第一階段:ClientHello:    客戶端(通常是瀏覽器)先向服務器發出加密通信的請求,這被叫做ClientHello請求??蛻舳讼蚍掌魈峁┮韵滦畔ⅲ?nbsp;       支持的協議版本,比如TLS 1.2 &n…

    Linux干貨 2016-12-27
  • linux的文件類型

    linux的文件類型 linux其中的一個哲學思想就是一切皆文件,今天我們就來學習一下linux系統中的文件類型。linux不同于windows,有多種多類的文件類型,文件類型的判斷也不是以文件的后綴為標準的。linux中一共有七種文件類型,分別是:普通文件、目錄、字符設備文件、塊設備文件、套接字文件、命名管道文件和符號鏈接文件。那么接下來我們就分別看看每種…

    Linux干貨 2016-10-27
  • 馬哥linux運維26期開班感悟

         今天的收獲,有以下幾點      1.自己的公眾演說能力很弱,要多多練習,給自己更多的機會。     2.自己想提升自己的心很強,但是自己卻不知道該怎么做?     3.即便學完了也只是一個開始,希望自己有一顆歸零的心態。

    Linux干貨 2017-07-10
  • linux上安全軟件SElinux

    selinux簡介 SELinux(Security-Enhanced Linux) 是美國國家安全局(NSA)對于強制訪問控制的 實現,是 Linux歷史上最杰出的新安全子系統。NSA是在Linux社區的幫助下開發了一種訪問控制體系,在這種訪問控制體系的限制下,進程只能訪問那些在他的 任務中所需要文件。SELinux 默認安裝在 Fedora 和 Red …

    系統運維 2016-09-19
欧美性久久久久