Linux下使用者和組管理

2022-05-22 13:27:12 字數 4276 閱讀 8474

使用者與組之間的關係是,組下面有若干個使用者,每個使用者必須從屬於唯一乙個組。組可以理解為許可權的集合。使用者管理的命令有:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage。組管理的命令有:groupadd, groupdel, groupmod, gpasswd。

在linux系統下使用者的角色不同,許可權和所能完成的任務也不同,使用者角色是通過uid來識別的,在linux下要注意root使用者的uid的唯一性。

系統管理員超級使用者,系統唯一,可以登陸系統,可以操作任何檔案和命令,擁有最高許可權,uid值為0。

與真實的使用者分開來,這類使用者不能登陸系統,但是在使用某些服務的時候使用,這類使用者是系統預設新增的。

這類使用者可以登陸系統,但是只能操作自己家目錄的內容,受限賬戶,這類使用者都是管理員自行新增的。

在windows當中可以使用計算機管理工具中的使用者和組的管理工具來對使用者進行管理,在linux下是通過對使用者配置檔案(區別與windows中的使用者配置檔案)的管理來實現對使用者和組的管理。

使用者賬號檔案,記錄所有使用者記錄,每行表示乙個使用者資訊,7個字段都有各自的含義。例如:root : x : 0 : 0 : root : /root : /bin/bash,這7個字段分別表示使用者名稱、密碼、userid、groupid、使用者相關說明、使用者家目錄路徑、使用者的登陸shell。

使用者賬戶的影子檔案,包含使用者的加密密碼和其他資訊,兩個檔案互補來記錄使用者資訊,這個檔案只有root可以讀取和操作。每行包含8個字段,各項說明如下:

第1個字段,使用者名稱;第2個字段,加密口令;第3個字段,上次口令改變時間,從2023年1月1日算起的天數;第4個字段,多少天內不能改變口令;第5個字段,多少天內必須改變口令;第6個字段,口令到期前多少天會出現警告;第7個字段,如果口令到期後幾天不使用賬號,則無法登陸;第8個字段,如果到這個日期不用賬號則無法登陸,可以以yyyy-mm-dd格式,也可以用2023年1月1日起的天數。

使用vim可以對這個檔案內容進行修改,下面介紹修改哪些位置有哪些作用。

mail_dir,郵件存放目錄;pass_max_days 密碼有效期最長時間;pass_min_days,密碼有效期最短時間;pass_min_len,密碼最小長度;pass_warn_age,密碼到期提示時間;uid_min,uid最小值;uid_max,uid最大值;gid_min,gid最小值;gid_max,gid最大值;create_home,是否建立家目錄;umask,umask值;usergroups_enab,當刪除使用者後,同名組中不在存在使用者的時候,是否刪除該組。

存放使用者啟動檔案的目錄,類似與windows的使用者配置檔案目錄,為使用者提供使用者環境,該目錄下的檔案全部為隱藏檔案。在新增使用者時會從該目錄下複製檔案到使用者的家目錄下,相當與統一的登陸模板。

開啟和關閉投影密碼命令。開啟使用者的投影密碼,使得密碼得到更好的保護,不容易被別的使用者得到。該選項是乙個安全選項,執行命令可以把使用者名稱和密碼分別存放在兩個檔案當中,影子檔案就是密碼檔案。

pwconv,開啟投影密碼命令;pwunconv,關閉投影密碼命令。

useradd jake 建立名為jake的使用者。useradd的常用選項及含義如下:-d指定使用者的家目錄;-g指定使用者組;-g指定使用者的附加組;-u指定使用者的uid值;-p建立密碼。例如,useradd -d /rose -g group -g root -u 505 rose,建立rose使用者,指定家目錄在/rose下,加入到group組,同時附加到root組,並設定uid號為505。

users檢視所有登陸的使用者(who)。

注意:沒有設定密碼的使用者不能使用。例如:passwd rose 給使用者rose設定密碼。常用選項及含義如下:-d刪除密碼;-f強制執行下次登陸時更改密碼;-l停止賬號使用;-u啟用已經停止的賬號;-s顯示密碼資訊。

常用的設定或密碼方法有:a) passwd username,然後再在控制台中輸入兩次密碼(不可見);

b) passwd --stdin username,然後在控制台中輸入一次密碼(可見);

c) echo 「newpassword」 | passwd --stdin username,使用管道將新密碼傳到標準輸入。

userdel rose刪除rose賬號。userdel -r rose刪除使用者登陸目錄及目錄下的檔案(類似於windows的刪除使用者選擇是否刪除使用者的文件)。

usermod -l newname oldname。其常用選項-d、-g、-g、-u等引數與useradd命令引數使用方法一樣。例如,usermod -d /home/rose -g group0 -g group1 -u 600 rose是指將rose使用者的家目錄,主組和附加組以及uid值更改。

usermod -l rose 鎖定rose使用者

usermod -u rose 解除rose使用者的鎖定

gpasswd -a u1 g1 將u1加入到g1組;gpasswd -d u1 g1 將u1退出g1組;gpasswd -a u1 g1 將g1組的管理員指派給u1。注意:只有root和組管理員能夠改變組成員。

id rose 檢視rose使用者的id資訊。id - print real and effective user and group ids。其用法是選項後面接使用者名稱id [option]... [username]。作用是列印使用者的id和組的id,print  user  and group information for the specified username, or (when username omitted) for the current user。常用選項有-u,-g。-u是只列印使用者id,-g是只列印組id。

如果希望計算機除了root賬號外其他賬號不能登陸,在/etc目錄中執行touch nologin,建立1個名稱為nologin的檔案。如果系統只有乙個人使用,可以考慮修改/etc/inittab檔案,將預設啟動值改為2。

使用者組的特性在系統管理中為系統管理員提供了極大的方便,但安全性也是值得關注的,如某個使用者下有對系統管理有最重要的內容,最好讓使用者擁有獨立的使用者組,或者是把使用者下的檔案的許可權設定為完全私有;另外root使用者組一般不要輕易把普通使用者加入進去。

/etc/group的內容包括使用者組、使用者組口令、gid及該使用者組所包含的使用者(user),每個使用者組一條記錄;格式如下:group_name:passwd:gid:user_list。例如,bin: x : 1 :bin,daemon。bin是組,x是密碼段,gid是1,bin使用者組下包括bin、daemon以及gid為1的其它使用者(可以通過 /etc/passwd檢視)。

/etc/gshadow是/etc/group的密碼檔案,使用者組(group)管理密碼就是存放在這個檔案。/etc/gshadow和/etc/group是互補的兩個檔案;對於大型伺服器,針對很多使用者和組,定製一些關係結構比較複雜的許可權模型,設定使用者組密碼是極有必要的。比如我們不想讓一些非使用者組成員永久擁有使用者組的許可權和特性,這時我們可以通過密碼驗證的方式來讓某些使用者臨時擁有一些使用者組特性,這時就要用到使用者組密碼。

/etc/gshadow格式如下,每個使用者組獨佔一行:groupname:password:admin,admin,...:member,member,...

第1欄位:使用者組;第2欄位:使用者組密碼,這個段可以是空的或!,如果是空的或有!,表示沒有密碼;第3欄位:使用者組管理者,這個欄位也可為空,如果有多個使用者組管理者,用,號分割;第4欄位:組成員,如果有多個成員,用,號分割。

常用選項及含義為:-g指定gid;-o一般和g選項同時使用,可以與已有組的gid相同。例如,groupadd -go 501 g1 建立組g1其gid可以與已有的組重複。

一般的情況下,沒有必要設定使用者組的密碼;例如,gpasswd rose 修改rose 組的密碼。

groupdel g1 刪除g1組(沒有使用者的空組)。

其常用屬性有:-g指定新的gid;-o與-g配合使用同groupadd的-o;-n修改組名。例如groupmod -g 601 g1修改g1的gid為601。再如,groupmod -n g11 g1將g1組改名為g11。

newgrp root切換到root組。

linux下的使用者和組的管理

1.新建乙個user1使用者,uid gid 主目錄均按預設 useradd user1 2.新建乙個user2使用者,uid 800 其餘按預設 useradd u 800 user2 3.新建乙個user3使用者,預設主目錄為 abc 其餘預設 並觀察這 三個使用者的資訊有什麼不同 userad...

Linux使用者和組管理

useradd 使用者名稱 建立使用者和組 passwd 使用者名稱 設定使用者密碼 groupadd 組名 建立組 usermod d 路徑 使用者名稱 修改使用者宿主目錄 usermod u uid 使用者名稱 修改使用者的uid usermod s bin csh 使用者名稱 修改使用者啟動s...

linux 使用者和組管理

1.建立乙個新使用者user01,設定其主目錄為 home user01 sudo useradd d home user01 m user01 2.檢視 etc passwd檔案的最後一行 注 現在的unix linux系統中,口令不再直接儲存在passwd檔案中,通常將passwd檔案中的口令欄...