1. 程式人生 > >【作業】Linux實驗

【作業】Linux實驗

linux 如何新建個不能登入系統賬號

要修改一個已經存在的使用者,執行這個命令: usermod -s /sbin/nologin <username > 對新使用者,可以使用這個命令: useradd -s /sbin/nologin <new username> /bin/false是最嚴格的禁止login選項,一切服務都不能用。而/sbin/nologin只是不允許login系統,但可以使用其他ftp等服務。

Linux groupdel --刪除群組

groupdel命令用來刪除群組,該命令會把/etc/group和/etc/gshadow中相關的資料刪除。群組名須存在(Thenamed group must exist)。必須手動確認一下所有的檔案系統,確保沒有檔案或目錄沒有使用此群組(You must manually check all file systems to insurethat no files remain with the named group as the file group ID)。如果有任何一個使用者賬號屬於該群組的話就不能移除該群組(You may not remove the primary group of anyexisting user)。 最好先移除使用者後再移除群組(You must remove the user before you remove thegroup)。注意:Linux上的中文手冊實在不咋的,沒法理解,如下所示。

man groupdel 寫道

描述

groupdel命令會修改系統帳號檔,會刪除所有已經存在的group. 群組名須存在。

你須手動確認一下所有的檔案系統確保有沒有檔案還是沒修正群組名變成群組ID。

警告

如果有任何一個群組的使用者在線上的話就不能移除該群組。最好先移除使用者後再移除群組。

常用引數

格式:groupdel {GROUP}

刪除群組。

格式:groupadd {GROUP}

新增群組。

格式:useradd {USER}

新增使用者,同時會自動建立同名群組。

格式:userdel {USER}

刪除使用者,同時會自動刪除同名群組。

使用示例

示例一

[[email protected] ~]# useradd hello

[[email protected] ~]#

[[email protected] ~]# groupdel hello

groupdel:不能刪除使用者的主組。

[[email protected] ~]#

[[email protected] ~]# userdel hello

[[email protected] ~]# groupdel hello

groupdel:hello 組不存在

[[email protected]

~]#

Linux命令:chpasswd 批量修改使用者密碼

工作原理: 從系統的標準輸入讀入使用者的名稱和口令,並利用這些資訊來更新系統上已存在的使用者的口令

語法: 1:# echo 使用者名稱:密碼 | chpasswd 2:# chpasswd < doiido.txt

引數: -e :如果使用了-e選項,口令將只能以加密的方式傳遞       如果未使用-e選項,口令將按明文的形式傳遞

注意事項 1:使用者名稱必須是系統上已存在的使用者 2:普通使用者沒有使用這個指令的許可權 3:如果輸入檔案是按非加密方式傳遞的話,請對該檔案進行適當的加密。 4:指令檔案不能有空行

例項 1、直接修改doiido使用者的密碼為helloboy # echo doiido:helloboy |chpasswd

2、使用doiido.txt裡面的使用者名稱密碼批量修改相應使用者的密碼 2.1:首先建立指令檔案doiido.txt(格式為[username:passwd]) # vi doiido.txt doiido1:helloboy doiido2:hellogirl

2.2:將doiido.txt的內容傳輸到chpasswd指令來修改相應使用者的密碼 # chpasswd < doiido.txt

3、讓普通使用者使用chpasswd 預設普通使用者是沒有chpasswd的許可權,但是可以通過修改命令檔案許可權來修改 # chmod 4755 /usr/sbin/chpasswd

這樣普通使用者就可以使用chpasswd來修改密碼

情境模擬題 :

想將本伺服器的賬號分開管理,分為單純郵件使用,與可登入系統賬號兩種。其中若為純郵件賬號時, 將該賬號加入 mail 為初始群組,且此賬號不可使用 bash 等 shell 登入系統。若為可登入賬號時, 將該賬號加入 youcan 這個次要群組。

#!/bin/bash
groupadd mail
groupadd youcan
#cat /etc/group |tail -n 2
cat /etc/passwd	| cut -d':' -f7 >tmp
#cat tmp
Len=`cat tmp | wc -l `
for (( i=1; i<=$Len ; i++))
do
	str=`cat /etc/passwd | head -n $i | tail -n 1 `
	userName=`echo $str | cut -d':' -f1`
	userMod=`cat ./tmp | head -n $i | tail -n 1`	
	#echo -n $userName 
	#echo $userMod
	if [ "$userMod" == "/sbin/nologin" ];then
		usermod -G mail $userName
	else
		usermod -G youcan $userName
	fi	 
done
cat /etc/group | grep mail
cat /etc/group | grep youcan
rm -rf tmp