Ticket #25192

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

Date d'ouverture: 2011-05-18 20:35 Dernière mise à jour: 2017-09-22 16:27

Rapporteur:
Propriétaire:
(Aucun)
État:
Atteints
Composant:
Jalon:
(Aucun)
Priorité:
1 - le plus bas
Sévérité:
1 - le plus bas
Résolution:
Fixed
Fichier:
Aucun

Détails

サイトのコンテンツを 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 を使わずに実現できる方法があったらなぁ、と思いました。

Ticket History (2/2 Histories)

2011-05-18 20:35 Updated by: kumaneko
  • New Ticket "Web インタフェースからの svn update の実行" created
2017-09-22 16:27 Updated by: ishikawa
  • Résolution Update from Aucun to Fixed
  • État Update from Ouvert to Atteints
  • Ticket Close date is changed to 2017-09-22 16:27
Commentaire

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

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

Attachment File List

No attachments

Modifier

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Connexion