ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Bash中判断是否是root用户

Bash中判断是否是root用户

原创 Linux操作系统 作者:axis 时间:2010-10-15 18:25:10 0 删除 编辑

Sometime it is necessary to find out if a shell script. is being run as root user or not.

When user account created a user ID is assigned to each user. BASH shell stores the user ID in $UID variable. Your effective user ID is stored in $EUID variable. You can

Old way...

You can easily add a simple check at the start of a script.:

Check the script. is being run by root user

#!/bin/bash
# Init
FILE="/tmp/out.$$"
GREP="/bin/grep"
#....
# Make sure only root can run our script.
if [ "$(id -u)" != "0" ]; then
   echo "This script. must be run as root" 1>&2
   exit 1
fi
# ...

New way: Using EUID

#!/bin/bash
# Init
FILE="/tmp/out.$$"
GREP="/bin/grep"
#....
# Make sure only root can run our script.
if [[ $EUID -ne 0 ]]; then
   echo "This script. must be run as root" 1>&2
   exit 1
fi
# ...

Mount /dev/sdb1 only if you are a root

#!/bin/bash
if [[ $EUID -ne 0 ]]; then
  echo "You must be a root user" 2>&1
  exit 1
else
  mount /dev/sdb1 /mnt/disk2
fi

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/291731/viewspace-676036/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 继续抢IP
请登录后发表评论 登录
全部评论

注册时间:2010-10-14

  • 博文量
    12
  • 访问量
    82289