linux系統是一個多用戶的系統,每個賬號都干什么用,你必須了如指掌。
【Linux用戶】
即UID分為兩大類:管理員 UID:0
普通用戶 UID:1-65535
普通用戶又分為:系統用戶和登錄用戶兩種:
系統用戶:1-499(centos6系統)1-999(centos7系統)一般來說,每個系統進程都對應一個系統用戶,進行權限分配;
登錄用戶:500+(centos6)1000+(centos7)通過交互式方式登錄
【Linux組GID】
管理員組:root 0
普通組:1-65535
普通組又分為系統組和非系統組
系統組:1-499(centos6)1-999(centos7)
非系統組:500+(centos6)1000+(centos7)
一個用戶可以有多個不同的組:基本組(主組)和附加組(額外組)。
基本組組名和用戶名相同,且僅包含一個用戶,也叫私有組?;窘M以外的組屬于附加組
【用戶和組的配置文件】
/etc/passwd 記錄用戶屬性信息
內容由冒號分割成7個字段,每個字段的具體含義是:
用戶名:密碼:UID:GID:用戶的詳細信息:用戶的家目錄:用戶的默認shell
/etc/shadow 記錄用戶密碼信息
內容由逗號分成9個字段
用戶名:加了密的密碼:最近一次更改密碼的日期:密碼的最小使用期限:密碼的最大使用期限:密碼的警告時間段:密碼禁用期:賬戶的過期日期:保留字段
/etc/group 記錄組的屬性信息
組名:組密碼:組id:以當前組為附加組的用戶列表(如果有多個,則以逗號隔開)
/etc/gshadow 組密碼及其相關屬性
組名:組密碼(一般沒有)
Linux中密碼的格式:
mage1:$6$4kW6f7Qr0GFvqh$nryByGweKuNWKvr7ZZwszgojqtktU7KpjsV9E/M/wH5/7MDelx1Nft7m6Zl6xhoScT4PNSNEva6p90S/cZM6s.::
用戶名:$為分隔符 6表示加密算法 后面兩$之間的字符表示salt(如果有兩個相同的密碼,加入不同的salt就會生成截然不同的字符串,也就是后面的一長串字符)
用戶命令
創建用戶:useradd
-u:指定UID號
-o:配合-u選項,不檢查UID的唯一性
-g:GID,指明用戶所屬基本組,可為組名,也 可以為GID
-c:用戶的注釋信息
-d:以指定的路徑(必須不存在)為家目錄
-s:指明用戶的默認shell程序
-G:指明附加組,組必須事先存在,多個用,分割
-N:不創建私有組做主組,使用users做主組
-r:創建系統用戶 centos6:ID<500
centos7:ID<1000
-D:顯示默認設置
-D -s SHELL:更改默認設置
修改用戶屬性: usermod
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: 設定非活動期限(賬號過期寬容時間);
刪除用戶 userdel
-r 同時刪除家目錄
查看用戶信息
id命令
id username #查看指定用戶的組信息
-u:UID
-g:GID
-G:group
-n:name
cat /etc/passwd #查看用戶屬性信息
getent passwd #查看用戶屬性信息
getent passwd username #查看指定用戶屬性信息
設置密碼:
passwd[OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶權限
?passwd: 修改自己的密碼;
?常用選項:
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-iinactivedays:非活動期限;
echo "123456" | passwd–stdin 用戶名
【組】
新建組
groupadd[OPTION]… group_name
-g GID: 指明GID號;[GID_MIN, GID_MAX]
-r: 創建系統組;
修改組屬性:groupmod
groupmod[OPTION]… group
-n group_name: 新名字
-g GID: 新的GID
刪除組:groupdel
groupdel GROUP
組密碼:gpasswd
?gpasswd[OPTION] GROUP
-a user: 將user添加至指定組中;
-d user: 從指定組中移除用戶user
-A user1,user2,…: 設置有管理權限的用戶列表
查看組信息
groupmems[options] [action]
options:
-g, –group groupname更改為指定組(只有root)
Actions:
-a, –add username 指定用戶加入組
-d, –delete username 從組中刪除用戶
-p, –purge 從組中清除所有成員
-l, –list 顯示組成員列表
groups username 查看用戶所屬組列表
[root@si ~]# groupmems -l -g mage1 #查看組成員
zhangsan lisi
命令小技巧
為用戶添加附加組
通常會覆蓋掉以前的附加組,用下面的命令則會追加而不是覆蓋
usermod –aG root,ftp username
usermod -G " " username 則會清空所有附加組
當我們需要批量添加用戶的時候,不可能一個個的建,這時候就會用到下面的命令
批量添加用戶newuser
vi user添加內容按/etc/passwd格式
newuser user
批量建立的沒有密碼
用cat pass.txt | chpasswd 命令批量修改
vi pass.txt添加如下
zhangsan:123
lisi:888
wagwu:000000
當我們不小心刪除家目錄或者使用useradd -d 指定家目錄路徑時,先給他創建了一個家目錄,這時
[root@sibo1 testdir]# userdel -r wangwu
[root@sibo1 testdir]# mkdir wangwu
[root@sibo1 testdir]# useradd -d /testdir/wangwu wangwu
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it. #系統會提示:沒有從skel目錄復制任何文件到里面,所以我們就要手動復制
[root@sibo1 testdir]# getent passwd wangwu
wangwu:x:503:510::/testdir/wangwu:/bin/bash
[root@sibo1 testdir]#
[root@sibo1 testdir]# ls -a wangwu/
. ..
[root@sibo1 testdir]#
修復家目錄:
cp –r /etc/skel/.[^.]* /home/sibo
cp -r /etc/skel/. /home/lisi
最后給大家寫點小東西娛樂一下
修改描述信息chfn:在這里我們可以定制屬于我們自己的個人信息
查看描述信息:finger 用戶名
原創文章,作者:cszdz123,如若轉載,請注明出處:http://www.www58058.com/29103