[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 メーリングリストの案内