权限 – 需要(某些)根访问权限的脚本
我有一个关于系统管理脚本的一般性问题,这些脚本要求使用root访问权限执行“某些”命令,而另一些则是普通的非root用户(即myusername等).我应该提到我在
Linux Red Hat 4系统上使用
Ruby 1.8.6.我到目前为止看到的建议是:
>允许来自sudoers的访问: 我对自己没有更好地掌握这个主题感到惭愧,但是我有点惊讶于我提到的那些没有解决这个问题的Ruby“脚本书”!我想这更像是一个’nix的东西,但似乎做任何实际使用的东西,你可能会碰到这个. 编辑:像mysql这样的东西我可以在命令中使用选项,比如–password,所以我用它来做到这一点: puts "Remote Password: " system('stty -echo') password = STDIN.gets.chomp puts "Mysql Password (local): " mysql_local_password = STDIN.gets.chomp system('stty echo') 然后我可以在脚本中使用这些密码,但它们永远不会被视为明文.但这当然不适用于所有事情. 谢谢大家! 解决方法
你有没有为你的任务调查过
capistrano,puppet,ansible或
chef这样的事情?
你没有提到你的工作范围是什么,所以我不知道它们对你有什么用处. 我会不惜一切代价避免“suid”.安装sudo没有意义,这似乎是运行具有不同权限/用户ID的命令(‘sudo -u user2 command2’等)的最佳选择. 此外,您可能希望在基于密钥的ssh会话(ssh sshkeyaccessonlyuser @ yourhost’sudo命令’)中运行一些sudo命令,这些命令不含密码.如果您不希望在sudo中使用更长的密码缓存,并且您的脚本无法及时完成运行sudo命令,则可以解决缓存问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |