-PR-
解決
済み

perl から unix コマンドを入力する方法

  • 暇なときにでも
  • 質問No.22170
  • 閲覧数1163
  • ありがとう数4
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 10% (2/20)

perl から unix コマンドを入力するには、どのようにしたらよいのでしょうか。

具体的には、フォームから受け取った文字列を、useradd に渡して、ユーザーの追加をしたいのです。

perlスクリプトの所有者はrootで、属性はsetuid(4755)にしています。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル9

ベストアンサー率 34% (23/66)

コマンドが command、フォームから受け取った文字列が $argumentであれば、

system("command $argument");

で ok です。
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル14

ベストアンサー率 25% (873/3452)

コマンドを実行するだけなら $return = `command`; < バッククオート演算子 か、 system("command"); のことでしょうか? ただ、cgiでsetuid使うのって良いのかしらん?と思わなくも無いですが・・・ ユーザー作り置きしておいてエイリアス振っていくとかというのとか色々やり方はありますが。 あんまり変らないか・・・ ...続きを読む
コマンドを実行するだけなら

$return = `command`; < バッククオート演算子

か、

system("command");

のことでしょうか?
ただ、cgiでsetuid使うのって良いのかしらん?と思わなくも無いですが・・・
ユーザー作り置きしておいてエイリアス振っていくとかというのとか色々やり方はありますが。
あんまり変らないか・・・
あ、フォームといってもcgiとはおっしゃっていないですね。^^;


  • 回答No.3
レベル11

ベストアンサー率 55% (155/280)

回答は marino_cx さんのとおりでいいと思いますが、setuid した スクリプトで外部コマンドを呼び出したりする際には、セキュリティ ホールに十分に気をつけてください。 ちょっとしたミスで root でないユーザが root 権限を容易に取得 できてしまいます。 もっともこういった危険を減らすために、通常の perl は、setuid されている場合に、外部から指定された文字列 ...続きを読む
回答は marino_cx さんのとおりでいいと思いますが、setuid した
スクリプトで外部コマンドを呼び出したりする際には、セキュリティ
ホールに十分に気をつけてください。
ちょっとしたミスで root でないユーザが root 権限を容易に取得
できてしまいます。

もっともこういった危険を減らすために、通常の perl は、setuid
されている場合に、外部から指定された文字列をそういった危険性
のある操作には与えられないようにしています。これを無理に解除
する方法もありますが、あまりしない方がいいとは思います。
  • 回答No.4
レベル8

ベストアンサー率 20% (11/53)

perl自体にルート権限を与えてしまうのは確かに怖いですね.せめて,sudoなどをかますと良いです.sudo2は細かい設定が出来て,Webでユーザ情報変更とかに安心して使えます. ...続きを読む
perl自体にルート権限を与えてしまうのは確かに怖いですね.せめて,sudoなどをかますと良いです.sudo2は細かい設定が出来て,Webでユーザ情報変更とかに安心して使えます.
お礼コメント
ss963

お礼率 10% (2/20)

早速、sudoを調べてみました。
確かに、これの方がいいみたいです。
投稿日時 - 2000-12-26 19:39:07
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ