【问题标题】:Linux commands from Java来自 Java 的 Linux 命令
【发布时间】:2008-09-24 09:01:40
【问题描述】:

用java可以执行linux命令吗?我正在尝试创建一个 web servlet 以允许 ftp 用户在没有 ssh 登录访问权限的情况下更改他们的密码。我想执行下一个命令:

# adduser -s /sbin/nologin clientA -d /home/mainclient/clientA
# passwd clientA
# cd /home/mainclient; chgrp -R mainclient clientA
# cd /home/mainclient/clientA; chmod 770 .

【问题讨论】:

    标签: java linux


    【解决方案1】:

    查看this

    但是,做你所说的事情超出了规范,我不推荐它。为了让它工作,你要么以 root 身份运行你的应用服务器,要么使用其他一些机制来给正在运行应用服务器的用户作为执行这些特权命令的权限。在某个地方发生了一个小错误,你就被“拥有”了。

    【讨论】:

    • 使用 sudo 避免以 root 身份运行。
    【解决方案2】:

    用途:

    Runtime.getRuntim().exec("Command");
    

    其中 Command 是您要执行的命令字符串。

    【讨论】:

      【解决方案3】:

      如果您从 Java 调用这些命令,请确保将多个命令打包到单个 shell 脚本中。这将使调用更容易。

      【讨论】:

        【解决方案4】:

        【讨论】:

          【解决方案5】:

          java RunTime 对象有 exec 方法可以在单独的进程中运行命令

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-10-02
            • 1970-01-01
            • 1970-01-01
            • 2018-12-29
            • 2015-09-05
            • 2015-03-29
            相关资源
            最近更新 更多