判斷使用者的使用者名稱和其基本組的組名是否一致

2021-09-08 19:06:27 字數 1510 閱讀 4765

#!/bin/bash

#傳遞乙個使用者名稱引數給指令碼,判斷此使用者的使用者名稱跟其基本組的組名是否一致,並將結果顯示出來

#判斷是否傳遞乙個引數

if [ ! $# -eq 1 ]; then

echo "usage:./group.sh arg"

exit 1

fi#判斷是否存在該使用者

id $1 &> /dev/null

if [ ! $? -eq 0 ]; then

echo "$1 not exits."

exit 1

fi#取給定使用者所屬基本組id

userid=`id $1 | cut -d' ' -f3 | cut -d= -f2 | cut -d'(' -f1`

#取出組名稱

groupname=`grep ".*:.*:$userid:.*" /etc/group | cut -d: -f1`

#判斷使用者名稱和組名是否一致

if [ $1 = $groupname ]; then

echo "username equals groupname."

else

echo "username not equals groupname."

fi#############判斷結束############

優化:

1 #!/bin/bash23

#傳遞乙個使用者名稱引數給指令碼,判斷此使用者的使用者名稱跟其基本組的組名是否一致,並將結果顯示出來45

#判斷是否傳遞乙個引數

6if [ ! $# -eq 1 ]; then

7echo

"usage:./group.sh arg

"8 exit 19fi

1011

#判斷是否存在該使用者

12 #id $1 &> /dev/null

13if ! id $1 &> /dev/null; then

14echo

"$1 not exits.

"15 exit 1

16fi

1718

#取給定使用者所屬基本組id

19 #userid=`id $1 | cut -d'

' -f3 | cut -d= -f2 | cut -d'

(' -f1`

20#取出組名稱

21 #groupname=`grep

".*:.*:$userid:.*

" /etc/group | cut -d: -f1`

2223

#判斷使用者名稱和組名是否一致

24if [ `id -u -n $1` == `id -g -n $1` ]; then

25echo

"username equals groupname."26

else

27echo

"username not equals groupname."28

fi29 #############判斷結束############

JSP判斷使用者名稱的重複

在我的jsp學生資訊管理系統中的檢測使用者名稱是否重複的頁面中時 遇到了乙個可笑的問題 就是自己不會寫 經過了幾天的研究 依舊沒有發現該怎麼解決,最後無奈之下 上網海搜 結果 問題很容易就解決了 需要注意的是一下的幾個要點 1 jsp中沒有equals這個單詞的用法,這個是沒經過驗證的 只是聽大家說...

Linux中使用者名稱和使用者組的管理

首先認識使用者識別符號 uid和gid 其實每乙個使用者和使用者組都有乙個id號,分別是uid和gid 現在需要認識三個目錄 etc passwd etc group etc shadow 它們分別儲存著賬戶,組,和密碼 它們的儲存形式為 從上到下所在的檔案 group,passwd,shadow ...

儲存的使用者名稱和密碼

在windows xp pro裡,經常需要訪問 儲存使用者名稱和密碼 對話方塊,例如增加遠端計算機的訪問憑據,或者刪除microsoft passport的登入資訊。但是這個元件隱藏的比較深,可以借助以下兩種方式 1.在控制面板裡開啟 使用者帳戶 選擇當前登入帳戶,然後單擊左上方的 管理我的網路密碼...