[samba-jp:20129] SMB_VFS_LSTAT fails on smbd/trans2.c:call_trans2qfilepathinfo

Saito SambaML @ NSTN.jp
2008年 3月 29日 (土) 11:39:37 JST


        斉藤と申します.

        Fedora 8 (x86_64) とその公式リポジトリにある Samba 3.0.28a で
        CIFS UNIX extensions を用いて /home の共有をサーバ間で行いた
        いと考えました.
        ※ ユーザごとにマウントするのではなく, /home 自体を一括して共
           有します

        ここで,

> [Samba] Cant create in a subdirectory...
> http://lists.samba.org/archive/samba/2004-June/087651.html

> CIFS mounting problems (twilight zone :): msg#00023
> http://osdir.com/ml/linux.file-systems.cifs/2005-06/msg00023.html

        にあるような問題が発生しています.

        具体的な現象としては,

        ○ ディレクトリを作成すると, 所有者・グループが正しく設定され
           ず, 作成した本人が利用できない

        たとえば, 一般ユーザが自分のホームディレクトリ以下に

> /home/a_user $ mkdir testdir

        のようにして作成したディレクトリが,

> /home/a_user $ ls -l
> drwxr-xr-x 2 root    users     0 2008-03-28 01:26 testdir

        となります (期待値は a_user:users).
        ファイルの作成時には, 正しい所有者に設定されます.

> /home/a_user $ touch testfile
> /home/a_user $ ls -l testfile
> -rw-r--r-- 1 a_user users 0 2008-03-28 01:26 testfile

        log level = 3 にして確認したエラーメッセージは, サーバの
        /var/log/samba/log.192.168.0.2 によると,

> [2008/03/28 01:26:12, 3] smbd/trans2.c:call_trans2qfilepathinfo(3336)
>   call_trans2qfilepathinfo: SMB_VFS_LSTAT of a_user/test failed (そのようなファイルやディレクトリはありません)
> [2008/03/28 01:26:12, 3] smbd/error.c:unix_error_packet(56)
>   unix_error_packet: error string = そのようなファイルやディレクトリはありません

        となっています (前後のログはエラーらしくはないのですが, 概ね
        上記参考リンク先の Samba ML のものと同じです).

        関連して, もう一点気になるのは, マウントしたときの同サーバロ
        グに,

> [2008/03/28 01:26:12, 1] smbd/service.c:make_connection_snum(1033)
>   192.168.0.2 (192.168.0.2) connect to service Home initially as user mountuser (uid=0, gid=100) (pid 24264)

        のようなもので, mountuser とは fstab のオプション

> credentials=/var/lib/samba/private/credentials,workgroup=A_WORKGROUP,ip=192.168.0.1,setuids,user_xattr

        にある credentials の中に書いたユーザ名ですが, このユーザは
        uid = 100, gid = 100 です.

        testparm の出力は

-------

[global]
        workgroup = A_WORKGROUP
        server string = File Sharing Server
        interfaces = lo, eth0
        passdb backend = tdbsam
        log file = /var/log/samba/log.%m
        max log size = 50
        server signing = auto
        deadtime = 300
        load printers = No
        wins support = Yes
        hosts allow = 127., 192.168.0.1, 192.168.0.2
        hosts deny = ALL
        block size = 32768
        use sendfile = Yes
        map archive = No
        mangled names = No
        delete readonly = Yes

[Home]
        comment = Home Storage for Core Systems
        path = /var/lib/Core-HomeStorage
        valid users = mountuser
        admin users = mountuser
        read only = No
        create mask = 0644

--------

        でした.
        サーバ・クライアントとも, この一般ユーザは /etc/passwd に同じ
        uid, gid で存在しています.

        上記参考リンク先でも解決はしなかったようです.
        何が問題なのでしょうか.
        (最悪, Linux の mand-lock のせいかとも…….)

        なお, サーバ側 Linux のカーネルは 2.6.23.15-137.fc8, クライアン
        ト側 Linux のカーネルは 2.6.24.3-50.fc8 です.

        よろしくお願いします.



samba-jp メーリングリストの案内