*** Linux用戶和組:
1.用戶:Username/UID
管理員:root, 0
系統用戶:1-499(CENTOS6), 1-999(CENTOS7)
對守護進程獲取資源進行權限分配
登錄用戶:500(CENTOS6)+, 1000(CENTOS7)+
交互式登錄
2.組:Groupname/GID
管理員組:root, 0
系統組:1-499, 1-999
普通組:500+, 1000+
用戶的主要組(主組):用戶必須屬于一個且僅一個主組
私有組:組名同用戶名,且包含一個用戶
用戶的附加組(輔助組):一個用戶可屬于零個或多個輔助組
3.Linux用戶和組的主要配置文件:
/etc/passwd: 用戶及其屬性信息(名稱、UID、主組ID等)
/etc/shadow: 用戶密碼及其相關屬性
/etc/group: 組及其屬性信息
/etc/gshadow:組密碼及其相關屬性
文件格式:
1)/etc/passwd:
login name :passwd :UID :GID :GECOS :home directory :shell:
登錄用名 :密碼(x) :用戶身份編號 :用戶組編號 :用戶全名或注釋:家目錄 :默認使用shell
zhou:!!:::::: 有嘆號禁止登陸
usermod -L zhou 鎖定用戶禁止登陸;加一個嘆號
無密碼無法解鎖 usermod -U
2)/etc/shadow:
登錄用名
用戶密碼:一般用sha512加密
從1970年1月1日起 到密碼最近一次被更改的時間
密碼再過幾天可以被變更(0表示隨時可被變更)
密碼再過幾天必須被變更(99999表示永不過期)
密碼過期前幾天系統提醒用戶(默認為一周)
密碼過期幾天后帳號會被鎖定
從1970年1月1日算起,多少天后帳號失效。
更改加密算法authconfig–passalgo=sha512 –update
md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 256bits
sha384: 384bits
sha512: 512bits
pwunconv 口令不轉換即將密碼保留在/etc/passwd;不安全
3)/etc/group
群組名稱:就是群組名
群組密碼:通常不需要設定,密碼是被記錄在/etc/gshadow
GID:群組的ID
以當前組為主組或附加組的用戶列表(分隔符為逗號)
4)/etc/gshadow
群組名稱:就是群組名稱
群組密碼:*
組管理員列表:組管理員的列表,更改組密碼和成員
以當前組為主組或附加組的用戶列表:(分隔符為逗號)
vipw;vigr 專用于編輯密碼文件
執行時會為文件上鎖,其他用戶或終端無法同時修改。避免修改失敗
pwck;grpck 檢查密碼文件完整性 格式等
**useradd[options] LOGIN 添加用戶
-u UID: [UID_MIN, UID_MAX]定義在/etc/login.defs
-o 配合-u 選項,不檢查UID的唯一性 可創建uid相同的用戶
-g GID:指明用戶所屬基本組,可為組名,也可以為GID
-c "COMMENT":用戶的注釋信息
-d HOME_DIR:以指定的路徑(需不存在)為家目錄
-s SHELL: 指明用戶的默認shell程序
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,…]:為用戶指明附加組,組必須事先存在
-N 不創建私用組做主組,使用users組做主組gid=100
-r: 創建系統用戶CentOS 6: ID<500,CentOS 7: ID<1000
新建用戶默認值設定:/etc/default/useradd文件中
顯示或更改默認設置:
useradd -D
useradd -D -s SHELL
初始家目錄文件集:/etc/skel/*
設置用戶帳號限制的文件/etc/login.defs 密碼的最大過期天數,密碼的最大長度約束等
/etc/shadow的配置優先級高于/etc/login.defs
newusers FILE(嚴格按照/etc/passwd格式編寫的文件) 可批量添加用戶
chpasswd FILE(嚴格按照/etc/shadow格式編寫的文件) 可批量更改用戶密碼
userdel [OPTIONG] USER 刪除用戶
-r刪除用戶及其家目錄
finger顯示用戶信息 需安裝
Login Name Tty Idle Login Time Office Office Phone Host
root root pts/0 Jul 30 13:17 (10.1.250.32)
chfn可用來更改執行finger指令時所顯示的信息
若不指定任何參數,則chfn指令會進入問答式界面
** usermod [OPTION] login 更改用戶配置
-u UID: 新UID
-g GID: 新基本組
-G GROUP1[,GROUP2,…[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;
若保留原有,則要同時使用-a選項,表示append;
-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: 設定非活動期限;
#id [OPTION]… [USER]
-u: UID
-g: GID
-G: Groups
-n: Name
#su[options…] [-] [user [args…]]
-l 相當于'-'
切換用戶的方式:
#su UserName:非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄
#su – UserName:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換
root su至其他用戶無須密碼;非root用戶切換時需要密碼
換個身份執行命令:
su [-] UserName -c CMD
#passwd [OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶權限
passwd 修改自己的密碼;
-l:鎖定指定用戶
-u:解鎖指定用戶 -f 強制執行
-e:強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-iinactivedays:非活動期限;
–stdin:從標準輸入接收用戶密碼;
echo "PASSWORD" | passwd –stdin USERNAME
#chage[OPTION]… LOGIN 更改賬號密碼有效期
-d LAST_DAY 上一次更改的日期
-E –expiredateEXPIRE_DATE 帳號到期的日期。過了這天,此帳號將不可用。
-I –inactive INACTIVE 停滯時期。如果一個密碼已過期這些天,那么此帳號將不可用。
-m –mindaysMIN_DAYS 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
-M –maxdaysMAX_DAYS 密碼保持有效的最大天數。
-W –warndaysWARN_DAYS 用戶密碼到期前,提前收到警告信息的天數。
-l 例出當前的設置。由非特權用戶來確定他們的密碼或帳號何時過期。
* 組:groupadd [OPTION]… GROUP 添加組
-g GID: 指明GID號;[GID_MIN, GID_MAX]
-r: 創建系統組;
#groupmod [OPTION]… GROUP 編輯組
-n group_name: 新名字
-g GID: 新的GID;
#groupdel GROUP:刪除組
#gpasswd [OPTION] GROUP 更改組密碼
-a user: 將user添加至指定組中; 普通用戶必須先 成為組管理員
-d user: 從指定組中移除用戶user; 普通用戶必須先 成為組管理員
-A user1,user2,…: 設置有管理權限的用戶列表 root可設置
#groupmems [options] [action] 更改組成員 root可用
-g, –group groupname更改為指定組
動作:
-a, –add uname 指定用戶加入組
-d, –delete uname 從組中刪除用戶
-p, –purge 從組中清除所有成員
-l, –list 顯示組成員列表
#newgrp命令:臨時切換基本組;
如果用戶本不屬于此組,則需要組密碼
#chown [OPTION]… [OWNER][:[GROUP]] FILE… 改變文件屬主 屬組
-R: 遞歸
命令中的冒號可用.替換;
#chown [OPTION]… –reference=RFILE FILE…復制 一個文件的屬主
#chgrp [OPTION]… GROUP FILE…修改文件的屬組
-R 遞歸
#chgrp [OPTION]… –reference=RFILE FILE… 復制 一個文件的屬組
chmod[OPTION]… OCTAL-MODE FILE…
-R: 遞歸修改權限
chmod[OPTION]… MODE[,MODE]… FILE…
chmod[OPTION]… –reference=RFILE FILE…
參考RFILE文件的權限,將FILE的修改為同RFILE
*文件屬性:
owner: 屬主, u
group: 屬組, g
other: 其他, o
每個文件對每類訪問者定義了三種權限:
r: Readable
w: Writable
x: eXcutable
對應:
rwx r-x r– 權限
111 101 100 二進制
4+2+1 4+1 4 十進制 數字法不支持-X
對文件:
r: 可使用文件查看類工具獲取其內容
w: 可修改其內容
x: 可以把此文件提請內核啟動為一個進程
對目錄:
r: 可以使用ls查看此目錄中文件列表 沒有 看不到列表
w: 可在此目錄中創建文件,也可刪除此目錄中的文件 沒有 無法修改 刪除文件
x: 可以使用ls -l查看此目錄中文件列表,可以cd進入此目錄 沒有不能cd 和訪問
X:遞歸-R給權限時,只給目錄x權限,不給文件x權限
(文件本身沒有執行權限,否則會ugo加x)
chmod -R g+rwX /testdir
普通用戶不可更改自己的屬主,可以更改包含自己的屬組
umask 目錄文件初始權限 轉換為二進制與運算
umask ### 設置umask /etc/bashrc ~/.bashrc
目錄=777-umask
文件=666-umask 結果有奇數+1 偶數不變
原創文章,作者:Jasper,如若轉載,請注明出處:http://www.www58058.com/27816