无法运行 bash 脚本权限被拒绝

无法运行 bash 脚本权限被拒绝

我正在从终端运行一个 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保存文件。正如荷马·辛普森所说,哎呀!

事实就是这样有点权限错误,但仅与模式文件的所有权的。

希望这可以帮助其他人拥有荷马·辛普森的时刻;-)

相关内容