增加和删除用户组与用户
增加和刪除用戶組與用戶
在使用linux時,經常會出現好多原先加的帳戶未刪除的情況,給系統運行帶來隱患,因此一定要徹底刪除。
進入root用戶,輸入
cd?/etc
在這個目錄下輸入
cat?passwd
會出現很多用戶,絕大部分是系統用戶,是不能刪的,一般最下面的是用戶自己原先添加的帳戶。這些帳戶已經用
userdel?用戶名
這個命令刪過,但是仍存在關聯文件。所以要用另一種方法:
進入
cd?/usr
cd?sbin?(某些系統版本為bin文件夾)
在這里輸入
./userdel?-r?用戶名?(前面的./一定要加上)
就可以徹底刪除了。
一、Linux添加/刪除用戶和用戶組
作用:組的作用是管理用戶的
1、建用戶:
adduser?phpq???????????????????????//新建phpq用戶
passwd?phpq???????????????????????//給phpq用戶設置密碼
2、建工作組
groupadd?test??????????????????????//新建test工作組
3、新建用戶同時增加工作組
useradd?-g?test?phpq??????????//新建phpq用戶并增加到test工作組
注1::-g?所屬組?-d?家目錄?-s?所用的SHELL
注2:tail?/etc/group?
Grptest1:x:502??三個字段分別代表組名、組密碼、組id?,?不加“-g”選項按照系統默認的gid創建組,跟用戶一樣,gid是從500開始的。
***例題:如果刪除一個組時報錯:?“cannot?remove?the?primary?group?of?user?'aming'”?這是什么意思?
[1]?A?這個組不存在?
[1]?B?這個組里包含用戶aming
[1]?C?要想刪除這個組可以先刪除aming用戶?
[1]?D?解決該問題可以把aming用戶的屬組改為其他
答案:BCD
?
4、給已有的用戶增加工作組
usermod?-G?groupname?username
或者:gpasswd?-a?user?group
5、臨時關閉:在/etc/shadow文件中屬于該用戶的行的第二個字段(密碼)前面加上*就可以了。想恢復該用戶,去掉*即可。
或者使用如下命令關閉用戶賬號:
passwd?peter?–l
重新釋放:
passwd?peter?–u
6、永久性刪除用戶賬號
userdel?peter
groupdel?peter
usermod?–G?peter?peter???(強制刪除該用戶的主目錄和主目錄下的所有文件和子目錄)
7、從組中刪除用戶
編輯/etc/group?找到GROUP1那一行,刪除?A?或者用命令?gpasswd?-d?A?GROUP
8、顯示用戶信息
id?user
cat?/etc/passwd
linux批量刪除用戶及添加用戶
管理用戶(user)的工具或命令:
useradd?注:添加用戶;
adduser?注:添加用戶;
passwd?注:為用戶設置密碼;
usermod?注:修改用戶命令,可以通過usermod?來修改登錄名、用戶的家目錄等等;
pwconv?注:使用影子密碼口令系統,將/etc/passwd加密,同步用戶信息?到/etc/shadow文件。
pwck?注:pwck是校驗用戶配置文件/etc/passwd?和/etc/shadow?文件內容是否合法或完整;
pwunconv?注:換為傳統口令系統,是pwconv的立逆操作,從/etc/shadow和?/etc/passwd?創建/etc/passwd?,會刪除?/etc/shadow?文件;
遇到的一些問題:
問題1:adduser?的-e選項設置帳號過期,帳戶過期后會自動刪除帳號的文件信息么?
問題2:adduser?-p?選項是用來設置用戶密碼的么?那么我用在此設置的密碼怎么無法登陸系統?
回答:在linux下?man?adduser可以看到幫助,其中-p參數的解釋如下:
-p?passwd
The?encrypted?password,?as?returned?by?crypt(3).?The?default?is
to?disable?the?account.
它的意思是通過crypt命令將你輸入的密碼通過crypt命令加密處理,默認是禁用該帳戶。
?
問題3:adduser和useradd兩者一樣嗎?功能似乎差不多,為什么要整出這兩個命令來?
adduser存在/usr/sbin/目錄下,使用命令ll?/usr/sbin/adduser可以發現:
lrwxrwxrwx?1?root?1?root?7?Aut?6?20:46?/usr/sbin/adduser?->useradd
回答:這說明adduser不過是useradd的一個符號鏈接。創建這個符號連接主要是為了讓用戶在嘗試命令時盡快命中。
?
問題4:userdel刪除帳號后,為什么用戶的目錄還存在/home/目錄下呢?
因為不帶參數的話,默認并不刪除用戶目錄信息,加上參數?-r?即可。
?
注意:
1.在pwunconv的情況下,無法用passwd去更改用戶密碼使得用戶生效,使用chpasswd去批量更改是可以的,或者執行pwconv后即可用passwd去更改。
?
2.用adduser創建用戶時通過-p設置的密碼(在pwunconv的情況下將變為明碼,但是)帳戶仍然不可用,無法登陸,必須在pwconv后使用passwd再設置后方可,然后再pwuncov將不再是明碼顯示了。
?
3.groupdel刪除組,必須在組所有用戶皆被刪除后才可執行。
***例題
刪除用戶如何連帶它的家目錄一并刪除??
??A??userdel?-r?username?
B??userdel?-d??username
C??userdel?-a?username
D??deluser?-a?username??????????????正確答案:?A????
?注:userdel??命?令?修?改?系?統?帳?號?檔刪?除?所?有?login?會?參?考?的?部?份。使?用?者?名?稱?必?須是?存?在?的?。
??-r?????使?用?者?目?錄?下?的?檔?案?一?并?移?除?。?在?其?他?位?置?上的
檔案?也?將?一?一?找?出?并?刪?除?。
?????
批量增刪用戶的方法:
方法一、編寫腳本實現批處理
?
一、如何添加用戶?
第一步:創建帳戶列表文件useradd
[root@denven?root]#vi?useradd
adduser?stu060101
adduser?stu060102
adduser?stu060103
…..
注:如果在后面執行腳本時候提示無法執行命令,則應該使用路徑為/usr/sbin/adduser?win01的形式,或者修改系統環境變量。
?
第二步:更改文件權限,使其可執行
[root@denven?root]#chmod?700?userdel
第三步:執行腳本,添加用戶
[root@denven?root]#./useradd
第四步:設置密碼,可以運用方法三中的設置密碼的方式進行。
二.如何批量刪除用戶?
第一步:創建刪除帳戶文件,?文件名為?userdel
[root@denven?root]#vi?userdel
userdel?-r?stu060101
userdel?-r?stu060102
userdel?-r?stu060103
…
注:-r選項是同時刪除用戶的文件目錄,若不加此選項,只是用戶不存在,而該用戶以前創建的目錄依然存在。
第二步:更改文件權限,使其可執行
[root@denven?root]#chmod?700?userdel
?
第三步:執行該腳本,刪除用戶
[root@denven?root]#./userdel
注:以上是在腳本中包含了每個用戶添加和刪除用戶命令來實現的。
?
方法二、用shell中循環語句實現
A.批量添加
首先,創建帳戶列表文件users
[root@denven?root]#vi?users
stu01
stu02
stu03
stu04
…
第二步:創建usersadd這個sh文件
[root@denven?root]#vi?usersadd.sh
while?read?line
do
echo?$line?#打印出讀取的信息
#/usr/sbin/adduser?$line
/usr/sbin/adduser?$line?#創建用戶
echo?“user?$line?created!”
done?<users?#從users文件中讀取用戶名
?
第三步:執行usersadd這個sh文件
[root@denven?root]#sh?usersadd.sh
可以看到屏幕輸出一些信息
第四步:設置密碼,可以運用方法三中的設置密碼的方式進行。
?
B.現批量刪除
編寫shell導入上面的用戶文件users來刪除
?
第一步:創建usersadd這個sh文件
[root@denven?root]#vi?usersdel.sh
while?read?$line
do
echo?$line?#打印出讀取的信息
#/usr/sbin/adduser?$line
/usr/sbin/userdel?-r?$2?#刪除讀取的用戶
echo?“user?$line?deleted?from?system”
done
<?users?#從users文件中讀取用戶名
?
第三步:執行usersdel這個sh文件
[root@denven?root]#sh?usersdel.sh
方法三、使用系統自帶批處理命令
第一步:創建帳戶列表文件
[root@denven?root]#vi?students
在Vi編輯器中編輯帳戶列表,
stu01::1001:1000:stu:/home/stu01:/bin/bash
stu02::1002:1000:stu:/home/stu02:/bin/bash
stu03::1003:1000:stu:/home/stu03:/bin/bash
注意這個文件必須按照/etc/passwd文件中每一行的格式相對應,用六個冒號隔開成七個字段
?
第二步:創建帳戶對應密碼文件
[root@denven?root]#vi?passwds.txt
stu01:******
stu02:******
stu03:******
***表示是為該用戶設置的密碼。
?
第三步:添加用戶
[root@denven?root]#newusers?<?students
這樣就建起了大量用戶,可以察看一下,他們已經被寫入用戶配置文件;
[root@denven?root]#more?/etc/passwd?|?grep?stu
?
第四步:批量把用戶密碼添加到對應帳戶
[root@denven?root]#chpasswd?<?passwds
?
第五步:把密碼同步到/etc/shadow文件中
[root@denven?root]#pwconv
?
方法四、使用批量增刪用戶的軟件PDAddUser來實現。
?
幾種方法的比較:
第一種方法是將每條命令的執行放到腳本中封裝起來了,因此要在腳本中多次寫入添加和刪除的命令;
?
第二種方法中只需添加用戶名列表即可,不需重復在用戶文件中寫入命令,因為它把命令放在sh中通過循環語句來實現。但要確保編寫的shell文件正確。
?
第三種方法只用了系統命令,而不需要編程,但是在編寫用戶列表文件容易出錯;
?
第四種方法我尚未用過,借助第三方軟件應該比較快捷。
?
?
本文轉自 YAOvYAO 51CTO博客,原文鏈接:http://blog.51cto.com/yaoyao1314520/1737803總結
以上是生活随笔為你收集整理的增加和删除用户组与用户的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hibernate xml配置文件
- 下一篇: 读书感想--list/BSS等等