linux權限管理命令

date -s “2018-4-3”

1、/etc/passwd,用戶屬性
---->cat /etc/passwd or getent passwd,查看/etc/passwd文件
C}KIN3]@4O@)]%}[J8T7_{W
---->getent passwd 用戶名
3C{)UVX(%L{ESM1YNT1LPEA
1.1 /etc/passwd文件中每行的7個字段,意義如下:
    login name:登錄用名(wang) 
    passwd:密碼 (x) 
    UID:用戶身份編號 (1000) 
    GID:登錄默認所在組編號 (1000) 
    GECOS:用戶全名或注釋 
    home directory:用戶主目錄 (/home/wang) 
    shell:用戶默認使用shell (/bin/bash)?
---->pwunconv,將x轉換成哈希(sha512)加密后的密碼
0_58APF5$WG4BAB{HGL7J19
---->pwconv,哈希(sha512)后的密碼轉換成x
2M[]CSE}PTBSQEAN9S~U@MM
2、/etc/shadow,用戶密碼屬性
---->cat /etc/shadow or getent shadow,查看/etc/shadoww文件
QC7YJ~MA53`5Z$U[0DT27ZA
---->getent shadow 用戶名,查看此用戶這行密碼屬性
A{D1[HIC8UD8W4D(4PKV
2.1 /etc/shadow文件中9個字段,意義如下:
     登錄用名 
     用戶密碼:一般用sha512加密 
     從1970年1月1日起到密碼最近一次被更改的時間 
     密碼再過幾天可以被變更(0表示隨時可被變更) 
     密碼再過幾天必須被變更(99999表示永不過期) 
     密碼過期前幾天系統提醒用戶(默認為一周) 
     密碼過期幾天后帳號會被鎖定 
     從1970年1月1日算起,多少天后帳號失效 

UP0)F4~`J@KUEIL410836(4
2.2第二個字段哈希密碼第一個$與第二個$之間表示意義:
QC7YJ~MA53`5Z$U[0DT27ZA
   $6:sha512加密算法;$1:md5算法
2.3 第二個字段哈希密碼第二個$與第三個$之間表示意義:
   salt:哈希加密算法加密之前,添加隨機字段,單向加密目前不可逆(MD5除外),雪崩效應,為加強密碼安全性
2.4 更改/etc/shadow文件中加密算法
---->authconfig --passalgo=sha256 --update,原理是改變/etc/login.def文件中ENCRYPT METHOD SHA512
4H6OL`U0MZ`S@U5UZJ06%_U
3、/etc/group,用戶組屬性
---->cat /etc/group or getent group
ZBKWT2Z55}Q1D]PJ]27I88V   
其包含4個字段,意義:
    群組名稱:就是群組名稱 
    群組密碼:通常不需要設定,密碼是被記錄在 /etc/gshadow 
    GID:就是群組的ID 
    以當前組為附加組的用戶列表(分隔符為逗號)?
4、/etc/gshadow,用戶組密碼及管理屬性
---->cat /etc/gshadow or getent gpasswd,查看此文件
]~J)FD62LJVA%`AX6YM(N0W
其包含4個字段,意義:
    群組名稱:就是群組名稱 
    群組密碼: 
    組管理員列表:組管理員的列表,更改組密碼和成員 
    以當前組為附加組的用戶列表:(分隔符為逗號)
5、vipw , vigr 打開/etc/passwd,/etc/group,相當于vim -o /etc/passwd /etc/group
6、pwck , grpck 檢查/etc/passwd,/etc/group文件中語法
7、useradd
7.1 useradd [options] LOGIN 
   -u UID 
   -o 配合-u 選項,不檢查UID的唯一性 
   -g GID:指明用戶所屬基本組,可為組名,也可以GID 
   -c "COMMENT":用戶的注釋信息 
   -d HOME_DIR: 以指定的路徑(不存在)為家目錄 
   -s SHELL: 指明用戶的默認shell程序,可用列表在/etc/shells文件中 
   -G GROUP1[,GROUP2,...]:為用戶指明附加組,組須事先存在 
   -N 不創建私用組做主組,使用users組做主組 
   -r: 創建系統用戶 CentOS 6: ID<500,CentOS 7: ID<1000 
   -m 創建家目錄,如果主目錄不存在則自動創建
   -M 不創建家目錄,用于非系統用戶 
---->groupadd -g 1080 parrot
K@4{CN]SOJEW$AO}VVC{AV4
---->useradd -u 1080 -c "Centos is king" -s /bash/shell -m -d /data/parrot parrot
N81(8E7E8581_4UA)[K]3$I
---->useradd -o -u 1080 parrot_1,不檢查id唯一性
3JT2{%2M]7F2QS5E`M4C{FA
---->useradd -N gentoo,不創建私有組作為主組,而是users作為主組
Q[G93XRI1JYI_0KV5`BN]IC
L3P_~D3YT2)96Y3VV}8(UIR
7.2 useradd 添加用戶時默認配置文件/etc/default/useradd?
---->cat /etc/default/useradd or useradd -D
P%H`K2CM}([3FQ%@)040 
顯示或更改默認設置 
   useradd –D -s SHELL 
   useradd –D –b BASE_DIR 
   useradd –D –g GROUP 
---->useradd -D -b /data,修改添加用戶時默認家目錄
[J}%B%Q_3$5GCLH$TM26%PC
C%{APFCC]MNIE`0I[K38I1A
7.3 /etc/skel,創建用戶家目錄時,其家目錄下環境變量等隱藏文件是以此目錄為模板復制
U5CM2}]T[46YXSI_AE5DD%0
8、newusers 文件:后面跟文件是以passwd格式文件,批量創建用戶
---->newusers 1.new,以1.new文件添加用戶
(X(3_MP6K(6$GQ~MOH8C77R
注:此方法創建用戶家目錄下無/etc/skel/環境變量配置文件
   chpasswd 文件:文件格式為user:passwd,批量修改用戶口令 
cat 1.new.passwd |chpasswd,批量設置用戶密碼
PWFPN74E7]VMUXRWHK2Q~VV
9、 usermod
    usermod [OPTION] login 
    -u UID: 新UID 
    -g GID: 新主組 
    -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項 
    -s SHELL:新的默認SHELL 
    -c 'COMMENT':新的注釋信息 
    -d HOME: 新家目錄不會自動創建;若要創建新家目錄并移動原家數據,同時使用-m選項 
    -l login_name: 新的名字; 
    -L: lock指定用戶,在/etc/shadow 密碼欄的增加 ! 
    -U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉 
    -e YYYY-MM-DD: 指明用戶賬號過期日期 
    -f INACTIVE: 設定非活動期限
---->usermod -u 2018 -g 2019 -aG mysql -s /sbin/nologin test
NS2$A1%8RR8JF0VX}Y_W4EL
9X[GYK@G7`KFUAZA9P~W8C7
---->usermod -f 5 test,修改用戶INACTIVE period ,默認為空
2A4B1JB{3~]ZAZHAVUX]$4I
10、userdel 
    userdel [OPTION]... login 
     -r: 刪除用戶家目 
---->userdel -r 用戶 ,刪除用戶時同時刪除其家目錄,默認不刪除
CKTA2J$)(M%5_4OY2PQ$CPV
注:/etc/login.defs下如果CREATE_HOME項不存在,或設置為no,則創建用戶時不會創建家目錄,-m選項則會自動創建
YFY}$~_VXFULWZ57_M4)0AH
---->ueradd test1 && useradd -m test1
UT4}0E9N`3$6O@Q16@VHN@I
11、id
    id [OPTION]... [USER] 
    -u: 顯示UID 
    -g: 顯示GID 
    -G: 顯示用戶所屬的組的ID 
    -n: 顯示名稱,需配合ugG使用 
---->id -u yyc;id -ng 1001
T@$O`6[3WVN41NLY8@ZJO`Y
12、su,切換用戶
    su [options...] [-] [user [args...]] 
12.1切換用戶的方式: 
    su UserName:非登錄式切換,即不會讀取目標用戶的配置文件,不改變
12.2當前工作目錄 
    su - UserName:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換 
12.3root su至其他用戶無須密碼;非root用戶切換時需要密碼 
12.4換個身份執行命令: 
    su [-] UserName -c 'COMMAND' 
13、passwd 修改/設置用戶密碼
    passwd [OPTIONS] UserName: 修改指定用戶的密碼 
    常用選項: 
    -d:刪除指定用戶密碼 
    -l:鎖定指定用戶 
    -u:解鎖指定用戶 
    -e:強制用戶下次登錄修改密碼 
    -f: 強制操作 
    -n mindays: 指定最短使用期限 
    -x maxdays:最大使用期限 
    -w warndays:提前多少天開始警告 
    -i inactivedays:非活動期限 
    --stdin:從標準輸入接收用戶密碼 
 echo "PASSWORD" | passwd --stdin USERNAME 
---->passwd -d 用戶,刪除用戶密碼
J5%0PW34WA(ZLL}QH01}AJW
---->passwd -l 用戶名,鎖定用戶
---->passwd -u 用戶名,解鎖用戶
J5%0PW34WA(ZLL}QH01}AJW
其原理/etc/shadow文件中第二個字段前加!
---->passwd -e 用戶,強制下次登錄修改密碼
EE7BMTFBA2$7TGHDTT25`_C
原理是將上一次修改密碼時間設置為0,下一次登錄則必須修改密碼
---->passwd -n 1 -x 20 -w 3 -i 3 test2
OLU8_J}YAB7ZJWR`_@X@@ZN
14、chage,修改用戶密碼策略
    chage [OPTION]... LOGIN 
    -d LAST_DAY 
    -E --expiredate EXPIRE_DATE 
    -I --inactive INACTIVE 
    -m --mindays MIN_DAYS 
    -M --maxdays MAX_DAYS 
    -W --warndays WARN_DAYS 
    –l 顯示密碼策略 
---->chage -l test2;chage -d 0 -m 1 -M 100 -W 4 -I 4 -E 2021-11-11 test2
_)R$)3]U`VO(ST@7030XH(A
15、用戶信息查看修改命令
     finger chfn chsh
15.1 finger,用戶及登錄郵件等信息
---->finger root
@LPTK]@]}VPE(NRKWN8S89K
15.2 chfn ,增加、修改用戶備注信息,即/etc/passwd中用戶第五個字段信息
---->chfn root;finger root;getent passwd root
)%J4EL}Q7MGO}NW3Y`76Q_A
15.3 chsh ,修改用戶使用的shell
$PD8(3M)(QH`KTH56Z}}7]K
16、groupadd [OPTION]... group_name 
    -g GID: 指明GID號;[GID_MIN, GID_MAX] 
    -r: 創建系統組   
     CentOS 6: ID<500 
     CentOS 7: ID<1000?
17、groupmod ,組屬性修改
    groupmod [OPTION]... group 
     -n group_name: 新名字 
     -g GID: 新的GID 
    groupdel,組刪除
     groupdel GROUP?
18、gpasswd 
    gpasswd [OPTION] GROUP 
     -a user 將user添加至指定組中 
     -d user 從指定組中移除用戶user 
     -A user1,user2,... 設置有管理權限的用戶列表 
    newgrp命令:臨時切換主組 
    如果用戶本不屬于此組,則需要組密碼 
19、groupmems,更改和查看組成員
    groupmems [options] [action] 
     -g, --group groupname 更改為指定組 (只有root) 
     -a, --add username 指定用戶加入組 
     -d, --delete username 從組中刪除用戶 
     -p, --purge 從組中清除所有成員 
     -l, --list 顯示組成員列表?
---->groupmems -l -g test1
X6L0`L3_W18_$)6RJKBF`R3
---->groupmems -a test3 -g test1
NDBJR(IK1ONIQAHSXNJO6OR
19、chown 修改文件的屬主
     chown [OPTION]... [OWNER][:[GROUP]] FILE... 
      用法: 
      OWNER 
      OWNER:GROUP 
      :GROUP 
      命令中的冒號可用.替換 
      -R: 遞歸 
    chown [OPTION]... --reference=RFILE FILE... 
chgrp 修改文件的屬組
    chgrp [OPTION]... GROUP FILE... 
    chgrp [OPTION]... --reference=RFILE FILE... 
    -R 遞歸 
20、文件目錄屬主屬組權限說明
  文件的權限主要針對三類對象進行定義 
    owner: 屬主, u 
    group: 屬組, g 
    other: 其他, o 
  每個文件針對每類訪問者都定義了三種權限 
    r: Readable 
    w: Writable 
    x: eXcutable 
   文件: 
     r: 可使用文件查看類工具獲取其內容 
     w: 可修改其內容 
     x: 可以把此文件提請內核啟動為一個進程 
   目錄: 
     r: 可以使用ls查看此目錄中文件列表 
     w: 可在此目錄中創建文件,也可刪除此目錄中的文件 
     x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄 
     X:只給目錄x權限,不給文件x權限 
21 chmod 修改權限
   chmod [OPTION]... OCTAL-MODE FILE... 
    -R: 遞歸修改權限 
   chmod [OPTION]... MODE[,MODE]... FILE...  
    修改一類用戶的所有權限: 
      u= g= o= ug= a= u=,g= 
    修改一類用戶某位或某些位權限 
      u+ u- g+ g- o+ o- a+ a- + - 
   chmod [OPTION]... --reference=RFILE FILE... 
    參考RFILE文件的權限,將FILE的修改為同RFILE 
---->chmod -R a+x 目錄及所在文件都增加x權限,如果是X,則只會給目錄加x權限,如果目錄中有文件有x權限,則其也會增加x權限
VVS061O_5JP6`M3C$W~L}{K
22 三種特殊權限
 suid 
    文件中屬主位表現為s,一般為二進制文件,表示用戶執行此文件時,會繼承其所有者權限
---->chmod u+s file
sgid 
  1)繼承二進制程序所有組的權限
  2)作用于目錄,此目錄新建的文件繼承目錄的所屬組
---->chmod g+s file | dir
sticky
  作用于目錄,此目錄的文件只能被所有者刪除
---->chmod o+t dir
  SUID: user,占據屬主的執行權限位 
   s: 屬主擁有x權限 
   S:屬主沒有x權限 
  SGID: group,占據屬組的執行權限位 
   s: group擁有x權限 
   S:group沒有x權限 
  Sticky: other,占據other的執行權限位 
   t: other擁有x權限 
   T:other沒有x權限 
 23、chattr 設定文件特定屬性
    +i:不能刪除,改名,寫內容; -i 去除鎖定
    +a 只能追加內容
    lsattr,查看鎖文件
---->chattr +i file;lsattr
UW{W6)JY284L7R@$S%_LA97
24、ACL,訪問控制列表
  setfacl -m [u|o|g]:用戶名:rwx file|directory,不指用戶則為對所有用戶生效
  getfacl file|directory,查看訪問控制列表
---->setfacl -m:test1:r ls;getfacl ls
E4O(7JY0PBT59H@M@N$NL(H
  setfacl -m mask::權限:設置mask權限,一旦啟用了acl,組權限則變為mask權限,設定權限不超過mask權限
----setfacl -m mask::r ls 
$44OUN_IK{FE{TDLW)6_3SN
----setfacl -b file|directory 刪除所有擴展acl權限
4F2`GFURH2RYV]ZBHJ2MPGL
---->setfacl  -x u:yyc file,刪除控制列表中指定控制權限
L$W6O$C}CA5`KNKJW1R{T[Y
T{QX3YV8QBLQ_Q_$}VXGWMU
注意:如果啟用了ACL,group權限就變為mask權限,ACL文件上的group權限是mask值(自定義用戶,自定義組,擁有組的最大權限),而非傳統的組權限




本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/94883

(0)
parrotparrot
上一篇 2018-04-03
下一篇 2018-04-04

相關推薦

  • 實現創建私有CA

    CA的構成:PKI: Public Key Infrastructure簽證機構:CA(Certificate Authority)注冊機構:RA證書吊銷列表:CRL證書存取庫:X.509:定義了證書的結構以及認證協議標準版本號序列號簽名算法頒發者有效期限主體名稱主體公鑰CRL分發點擴展信息發行者簽名證書類型:證書授權機構的證書服務器用戶證書獲取證書兩種方法…

    Linux筆記 2018-05-22
  • 系統啟動和內核管理之系統啟動實驗

    本文主要記錄:內核文件損壞導致系統無法啟動的修復過程

    2018-05-07
  • shell打印選擇菜單shell

    每天一練小腳本

    Linux筆記 2018-05-19
  • 第十次筆記 二

    使用PEX和cobbleer實現網絡服務器自動化安裝系統

    2018-05-26
  • yum倉庫的建立

    配置文件 1手動生成 /etc/yum.repos.d/FILE.repo [NAME] name=NAME baseurl=… gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 enable=1 2直接復制 http://mirrors.aliyun.com/repo/?? /*直接下載阿里…

    Linux筆記 2018-04-29
  • linux練氣篇二

    1.sort和cut的運用
    2.輸出和追加輸出
    3.用戶及組的增,刪,改權限

    2018-05-29
欧美性久久久久