チケット #25192

登録: 2011-05-18 20:35

最終更新: 2017-09-22 16:27

Web インタフェースからの svn update の実行

報告者:kumaneko担当者:(未割り当て)
優先度:1 - 最低マイルストーン:(未割り当て)
チケットの種類:機能リクエスト重要度:1 - 最低
コンポーネント:シェルサーバ状況:完了
解決法修正済み

チケットの詳細

サイトのコンテンツを svn で管理しているのですが、 ssh ログインできない環境からでも反映できるように cron を利用しています。そんなに頻繁に更新されるわけではないので cron を使うのはもったいないけれども、更新されたときはすぐに反映できると嬉しいので、 Web インタフェースからオンデマンドでできたらなぁと思っています。

やりたいことは、

#include <stdio.h>

#include <unistd.h>

#include <sys/types.h>

#include <sys/stat.h>

int main(int argc, char *argv[]) {

char *args[] = { "/usr/bin/svn", "update", NULL };
char *envp[] = { "HOME=/home/users/ユーザのホームディレクトリ/", NULL };
umask(0022);
fclose(stdin);
printf("Content-type: text/plain\r\n\r\n");
fflush(stdout);
if (chdir("/home/groups/サイトのドキュメントディレクトリ/") == 0)
execve(args0, args, envp);
return 0;

}

であり、 setuid/setgid を付与すれば実現可能なのですが、 shell.sourceforge.jp では nosuid オプション付きでマウントされているため、実現できません。

ssh ログインや cron を使わずに実現できる方法があったらなぁ、と思いました。

添付ファイル

添付ファイルリスト添付ファイルはありません
新規添付ファイル追加
添付ファイルの追加添付ファイルの追加にはログインが必要です

チケットの履歴 - 2 件中 2 件表示

2011-05-18 20:35 更新者: kumaneko

  • 新しいチケット "Web インタフェースからの svn update の実行" が作成されました

2017-09-22 16:27 更新者: ishikawa

  • チケット完了時刻2017-09-22 16:27 に更新されました
  • 状況オープン から 完了 に更新されました
  • 解決法なし から 修正済み に更新されました

コメント

プロジェクトWeb に関しては、現在は 該当のプロジェクト権限の uid/gid で動作するように なっています。

従いまして、このチケットのような内容は 適切にディレクトリのパーミッションを設定すれば問題なく動作すると思います。


追記/更新 #25192 (Web インタフェースからの svn update の実行)

ログインしていません。ログインしていない状態では、コメントに記載者の記録が残りません。 » ログインする