0

我在 iOS 中有一个需要 su 的 MobileTerminal 脚本,有什么方法可以将命令添加到 bash 脚本中以 root 身份登录,而无需输入 su 然后输入密码?

干杯,

十二月

4

2 回答 2

1

SUDO 和系统功能在 iOS 中是不允许的,它们违反了沙盒和安全性。

于 2012-12-14T22:18:57.417 回答
0

这就是对我有用的解决方案:

  1. 越狱
  2. 从 Cydia 安装 sudo
  3. 从 Cydia 安装 OpenSSH
  4. SSH 到你的 iPhone

    $ssh root@<your iphone ip>
    Password: alpine //no echo
    

    并运行

    iPhone:~ root# visudo
    

    之后立即添加

    root    ALL=(ALL) ALL
    

    这条线(你想要的不同)

    mobile  ALL=(ALL) ALL
    
  5. 保存更改。现在你可以了sudo。为了与您一起编辑,visudo应该使用类似的控件vi
  6. 毕竟sudo像这样添加到你的脚本硬编码调用

    #!/bin/bash
    sudo -S -p "" echo -n "" <<!
    alpine
    !
    sudo echo "This line is printed as root"
    

    现在解释:

    • -S允许从块中读取密码<<!\n ... \n!,它应该打印在单行上
    • -p ""禁止密码提示,因此Password:不打印该行
    • echo -n最后不允许换行符

所以你可以sudo在你的脚本中没有任何密码提示。唯一的事情 - 在这种方法中,密码是硬编码的。但是您可以尝试像 $1 这样的命令行参数(未经测试,只是一个想法)

于 2013-03-26T14:09:20.323 回答