CIFS共有の自動マウントが正しく機能しません。奇妙な結果が表示されます。

CIFS共有の自動マウントが正しく機能しません。奇妙な結果が表示されます。

autofsでSambaの共有を得るために、このページのガイドに従いました。

http://www.howtoforge.com/accessing_windows_or_samba_shares_using_autofs

サーバーと構成

私のSambaサーバー(リモート)は、「mattserver」(Windowsサーバー名)というサーバーにあります。 「バックアップ」、「マット」、「印刷」、および「Web」という4つの共有があります。 Sambaクライアント(ローカル)の名前は「bird」です。

私の設定は上記のチュートリアルの例と非常に似ていますが、いくつかの違いがあります。

  • /cifs /etc/auto.cifs --ghost/cifs /etc/auto.cifs --timeout=60中ではなく/etc/auto.master
  • uid=1000,gid=1000uid=user,gid=users中ではなく/etc/auto.cifs

これは私のものです/etc/auto.master

matt@bird:~ $ cat /etc/auto.master
/cifs /etc/auto.cifs --ghost

これは私のものです/etc/auto.cifs

matt@bird:~ $ cat /etc/auto.cifs
#!/bin/bash
key="$1"
credfile="/etc/auto.smb.$key"
mountopts="-fstype=cifs,file_mode=0644,dir_mode=0755,uid=1000,gid=1000"
smbclientopts=""
for P in /bin /sbin /usr/bin /usr/sbin
do
    if [ -x $P/smbclient ]
        then
        SMBCLIENT=$P/smbclient
        break
    fi
done
[ -x $SMBCLIENT ] || exit 1
if [ -e "$credfile" ]
then
    mountopts=$mountopts",credentials=$credfile"
    smbclientopts="-A "$credfile
else
    smbclientopts="-N"
fi
$SMBCLIENT $smbclientopts -gL $key 2>/dev/null \
    | awk -v key="$key" -v opts="$mountopts" -F'|' -- '
        BEGIN   { ORS=""; first=1 }
        /Disk/  { if (first) { print opts; first=0 };
        gsub(/ /, "\\ ", $2);
        sub(/\$/, "\\$", $2);
        print " \\\n\t /" $2, "://" key "/" $2 }
        END     { if (!first) print "\n"; else exit 1 }
        '

直接呼び出すと、次のような結果が得られます/etc/auto.cifs

matt@bird:~ $ sudo bash /etc/auto.cifs mattserver
-fstype=cifs,file_mode=0644,dir_mode=0755,uid=1000,gid=1000,credentials=/etc/auto.smb.mattserver \
            /print\$ ://mattserver/print\$ \
            /matt ://mattserver/matt \
            /web ://mattserver/web \
            /backup ://mattserver/backup

これまでは、すべてが大丈夫だと思います。

テスト

そのディレクトリにアクセスしようとすると、/cifsというディレクトリが表示されますmattserver。そうですか?--ghostオプションをそこに置きました。しかし、私は何も得られませんでした。

matt@bird:~ $ ls -l /cifs
total 0

サーバーディレクトリにアクセスすると共有リストが得られますが、混乱します。

matt@bird:~ $ ls -l /cifs/mattserver
ls: cannot access /cifs/mattserver/web: No such file or directory
ls: cannot access /cifs/mattserver/print$: No such file or directory
ls: cannot access /cifs/mattserver/matt: No such file or directory
ls: cannot access /cifs/mattserver/backup: No such file or directory
total 0
d????????? ? ? ? ?                ? backup
d????????? ? ? ? ?                ? matt
d????????? ? ? ? ?                ? print$
d????????? ? ? ? ?                ? web

実際の共有にアクセスしようとすると、何も得られません。

matt@bird:~ $ ls -l /cifs/mattserver/web
ls: cannot access /cifs/mattserver/web: No such file or directory

テストとして/etc/hostsforに1行追加しましたmattserver

それでもゴーストはありません。

matt@bird:~ $ ls -l /cifs
total 0

サーバーディレクトリに再度アクセスしようとすると、共有リストを取得できなくなります。

matt@bird:~ $ ls -l /cifs/mattserver
ls: cannot access /cifs/mattserver: No such file or directory

ただし、実際の共有にアクセスすると、フルアクセス権が得られます。

matt@bird:~ $ ls -l /cifs/mattserver/web
[correct listing of files -- removed]

ブロードキャストに依存できる必要があり、/ etc / hostsに何も含める必要はありません(そうですか?)。放送が進行中です。

matt@bird:~ $ nmblookup mattserver
querying mattserver on 192.168.0.255
192.168.0.2 mattserver<00>

質問

  • を呼び出してサーバーのリストにアクセスしようとすると、ls -l /cifs何も得られません。
  • callを介して共有リストにアクセスしようとすると、混乱したls -l /cifs/mattserverリストが表示されます(上記を参照)。
  • サーバー名エントリを追加しないと、共有をマウントできません/etc/hosts。私に依存したくありません/etc/hosts

ここで私のオプションは何ですか?

関連情報