Linux 新手 - 我正在使用 Debian 9。
我想pwndbg
按照教程运行脚本进行安装这里。我正在使用我的根帐户来执行此操作,并希望将其安装到我的根帐户的主目录中。输出如下:
root@My-Debian-PC:~/pwndbg# ./setup.sh
+ PYTHON=
+ INSTALLFLAGS=
+ osx
+ uname
+ grep -i Darwin
+ '[' '' == --user ']'
+ PYTHON='sudo '
+ linux
+ uname
+ grep -i Linux
+ sudo apt-get update
./setup.sh: line 24: sudo: command not found
+ true
+ sudo apt-get -y install gdb python-dev python3-dev python-pip python3-pip libglib2.0-dev libc6-dbg
./setup.sh: line 25: sudo: command not found
root@My-Debian-PC:~/pwndbg#
显然,该脚本被认为是作为具有 sudo 权限的帐户运行的,因此会出现错误,因为 root 帐户无法使用该sudo
命令。
那么有没有办法消除错误呢?我应该简单地编辑脚本并sudo
从第 24 行和第 25 行中删除该单词,还是这样做是不好的做法?或者是否可以将我的 root 帐户添加到 sudo 用户组,以防我将来遇到另一个脚本的错误?或者我应该按原样运行脚本,然后apt-get update
再运行apt-get -y install gdb python-dev python3-dev python-pip python3-pip libglib2.0-dev libc6-dbg
?
谢谢!
答案1
如果您可以编辑脚本并删除sudo
命令,则以 root 用户身份运行脚本应该可以按预期工作。
安装sudo
命令也是使命令成功执行的一种方法。
apt install sudo
答案2
我会尝试以非 root 用户身份运行它。这些安全结构的存在是有原因的。
如果你已经是root了,sudo
那就多余了。脚本通常使用“sudo”来有效地询问普通用户“您真的确定要执行此操作吗?”,或者区分针对特定用户所做的更改和系统范围内所做的更改。因此,如果您只是在测试盒上乱搞,那就去做吧,但一定要确保您特别了解“sudo”行的作用。
我还警告不要将您的根帐户用于管理之外的广泛用途。如果您想实际使用正在安装的库来开发软件,那么使用非管理员用户作为日常登录是有意义的。看这里为什么定期登录以 root 身份运行应用程序是一个坏主意。如果您对安全感兴趣,了解这一点尤其重要。