it-swarm-ja.com

ルート権限を持つフォルダーを共有(読み取り/書き込み)するようにSambaを構成するにはどうすればよいですか?

Win7x64ホストにCentOS5VirtualBoxゲストがいます。 rootが所有するディレクトリをSambaを使用してWindowsホストと読み取り/書き込み共有を設定しようとしていますが、輪になって走ってみても運がありません。問題を単純化するために、ファイアウォール(/etc/init.d/iptables stop)を無効にしました。セキュリティと権限はこの目的には無関係なので、別のUNIXユーザー/グループ/パスワードを設定する必要はありません。

これはtestparmからの出力です

Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[Guest Share]"
Loaded services file OK.
Server role: ROLE_STANDALONE

および/etc/samba/smb.confのソース:

[global]
        workgroup = WRKGRP
        netbios name = SMBSERVER
        security = SHARE
        load printers = No

[Guest Share]
        comment = Guest access share
        path = /root/src
        read only = No
        guest ok = Yes

/etc/init.d/smb restartを実行すると、OKステータスが表示されます。ただし、Windowsホストでは、ゲストの共有フォルダ\\IPv4しか表示されませんが、「ゲスト共有」にアクセスできません。 Windows Explore

「ネットワーク名が見つかりません」というエラーメッセージは 一般的なエラー であり、考えられる原因は次のとおりです。

共有にアクセスしようとしているユーザーには、共有のパスにアクセスするための十分な権限がありません。読み取り(r)とアクセス(x)の両方が可能である必要があります。

RootをパスワードなしのSambaゲストとして使用しようとしていますか?したいのですが可能ですか?ルート権限を持つフォルダーを共有(読み取り/書き込み)するようにSambaを構成するにはどうすればよいですか?

6
Mike T

私はこれを行うことができます。比較のために、ここに私の共有の1つのエントリを示します。

[Music] ; user="jlacroix"
force user = jlacroix
path = /home/jlacroix/Music
writable = no
public = yes

「jlacroix」は、使用するユーザー名に置き換えてください。実際にファイルを使用しているユーザーに関係なく、そのユーザーを使用するように強制する必要があります。したがって、「jlacroix」をrootに変更する必要がある場合があります。ただし、ルート許可ファイルにアクセスできるものに注意する必要があるため、この方法で共有することはお勧めしません。

4
jlacroix82

1.ゲストアカウントを誰も作成しない

guest account = nobody

2. sambaadminユーザーとして誰も作成しない

admin users = nobody

3.多分smbdはrootとして実行する必要があります

も参照してください

man 5 smb.conf https://www.samba.org/samba/docs/man/manpages/smb.conf.5.html#ADMINUSERS

0
yurenchen

あなたは2つのステップでそれを達成することができます(あなたの現在の構成によって)

  1. Samba構成ファイルを編集します。

    vi /etc/samba/smb.conf

  2. 以下を変更します。

    [Guest Share]
       comment = Guest access share
       path = /root/src
       browsable = yes
       writable = yes
       read only = no
       public = yes
       create mask = 0644
       directory mask = 0755
    

注:

使用しているSambaのバージョンについては言及していませんが、説明するために:

writeable = yesは、Samba 3で使用されるread only = noのエイリアスです。

このエイリアスはSamba4で削除されました。


この主題に関連する読み物:

例を含むメインのSamba構成ファイル

www.samba.orgのSambaのマニュアルページ

0
Zuul

簡単そうに聞こえます。

読み取り/書き込み要件を反映するように、フォルダーのアクセス許可を変更するだけです。あなたのケースでは、フォルダーはルートによって所有されるため、「その他」にrw権限を与える必要があります。

Chmod 776ゲストシェア

これにより、ルートに完全なrwxが与えられ、他のすべてのユーザーにrwが与えられます。

より良い方法は、ネットワークユーザー用のグループを作成し、共有上のグループをrootから作成したグループに変更することです。

最後に、トラバースするフォルダーに実行権限を設定する必要があると思います。フォルダ自体にrw権限が設定されている場合がありますが、実際に実行権限を取得するには、設定が必要になる場合があります。それも試してみてください。

0
Scandalist

SELinuxをチェックしましたか?

Getenforceの出力が許容的または無効でない場合は、コンテキストを共有に適用する必要があります。これをバイパスするように設定できるブール値もあります。この質問がGoogleに何であるかを試みているのを見つけました。

次のコマンドを使用して、デバッグしてSELinuxかどうかを確認できます。setenforce0