在linux 中如何判断当前用户是否是root?
分享下shell 脚本判断当前用户是否是root的方法。
脚本内容:
复制代码 代码示例:
#---------------------------- root user check ---------------------start
if [ `id -u` -ne 0 ]; then
echo "Please re-run ${th
is_file} as root."
exit 1
fi
#---------------------------- root user check ---------------------end
if [ x"$USER" = x"" ];then
if id |grep "^uid=0(root)">/dev/null ;then
:
else
echo "Please rerun `basename $0` as root ."
exit 1
fi
else
if [ ! x"$USER" = x"root" ];then
echo "Please rerun `basename $0` as root ."
exit 1
fi
fi
#=============== check current user start ================
if [ ! $USER = root ];then
echo "Please rerun this script as root ."
exit 1
fi
#=============== check current user end ================
代码2:
复制代码 代码示例:
#!/bin/sh
if id |grep "^uid=0(root)">/dev/null ;then
echo is root
else
echo not root
fi
check_user(){
if [ $UID -ne 0 ];then
echo "Current user is not ROOT."
echo "Please rerun the installer as Root user."
exit 11
fi
}
例3,在linux系统中列出当前系统下的所有用户,(www.jb200.com)就像windows下的net user一样
复制代码 代码示例:
awk -F":" '{print $1}' /etc/passwd
以上列出所有的用户。
如果要列出创建的用户(id >=500) :
复制代码 代码示例:
awk -F":" '($3>=500 && $3<65534){print $1}' /etc/passwd
例子:
复制代码 代码示例:
[root@localhost ~]# awk -F":" '($3>=500 && $3<65534){print $1}' /etc/passwd
whuang
oracle
kingbase
xrxiong
huangwei
kingbase2
user2
nagios
abca
abc
user1