Linuxシステム(Debian 8)には、Samba 4とWindowsシステム(ドメインのWin7と8)を共有するパスがあります。鉱山ではsmb.conf
以下を行いました。
[myshare]
path = /path/to/share
writeable = yes
browseable = yes
guest ok = yes
public = yes
私はWindowsで完全な読み取り権限を持っています。ただし、書き込み権限を取得するには、chmod -R 777 /path/to/share
Windowsで書き込み操作を実行する必要があります。
私が望むのは、.netのLinux所有者のLinux資格情報を提供した後、Windowsが書き込みアクセスを提供することです/path/to/share
。
私は努力しました:
[myshare]
path = /path/to/share
writeable = yes
browseable = yes
その後、Windowsは資格情報を要求しますが、私が何を入力しても常に拒否されます。
777 権限を付与せずに Windows ドメインシステムから Samba 共有への書き込みアクセス権を取得する正しい方法は何ですか?
答え1
共有専用のユーザーを作成してそれを指定することをお勧めします。force user
(文書参照)。
ユーザー(shareuser
例:)を作成し、共有フォルダー内のすべてのコンテンツの所有者をそのユーザーに設定します。
adduser --system shareuser
chown -R shareuser /path/to/share
force user
次に権限マスク設定を追加しますsmb.conf
。
[myshare]
path = /path/to/share
writeable = yes
browseable = yes
public = yes
create mask = 0644
directory mask = 0755
force user = shareuser
guest ok
の同義語であることに注意してくださいpublic
。
答え2
の共有設定には、smb.conf
共有に書き込むことができるユーザーおよび/またはグループの名前を指定する行が必要ですwrite list = ...
。
例:
[myshare]
...
write list = my_linux_username
次に、次のコマンドを使用してSamba認証用のsmbpasswd
パスワードを設定する必要があります。my_linux_username
sudo smbpasswd -a my_linux_username
/etc/shadow
標準システムパスワードのハッシュアルゴリズムは、SMBプロトコルで使用されるパスワードハッシュアルゴリズムと互換性がないため、この手順が必要です。クライアントがSMB認証パケットを送信すると、ハッシュされたパスワードが含まれます。同じアルゴリズムを使用する他のパスワードハッシュとのみ比較できます。
(過去1000年間の非常に古いガイドラインでは、Sambaでパスワード暗号化を無効にし、いくつかのレジストリハッキング技術を使用してWindowsがネットワークに暗号化されていないパスワードを発行できるようにすることを提案している可能性があります。このアドバイスは次のとおりです。役に立たない:これらのレジストリハックは現在のバージョンのWindowsでは機能しなくなり、ネットワークトラフィックを探索できる人は誰でも簡単にパスワードを見つけることができます。 )
クライアント側で行う必要があることがもう1つあります。 WindowsクライアントシステムがActive Directoryドメインに参加してADアカウントを使用してログインすると、資格のないすべてのユーザー名の前にユーザーのADドメイン名が自動的に付けられます。つまり、認証を受けるAD_DOMAIN\your_username
だけでなく、認証を受けることになりますyour_username
。
ローカルアカウントを使用してログインする場合(またはクライアントシステムがADドメインに参加していない場合)、Windowsは自動的にユーザー名の前に次のように付けることができます。クライアントホスト名別のドメイン名を指定しない限り。
スタンドアロンWindowsクライアントからスタンドアロンSambaサーバーに正常にログインするには、ユーザー名を指定する必要がありますSAMBA_SERVER_HOSTNAME\your_username
。
それ以外の場合、Sambaはユーザー名を表示し、WINDOWS_CLIENT_HOSTNAME\your_username
そのドメインに属するユーザーを認証できないと見なし、WINDOWS_CLIENT_HOSTNAME
ログインを拒否します。
(Sambaの最新バージョン可能この特定のケースの基本的なチェックがあり、まだアクセスが許可される可能性があります。ただし、これは基本的にSMB認証が「内部的に」機能する方法であり、以前のバージョンのSambaを処理する必要がある場合はまだ役に立ちます。 )
答え3
私の場合は、デフォルトのタスク設定(SABAゲスト機能を使用すると/ myfolderアクセスに適しています)[your_SAMBA-Unix_share_user_account]):
[global]
guest account = [your_SAMBA-Unix_share_user_account]
[mymfolder]
path = /myfolder
browseable = yes
read only =no
guest ok =yes
同時に複数のユーザーがログインすることは許可されていないように見えるため、このSAMBAサーバーからWindowsシステム上の他のマップされたドライブを切断することが重要です。