web-dev-qa-db-ja.com

Samba4 [ホーム]シェア

[homes]共有に問題があります。 OSはUbuntu 12.04です。私はsamba 4.0.3、bind9 dlz、ntp、winbind、pamモジュール以外のすべてをインストールし、 https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO からすべてのテストを実行しました。

Getent passwdとgetent userを実行すると問題なく動作します。単純な共有の作成も問題なく機能します。 Windows mmcスナップインからユーザー、GPO、DNSを管理できます。 winxp、7,8をドメインに参加させ、完全にログオンできます。パスワードをWindowsなどから変更できます。

私はすべてが順調で幸せであることを言うことができます:) buuuut、いいえ、ホームディレクトリは機能しません。

ここで検索して、そして私たちの親友のgoogleで私はそれを集めました

[homes]
        read only = no
        path = /storage-server/users/

そして、dsa.mscのユーザーのホームフォルダーを\\ server-001\usernameまたは\\ server-001\homesにマッピングすると、ユーザーhomedirにマップできるホーム共有が得られます。しかし、スナップインは、ネットワーク名が見つからないため(ポルトガル語からの大まかな翻訳)、ホームフォルダーを作成できないというエラーを表示します。

また、実行中

root@server-001:/storage-server/users# smbclient //server-001/test -Utest%'12345678' -c 'ls'
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 4.0.3]
tree connect failed: NT_STATUS_BAD_NETWORK_NAME

サーバー名は問題ありませんが、同じサーバーで単純な共有を実行すると、問題なく開きます。ユーザーhomedirをこの単純な共有にマップすると、機能します。

私が望んでいるのは、Windowsで新しいユーザーを作成するたびにLinuxに手動で新しいフォルダを作成する必要がないことです。

権限のように見えますが、これに関するドキュメントは見つかりません(はい、マンページを試しましたが、man smb.confだけで非常に多くのオプションを使用して説明するのは困難です)。

私のsmb.confは今このように見えます(私が知っているかなり単純な)

# Global parameters
[global]
        workgroup = MYDOMAIN
        realm = MYDOMAIN.LAN
        netbios name = SERVER-001
        server role = Active Directory domain controller
        server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/mydomain.lan/scripts
        read only = No

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No


[homes]
        read only = no
        path = /storage-server/users

フォルダーのアクセス許可/ storage-server drwxr-xr-x 6 root root 4096 Fev 15 15:17 storage-server

/storage-server/users
drwxrwxrwx  6 root root  4096 Fev 18 17:05 users/

はい、ユーザーフォルダーに777を設定するのに十分なほど必死でした...

正しい方向への指針があれば大歓迎です。

以下を含むように編集:

root@server-001:/# wbinfo --user-info=test
MYDOMAIN\test:*:3000045:100:test:/home/MYDOMAIN/test:/bin/false
root@server-001:/# wbinfo -n test
S-1-5-21-1957592451-3401938807-633234758-1128 SID_USER (1)
root@server-001:/# id test
uid=3000045(MYDOMAIN\test) gid=100(users) grupos=100(users)
root@server-001:/# wbinfo -U 3000045
S-1-5-21-1957592451-3401938807-633234758-1128
root@server-001:/# 

編集2:

getent passwd | grepテスト

MYDOMAIN\test:*:3000045:100:test:/home/MYDOMAIN/test:/bin/false

そのホームフォルダーを/ storage-server/users/testに変更する方法がわからないので、念のため、ln -s/storage-server/users/home/MYDOMAINを実行しました。それでも、変更なし、同じエラー。

編集3

Log.smbdで、テストユーザーのホームフォルダーを\ server-001\testに設定しようとすると、次のエラーが表示されます

[2013/02/20 14:22:08.446658,  2] ../source3/smbd/service.c:418(create_connection_session_info)
user 'MYDOMAIN\Administrator' (from session setup) not permitted to access this share (test)
6

次のようなものを試してください:

[homes]
   browseable = no
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = %S

これにより、ユーザーがお互いのホームフォルダーを表示できないように設定され、ファイル/フォルダーが安全に作成され、フォルダーが自動作成されます。

4
Ryan Gooler

/etc/pam.d/common-sessionファイルを確認します。

session required pam_unix.so
session required pam_mkhomedir.so umask=0022 skel=/etc/skel

また、[homes]の下に以下を追加する必要があります

path = /home/%U

KJS

2
KJS