如何在ssh远程命令期间sudo su

时间:2017-03-23 17:23:51

标签: linux bash ssh

我正在编写一个bash脚本来扫描多台Linux机器以查看它是否符合组织标准:

data['col1'] = data['old_col1'].apply(lower).isin(['cond1','cond2'])

我正在使用ssh命令执行此操作:

grep "sulogin" /etc/inittab ~:S:wait:/sbin/sulogin

问题如下:

  1. 我所在的框(跳转框)无法sudo到root,然后执行ssh。 (我知道,很奇怪)
  2. 我所在的框中有UserA,它位于所有服务器上。 UserA位于sudoers列表中,我可以在每个框上手动执行ssh -q <<HOSTNAME>> grep "sulogin" /etc/inittab ~:S:wait:/sbin/sulogin 。 (我想自动化这个。
  3. sudo su -是仅限root用户的文件。并且无法在任何其他用户下查看该文件。
  4. 如何将/sbin/sulogin包含在ssh命令中以ssh进入服务器,然后sudo su -,然后扫描我需要的文件?

    感谢。

1 个答案:

答案 0 :(得分:0)

试试这个。用户必须成为sudoers的一部分。

$con = getConnection();
        //check connection
        if(!$con){
            die("Connection to database failed".  mysql_connect_error() );
        } else echo ("connection to database successfull");



        //prepared statement for sql query
        $stmt = $con -> prepare("SELECT nickname FROM user WHERE (nickname=?)");
        $stmt -> bind_param("s", $nickname);
      
        $stmt->execute();

        //checkking result, if nickname is already used
        if($stmt->get_result()){
            echo "0";
        } else {
            //insert user
        }