[netatalk-ja:0334] Re: Netatalk運用に関する質問

HAT hat @ fa2.so-net.ne.jp
2014年 1月 13日 (月) 22:18:25 JST


HATです。

Mon, 13 Jan 2014 21:07:45 +0900, Oichinokata <oichinokata @ oichinote.com>:
> パッチ、できたかもしれません。Ubuntu 12.04でビルドしました。
> 
> *** libatalk/util/netatalk_conf.c.org	2013-10-29 00:46:51.000000000 +0900
> --- libatalk/util/netatalk_conf.c	2014-01-13 20:57:57.368870991 +0900
> ***************
> *** 1415,1421 ****
> --- 1415,1423 ----
>       if (obj->iniconfig)
>           atalk_iniparser_freedict(obj->iniconfig);
>       LOG(log_debug, logtype_afpd, "load_volumes: loading: %s", obj->options.configfile);
> +     become_root();
>       obj->iniconfig = atalk_iniparser_load(obj->options.configfile);
> +     unbecome_root();
>   
>       EC_ZERO_LOG( readvolfile(obj, pwresult) );
>   
> ***************
> *** 1743,1749 ****
>   #endif
>       options->flags       = OPTION_UUID | AFPObj->cmdlineflags;
>       
> !     if ((config = atalk_iniparser_load(AFPObj->options.configfile)) == NULL)
>           return -1;
>       AFPObj->iniconfig = config;
>   
> --- 1745,1754 ----
>   #endif
>       options->flags       = OPTION_UUID | AFPObj->cmdlineflags;
>       
> !     become_root();
> !     config = atalk_iniparser_load(AFPObj->options.configfile);
> !     unbecome_root();
> !     if (config == NULL)
>           return -1;
>       AFPObj->iniconfig = config;
> 
> このパッチを適用してビルドする事で、
> afp.confが600でも、
> 一般ユーザがAFPのボリュームにアクセスできます。

前者もやっぱり必要ですか。

> インストーラ(Makefile)のどこを変更してよいのかわからないので、afp.confを600にする方法がわかりません。

Makefileやconfigure等は自動生成されるファイルなので、これらのパッチを
書いてもダメなんです。
ビルドやインストールに関する修正は、tarball版でなくgit版に対して作成する
必要があります。
sourceforgeの方は最新になってないので、GitHubの方のbranch-netatalk-3-1に
対して修正しなければなりません。

$ git clone https://github.com/Netatalk/Netatalk.git netatalk
$ cd netatalk
$ git checkout branch-netatalk-3-1

この作業が面倒な場合は、
https://github.com/Netatalk/Netatalk/tree/branch-netatalk-3-1
このページの右の「Download ZIP」のボタンで
Netatalk-branch-netatalk-3-1.zip
をダウンロードする方法もあります。

ビルド/インストールに関係するファイルは、
 configure.ac
 macros/*.m4
 各ディレクトリのMakefile.am
です。

configure.acはたぶん今回は関係ないです。
macros/*.m4はconfigure時に必要なライブラリ類を探し回るものなので、
これまた関係ないです。

今回修正する必要があるのは、
config/Makefile.am
だと思います。
このファイルでafp.conf.tmplからafp.confを生成し、make install時に
該当ディレクトリにコピーしています。
このファイルのどこかにchmodを挿入すればよいと思います。

chmodを使っている参考ファイルは、
distrib/initscripts/Makefile.am
だと思います。このファイルではinitscriptに実行属性を付けてますね。

-- 
HAT


netatalk-ja メーリングリストの案内