我正在从终端运行一个 bash 脚本
sudo sh /usr/local/ControlPanel/web/bin/login.sh admin myPassword
登录文件
#! /bin/bash
Username=$1;
Password=$2;
algorithm=$(grep $Username /etc/shadow | awk -F'$' '{print $2}')
salt=$(grep $Username /etc/shadow | awk -F'$' '{print $3}' | awk -F: '{print $1}')
password=$(grep $Username /etc/shadow | awk -F'$' '{print $4}' | awk -F: '{print $1}')
hashed='$'$algorithm'$'$salt'$'$password;
algorithmSalt='$'$algorithm'$'$salt;
plaintext=$(python -c 'import crypt; print crypt.crypt("'$Password'", "'$algorithmSalt'")')
if [[ $hashed == "$plaintext" ]]; then
echo "1|You have successfully loggedin.";
else
echo "0|Incorrect username or password.";
fi
/etc/sudoers.d/管理员
admin ALL=(ALL) ALL
admin ALL=NOPASSWD:/usr/local/ControlPanel/web/bin/*
如果不添加 sudo 我收到以下错误消息
grep: /etc/shadow: Permission denied
添加 sudo 后我收到以下错误消息
/etc/sudoers.d/admin: syntax error near line 1 <<<
sudo: parse error in /etc/sudoers.d/admin near line 1
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
答案1
sudoers 错误:任何时候你修改sudoers文件,只编辑它,visudo
这将检查你的更改,并阻止你砍掉你自己的头。如果你破坏了sudoers文件,可能会完全阻止您的访问。
权限错误:这个错误可能有点转移视线……
我正在执行一个脚本,但sudo
一直失败,并显示“没有权限“错误。我确信它应该可以工作。
失败的原因是什么?我忘了chmod 700
保存文件。正如荷马·辛普森所说,哎呀!
事实就是这样有点权限错误,但仅与模式文件的所有权的。
希望这可以帮助其他人拥有荷马·辛普森的时刻;-)