我在Ubuntu上安装了 wondershaper ,这是一个限制互联网速度的程序,我的意思是兄弟姐妹在我不在家时使用所有带宽,我的互联网是有限的,我想创建一个将在启动时运行的bash文件,意味着当他们打开计算机时,这些是我通常在终端中键入的代码
sudo wondershaper eth0 3 3
//It asks me for my password
The bash file will be something like this
#!/bin/bash
sudo wondershaper eth0 3 3
但是当他在终端上询问密码时,给他密码的代码是什么?没有我输入它?
答案 0 :(得分:1)
正如其他人所说,将密码保留为纯文本是一个坏主意。最好让这个脚本以root身份运行,作为init脚本的一部分。
您的脚本依赖于sudo
命令来获取临时超级用户权限。
不要让您的脚本在普通用户帐户上运行,而是在root帐户上运行它。然后,您无需为密码授予root权限。您将从/etc/init.d
运行脚本,这是Ubuntu的启动脚本目录。您可能希望将其添加到预先存在的脚本,如rc.local
(在所有其他init脚本运行后执行的文件)。
忽略脚本的sudo
部分(例如sudo echo
只变为echo
),因为root不需要请求超级用户权限。就是这样!
你说你是Linux新手,所以这里有两个资源可以帮助你入门:
答案 1 :(得分:0)
你做不到。这是不安全的,因为你应该在文件中清楚地写密码。
您必须更改/ etc / sudoers才能让您的用户在没有密码的情况下使用sudo,请添加以下行:
$USER ALL=(ALL) NOPASSWD: /usr/bin/wondershaper
其中$ USER是您的用户名。
否则,您可以在/etc/init.d/rc.local上添加它,因此它将在启动时以root身份运行。