2011-11-04 41 views
1

我通常在20〜50次,每天登录为超级用户,一次又一次地键入长密码..我们可以写一个简单的bash脚本来自动登录为root用户

我刚才创建的简单的bash脚本

#!/bin/bash 

sudo -s 
echo password 

./test

输出根@本地: 密码 当我执行它,它就像魅力......但它显示了我在屏幕上的密码.....

做一些有什么其他最好的解决方案......对于这个小问题.......

我希望这不是所有的安全标准的解决方案......可以我们有任何其他解决方案不公开我的密码.....

+0

你知道的,显示在屏幕上你的密码是至少你的p的不是跟随roblems如果你有一个自动sudoes的shell脚本。希望它是你的用户所拥有的,不是任何组的可执行文件(或可读的)。 – Damon

+2

你可以设置sudo不需要密码 –

回答

1

您可以配置sudo每隔几分钟只需要一个密码。默认值是5分钟。阅读sudoers手册页和向下滚动到这一点:

timestamp_timeout 
       Number of minutes that can elapse before sudo will ask 
       for a passwd again. The timeout may include a 
       fractional component if minute granularity is 
       insufficient, for example 2.5. The default is 5. Set 
       this to 0 to always prompt for a password. If set to a 
       value less than 0 the user's timestamp will never 
       expire. This can be used to allow users to create or 
       delete their own timestamps via sudo -v and sudo -k 
       respectively. 
3

您可以将echo'd密码输入命令。尝试是这样的:

echo myPassword | sudo -S 

你可以看得出来这个here更多信息。

问题是,你真的想要你的密码在shell脚本文件? (只是强调它的一个可怕的想法)

+6

绝对不要这样做,除非你希望每个人都可以使用ps读取root密码 –

+0

同意,只是回答这个问题:P – SuperTron

+0

任何其他的想法来解决这个问题.... .... –

1

是否有一个原因,你不能sudo su -刚刚成为root用户,而不是前面加上所有的命令与sudo blah的?

1

只是改变了脚本的所有权根&组SUID位在用户的权限

CHMOD U = RWS克+ X O + X script123

脚本将root运行对每个用户

0

简单的解决方法是使用钥匙基地认证 使用ssh-copy-id命令从这个tutorial这是安全的