«前の日記(2010年09月01日) 最新 次の日記(2010年09月10日)» 編集

だめだめ日記

ツッコミの内容は検索サイトからの検索やサイトのレーティングに影響します。そのため問題があるキーワードを含むと思われるツッコミについては、当方の判断で削除することがあります。予めご了承ください。 なお、コメントspamと判断されたツッコミは自動的に消去されます。ご容赦ください。
2002|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|05|06|09|10|11|12|
2013|01|02|02|03|08|09|
2014|01|
2015|09|10|11|
2016|01|04|

執筆、翻訳などに関わった書籍類


【改訂新版】Samba [実践]入門

Linux教科書
LPICレベル3 300試験

マスタリング Nginx

実践 パケット解析 第2版

改訂版 Sambaのすべて

アンドキュメンテッド
Microsoftネットワーク

その他の書籍は だめだめ日記のおみせ@本店でどうぞ。



2010年09月05日 [長年日記]

[コンピュータ][Samba] ファイルあたりの ACL の上限数

古い Samba のドキュメントを見ていて、以下のような記載があったので、調べてみました。

LinuxのファイルシステムでのACLのエントリ数は有限
jfs 8191個
ext3 32個
xfs 24個
さらに、ugoの分が3つ減らされる

lenny の EXT3 で試してみた

lenny の EXT3 のファイルシステムにて、以下のような安直スクリプトを使って確認したところ

#!/bin/sh

i=1

while true
do
  echo $i
  useradd acl${i}
  setfacl -m u:acl${i}:r-x acltest01
  i=`expr $i + 1`
done

ACLエントリは503まで作れました。

...
504
setfacl: acltest01: No space left on device

おそらく、これ以外にパーミッション+maskとデフォルトACL用のパーミッション+maskで合計8エントリ使うので、合わせて511ということかと推測。

改めて確認したところ、Linux カーネル 2.4 系列では、上限はカーネルヘッダで定義される EXT3_ACL_MAX_ENTRIES の値に依存し、デフォルトは 32 とのこと。

しかし、Maximum number of acls on directory on ext3: 28? (bs does not matter, 1024/2048/4096 tested) にて、議論があり、最終的には以下のように増やされたようです。2005 年 1 月の議論なので、どの Linux カーネルからの反映ですかね。

Ok, I increased this to some ridiculus high value and was able to add
about 250 entries with block size 2048 and about 500 entries with block
size 4096. Whenever I reach the block limit I get

setfacl: /acltest/number: No space left on device
09/07追記

samba-jp MLへの投稿によると、Remove the number of acl entries limit のとおり、Linux カーネル 2.6.11 から制限がなくなったとのことです。

ribbon さま、ありがとうございました。

Lenny の xfs で試してみた

同様にして lenny で xfs で試してみると、確かに 21 エントリしか作れませんでした。うーん

FreeBSD-8.0 の UFS 上でも試してみた

ついでに、FreeBSD-8.0-RELEASE の UFS 上でも同じようなテストをしてみました。こちらは 28 エントリまでしか作れず。

29
setfacl: acl_set_file() failed for acltest06: Invalid argument

エラーから見ると、古い EXT3 と似たような実装してるんですかね。

本日のツッコミ(全1件) [ツッコミを入れる]
_ ribbon (2010年09月07日 15:37)

EXT3_ACL_MAX_ENTITIESという定義そのものが2.6.11からなくなりました。


Copyright (C) 2003-2017 TAKAHASHI, Motonobu
webmaster@monyo.com