1. 程式人生 > >linux中使用者組和許可權問題

linux中使用者組和許可權問題

使用者、組、許可權
一、許可權:r, w, x
1.檔案許可權:
      r:可讀,可以使用類似cat等命令檢視檔案內容;
      w:可寫,可以編輯或刪除此檔案;
      x: 可執行,eXacutable,可以命令提示符下當作命令提交給核心執行;
2.目錄許可權:
      r: 可以對此目錄執行ls以列出內部的所有檔案;
      w: 可以在此目錄建立檔案;
      x: 可以使用cd切換進此目錄,也可以使用ls -l檢視內部檔案的詳細資訊;
3.許可權三位一體:
      rwx:可讀可學可執行
      r--:只讀
      r-x:讀和執行
      ---:無許可權
4.八進位制表示: 
      0 000 ---:無許可權
      1 001 --x: 執行
      2 010 -w-: 寫
      3 011 -wx: 寫和執行
      4 100 r--: 只讀
      5 101 r-x: 讀和執行
      6 110 rw-: 讀寫
      7 111 rwx: 讀寫執行
例如:755:rwxr-xr-x
          rw-r-----: 640
          660:rw-rw----
          rwxrwxr-x:775
二、使用者和使用者組
1.使用者和組的檔案路徑:
    使用者:UID, /etc/passwd
    組:GID, /etc/group
2.影子口令:(真正口令檔案路徑)
    使用者:/etc/shadow
    組:/etc/gshadow
3.使用者類別:
    管理員:0
    普通使用者:1-65535
    系統使用者:1-499
    一般使用者:500-60000
4.使用者組類別:
    管理員組:0
    普通組:1-65535
    系統組:1-499
    一般組:500-60000
5.使用者組類別:
      私有組:建立使用者時,如果沒有為其指定所屬的組,系統會自動為其建立一個與使用者名稱同名的組
      基本組:使用者的預設組
      附加組,額外組:預設組以外的其它組
6.解釋/etc/passwd中7段意義:(使用者名稱:密碼:UID:GID:註釋:家目錄:預設SHELL)
      1).account: 登入名
      2).password: 密碼
      3).UID:
      4).GID:基本組ID
      5).comment: 註釋
      6).HOME DIR:家目錄
      7).SHELL:使用者的預設shell
7.解釋/etc/group中4段意義: 組名:密碼:GID:以此組為其附加組的使用者列表
8.解釋/etc/shadow中8段意義:(使用者名稱:密碼:最近一次修改密碼的時間:最短使用期限:最長使用期限:警告時間:非活動時間:過期時間:)
      1).account: 登入名
      2).encrypted password: 加密的密碼,$中間的為salt
9.加密方法:
 對稱加密:加密和解密使用同一個密碼
 公鑰加密:每個密碼都成對兒出現,一個為私鑰(secret key),一個為公鑰(public key)
 單向加密,雜湊加密:提取資料特徵碼,常用於資料完整性校驗
  1、雪崩效應
  2、定長輸出
                  MD5:Message Digest, 128位定長輸出
                  SHA1:Secure Hash Algorithm, 160位定長輸出
三、管理命令
1.使用者管理命令:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
  1).useradd  [options]  USERNAME 
      -u UID
      -g GID(基本組)
      -G GID,...  (附加組)
      -c "COMMENT"
      -d /path/to/directory
      -s SHELL
      -m -k
      -M
      -r: 新增系統使用者
  2).userdel [option] USERNAME
      -r: 同時刪除使用者的家目錄
  3).id:檢視使用者的帳號屬性資訊
      -u
      -g
      -G
      -n
  4).finger: 檢視使用者帳號資訊
      finger USERNAME
  5).usermod:修改使用者帳號屬性
    -u UID 
    -g GID
    -a -G GID:不使用-a選項,會覆蓋此前的附加組;
    -c
    -d -m:
    -s
    -l
    -L:鎖定帳號
    -U:解鎖帳號
  6).chsh: 修改使用者的預設shell
  7).chfn:修改註釋資訊
  8).passwd:密碼管理
    passwd [USERNAME]
      --stdin
      -l
      -u
      -d: 刪除使用者密碼
  9).pwck:檢查使用者帳號完整性
2.組管理命令:groupadd, groupdel, groupmod, gpasswd
  1).groupadd:建立組 
    -g GID
    -r:新增為系統組
  2).groupmod
    -g GID
    -n GRPNAME
  3).groupdel
  4).gpasswd:為組設定密碼
  5).newgrp GRPNAME <--> exit
  6).chage:更改密碼使用時間
    -d: 最近一次的修改時間
    -E: 過期時間
    -I:非活動時間
    -m: 最短使用期限
    -M: 最長使用期限
    -W: 警告時間
3.許可權管理:chown, chgrp, chmod, umask
  1).chown: 改變檔案屬主(只有管理員可以使用此命令)
    格式:chown USERNAME file,...
              chown USERNAME:GRPNAME file,...
              chown USERNAME.GRPNAME file,...
    -R: 修改目錄及其內部檔案的屬主
    --reference=/path/to/somefile file,...
  2).chgrp:改變檔案屬組
    格式:chgrp GRPNAME file,...
    -R:遞迴
    --reference=/path/to/somefile file,...改正和somefile檔案一樣的屬組
  3).chmod: 修改檔案的許可權
    格式:chmod MODE file,...
    -R:遞迴更改
    --reference=/path/to/somefile file,...改正和somefile檔案一樣的許可權
  4).修改某類使用者或某些類使用者許可權:u,g,o,a
    格式:chmod 使用者類別=MODE file,...
  5).修改某類使用者的某位或某些位許可權:u,g,o,a
    格式:chmod 使用者類別+|-MODE file,...
 
四、特殊許可權
特殊許可權也是一個三位的:s,s,t
1.SUID: 執行某程式時,相應程序的屬主是程式檔案自身的屬主,而不是啟動者;
 格式:chmod u+s FILE  ,chmod u-s FILE
 注意:如果FILE本身原來就有執行許可權,則SUID顯示為s;否則顯示S;
2.SGID: 執行某程式時,相應程序的屬組是程式檔案自身的屬組,而不是啟動者所屬的基本組;
 格式:chmod g+s FILE  , chmod g-s FILE
 注意:如果FILE本身原來就有執行許可權,則SUID顯示為s;否則顯示S
3.Sticky: 在一個公共目錄,每個都可以建立檔案,刪除自己的檔案,但不能刪除別人的檔案;
 格式:chmod o+t DIR  , chmod o-t DIR
 注意:如果FILE本身原來就有執行許可權,則SUID顯示為t;否則顯示T
五、umask:遮罩碼
    檔案預設許可權:666-umask
    資料夾預設許可權:777-umask
    特殊許可權預設為0
    預設遮罩碼:umask=0022
    更改遮罩碼:umask 0023
注意:檔案預設不能具有執行許可權,如果算得的結果中有執行許可權,則將其許可權加1;