专栏首页10km的专栏linux shll:sudo的相关使用

linux shll:sudo的相关使用

判断当前用户是否有sudo权限

判断当前是否有sudo权限可以用sudo -v返回0为sudo user,否则不是。 使用示例:

if sudo -v &>/dev/null;
then  
	echo $(whoami) is sudo user; 
else 
	echo $(whoami) is not sudo user; 
fi

判断sudo用户密码是否正确

想要判断sudo用户密码是否正确基本的原理就执行一条简单的sudo命令,用-S选项允许从stdin输入密码,看看是否能成功执行。如果能就代表密码是正确的,否则就不正确。 在执行这个sudo 命令前,先要用-k选项执行sudo,完全移除时间戳文件,否则sudo会记忆之前输入的密码,导致返回值不正确。

# 验证 sudo 密码是否正确
# $1 待验证密码
# 密码正确返回0,否则返回1
function valid_sudo_pwd(){
	sudo -k
	echo "$1" | sudo -lS &>/dev/null
}

my_pwd="your_password"
if valid_sudo_pwd $my_pwd
then
	echo [$my_pwd] is valid password of $(whoami)
else
	echo [$my_pwd] is invalid password of $(whoami)
fi

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ubuntu14/ubuntu16/centos7:解决可以ping ip却ping不通主机名

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net...

    用户1148648
  • java:执行linux sudo命令

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net...

    用户1148648
  • CentOS6.5:login后循环显示"starting filemanager"的问题

    版权声明:本文为博主原创文章,转载请注明源地址。 https://blog.csdn.net...

    用户1148648
  • 『C』ubuntu命令大合集

    查看软件xxx安装内容dpkg -L xxx查找软件库中的软件apt-cache search 正则… 查看软件xxx安装内容 dpkg -L xxx 查找软...

    白凡
  • 3天学会Jenkins_2_怎么下载并安装Jenkins到Unix或Windows环境

    Jenkins 可以安装在 Windows 或 Unix 平台上,包括 Ubuntu、Mac OS X、Red Hat/Fedora/CentOS 等。

    别打名名
  • 快速搭建一个Linux内核调试环境

    (1)git clone 内核,在git checkout某一个分支:git clone https://github.com/torvalds/linux.g...

    De4dCr0w
  • ubuntu命令大全

    查看软件xxx安装内容 #dpkg -L xxx 查找软件 #apt-cache search 正则表达式 查找文件属于哪个包 #dpkg -S fil...

    闵开慧
  • Ubuntu18.04LTS下cuda10.0+cudnn7.5+TensorFlow1.13环境搭建

    SeanDepp
  • Ubuntu下通过docker部署springboot项目

    右边有相应的版本,下载自己想要的版本(注:这里的java全部是openjdk,不是oracle jdk)。

    吟风者
  • 集中式日志系统 ELK 协议栈详解

    在我们日常生活中,我们经常需要回顾以前发生的一些事情;或者,当出现了一些问题的时候,可以从某些地方去查找原因,寻找发生问题的痕迹。无可避免需要用到文字的、图像...

    shaonbean

扫码关注云+社区

领取腾讯云代金券