linux是乙個可以實現多使用者登陸的作業系統,允許多個使用者同時登陸到系統上使用資源。系統根據賬戶來區分每個使用者的檔案、程序、任務,給每個使用者提供特定的工作環境。
使用者組的基本概念:
使用者(users)和組(group):
系統上的每個程序(執行程式 )都作為特定使用者進行。
每個檔案都由特定使用者擁有。
使用者對檔案和目錄的訪問受到限制。
與執行中的程序相關聯的使用者確定該程序可訪問的檔案和目錄。
(* 使用者組group,就是具有相同特徵的使用者的集合體)
使用者的類別:
管理員普通使用者
系統使用者
登入使用者
組類別2:
使用者的基本組
使用者的附加組
組類別3:
私有組:組名同使用者名稱,且只包含乙個使用者;
公共組:組內包含了多個使用者。
使用者識別符號(gid和uid):
當我們登入linux主機的時候,我們輸入的是使用者的帳號,比如root,但其實linux主機本不認識賬號名稱,他能認識的只是id,每乙個檔案都有屬組和屬主,所以每一次登入都有兩個id,乙個屬主(user id,簡稱uid),乙個屬組(group id,簡稱gid)。
uid:
16bits二進位制數字:0-65535
管理員:0
普通使用者:1-65535
系統使用者:1-499(centos6),1-999(centos7)
登入使用者:500-60000(centos6),1000-60000(centos7)
名稱解析:名稱轉換
username<-------->uid
根據名稱解析庫 /etc/passwd
gid:
管理員組:0
普通使用者組;1-65635
系統使用者組:1-499(centos6),1-999(centos7)
登陸使用者組:500-60000(centos6),1000-60000(centos7)
名稱解析:groupname<—>gid
解析庫: /etc/group
使用者組管理:
程序以其發起者的身份執行; 程序對檔案的訪問許可權,取決於發起此程序的使用者的許可權;系統使用者:為了能夠讓那後台程序或服務類程序以非管理員的身份執行,通常需要為此建立多個普通使用者;這類使用者從不用
登入系統。
groupadd命令:新增組
groupadd [選項] group_name
-g gid:指定gid;預設是上乙個組的gid+1;
-r: 建立系統組;
groupmod命令:修改組屬性
groupmod [選項] group
-g gid:修改gid;
-n new_name:修改組名;
groupdel命令:刪除組
groupdel [選項] group
useradd命令:建立使用者
useradd [選項] 登入名
-u, --uid uid:指定uid;
-g, --gid group:指定基本組id,此組得事先存在;
-g, --groups group1[,group2,…[,groupn]]]:指明使用者所屬的附加組,多個組之間用逗號分隔;
-c, --comment comment:指明注釋資訊;
-d, --home home_dir:以指定的路徑為使用者的家目錄;通過複製/etc/skel此目錄並重命名實現;指定的家
目錄路徑如果事先存在,則不會為使用者複製環境配置檔案;
-s, --shell shell:指定使用者的預設shell,可用的所有shell列表儲存在/etc/shells檔案中;
-r, --system:建立系統使用者;
注意:建立使用者時的諸多預設設定配置檔案為/etc/login.defs
useradd -d:顯示建立使用者的預設配置;
useradd -d 選項: 修改預設選項的值;
修改的結果儲存於/etc/default/useradd檔案中;
usermod命令:修改使用者屬性passwd命令:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i
inactivedays] [-s] [–stdin] [username]
(1) passwd:修改使用者自己的密碼;
(2) passwd username:修改指定使用者的密碼,但僅root有此許可權;
-l, -u:鎖定和解鎖使用者;
-d:清除使用者密碼串;
-e date: 過期期限,日期;
-i days:非活動期限;
-n days:密碼的最短使用期限;
-x days:密碼的最長使用期限;
-w days:警告期限;
–stdin:
echo 「password」 | passwd --stdin username
gpasswd命令:
組密碼檔案:/etc/gshadow
gpasswd [選項] group
-a username:向組中新增使用者
-d username:從組中移除使用者
newgrp命令:臨時切換指定的組為基本組;
newgrp [-] [group]
-: 會模擬使用者重新登入以實現重新初始化其工作環境;
chage命令:更改使用者密碼過期資訊
chage [選項] 登入名
-d:指定密碼最後修改日期
-e:密碼到期的日期,過了這天,此賬號不可用,0表示馬上過期,-1表示永不過期
-w:密碼過期前,提前收到警告資訊的天數
-m:密碼可以更改的最小天數。為零代表任何時候都可以更改密碼
-m:密碼保持有效的最大天數。
id命令:顯示使用者的真和有效id;
id [option]… [user]
-u: 僅顯示有效的uid;
-g: 僅顯示使用者的基本組id;
-g:僅顯示使用者所屬的所有組的id;
-n: 顯示名字而非id;
如果建立乙個使用者時,未指定任何選項,系統會建立乙個和使用者名稱相同的組作為使用者的primary group.
建立使用者 指定選項:
#useradd user02 -u 503 //建立使用者usr02,指定uid
#useradd user03 -d /aaa //建立使用者user03 指定家目錄
#useradd user05 -s /sbin/nologin //建立使用者並指定shell
#useradd user07 -g hr,it,fd //建立使用者,指定附加組
刪除使用者:
#userdel user10 //刪除使用者user10,但不刪除使用者家目錄和mail spool
#userdel -r user2 //刪除使用者user2,同時刪除使用者家目錄mailspool
使用者密碼:
[root@nebulalinux03 ~]# passwd alice
[nebula@nebulalinux03 ~]$ passwd
組成員管理:
注意:只針對已存在的使用者
#usermod -g hr niuniu2 //覆蓋原有的附加組
#usermod -g fd,it niuniu2
#usermod -ag hr niuniu2 //增加新的附加組
補充:檢視當前登入的使用者資訊:id
檢視檔案的owner:ll /home/
檢視執行程序的username:ps aux |less
檢視執行程序的使用者:ps -ef |grep sshd,
檢視程序:ps -ef |grep httpd
啟動程序:systemctl start httpd
檢視屬組和屬主:ll -d httpd
屬組屬主許可權改為root : chown -r root:root
linux 使用者 組管理
linux 系統是乙個多使用者多工的分時作業系統,任何乙個要使用系統資源的使用者,都必須首先向系統管理員申請乙個賬號,然後以這個賬號的身份進入系統。使用者的賬號 一方面可以幫助系統管理員對使用系統的使用者進行跟蹤,並控制他們對系統資源的訪問 另一方面也可以幫助使用者組織檔案,並為使用者提供安全性保護...
Linux使用者組管理
使用者組資訊存放 etc group 當組內只有乙個使用者,並且使用者名稱和使用者組名一致時預設不顯示 組號1 499是系統預留的使用者組,500的使用者組是管理員手動建立的,組密碼佔位符用x表示 組密碼配置檔案 etc gshadow 也是四段存放的,乙個 代表組密碼為空,比如ssh免密登入後就為...
linux 使用者 組管理
useradd 選項 使用者名稱選項 u 為使用者指定id d 為使用者指定家目錄userdel r 使用者名稱 徹底刪除使用者usermod 選項 使用者名稱選項 s 修改shellpasswd 使用者名稱 設定密碼groupadd 選項 組名選項 ggroupdel 選項 組名groupmod ...