1. 程式人生 > >Shell腳本:推斷用戶和用戶組是否已經存在/創建用戶和用戶組

Shell腳本:推斷用戶和用戶組是否已經存在/創建用戶和用戶組

推斷 lai test 專用 shell腳本 統一 track _id -a

通常作為一個應用程序的部署腳本,開始的第一項工作是為當前應用創建一個專用(dedicated)的用戶和用戶組。這個腳本非常easy。這裏貼一個參考樣本:


#!/bin/sh
user=test_user
group=test_group

#create group if not exists
egrep "^$group" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
    groupadd $group
fi

#create user if not exists
egrep "^$user" /etc/passwd >& /dev/null
if [ $? -ne 0 ]
then
    useradd -g $group $user
fi

對於加入用戶來說,我們還能夠使用id命令來推斷一個用戶是否存在,這樣建立一個用戶的腳本能夠這樣寫:

#create user if not exists
id $user >& /dev/null
if [ $?

-ne 0 ] then useradd -g $group $user fi


可是。使用id命令不能推斷一個用戶組是否已經存在!至於使用id -g $user僅僅能給出一個已存在的用戶所屬的用戶組是什麽,並不能推斷一個用戶組是否已經存在。所以,為了使用腳本的處理方式統一。我們統一使用從/etc/group和/etc/passwd文件裏進行查找的方式來推斷一個用戶組和用戶是否存在!

Shell腳本:推斷用戶和用戶組是否已經存在/創建用戶和用戶組