Samba Linuxを使用したLinux権限で

Samba Linuxを使用したLinux権限で

デフォルトでは、私が経験している問題は、Sambaローカルファイルシステムとローカルファイルシステム間の権限の不一致です。ファイル権限をローカルに設定し、を-r--r--r--使用chmod 444 textfile.txtしてこれらの設定を確認しましたls -al。その後、Sambaマウントを実行します。 Sambaを介して同じファイルの権限を表示すると、または表示されますが-rwxr-xr-x表示-r-xr-xr-xされません-r--r--r--。これは、Linuxシステムがそれ自体を見ている場合にも発生しますSamba

さまざまなベンダーとバージョンを使用するLinux VM(Windows VMも含まれていますが、この記事ではLinuxのみを扱います)の間でSambaを使用する必要があります。CentOS 7 & 8RedHat 7 & 8および を使ってOpenSUSE 15テストしていますSUSE 15。これらのLinuxディストリビューションのすべての置換で同様の結果が得られました。正しく機能する唯一の方法は、CentOS8SambaサーバーとしてSambaクライアントとして機能することです。これは、表示された権限がローカルで表示された権限と一致する唯一の場合ですOpenSUSE15Samba

はい、それはNFS簡単ですが、渡す必要がありましたSamba。これは単にテスト環境であることに注意してください。以下の内容のいくつかは、環境を簡素化する私の試みを反映しています。すべてが機能したら、セキュリティを強化します。

私の設定と手順は次のとおりです。

では、smb.confドライブ全体をCSMBユーザーにルートを追加し、パスワードを割り当てました。

[global]
    workgroup = WORKGROUP
    wins support = yes
    passdb backend = tdbsam
    printing = cups
    printcap name = cups
    load printers = yes
    cups options = raw
[C]
    Path = /
    Browseable = yes
    Writeable = yes
    only guest = no
    create mask = 0777
    directory mask = 0777
    Public = yes
    Guest ok = yes    

私は同じ仮想マシン、ステップ、ファイル、すべての順列を使用します。すべての仮想マシンに対して、PuTTY経由でrootとしてbashシェルにログインします。

サーバーコンピュータでテキストファイルを含むフォルダを作成し、権限を割り当てて確認します。

mkdir /temp
cd /temp
cp /etc/samba/smb.conf /temp/smb.conf
    It could be any file, I'm using smb.conf as an example.
chmod 444 smb.conf
ll smb.conf
    -r--r--r-- 1 root root <size> <date> smb.conf

クライアントシステムでインストールコマンドを実行し、以下を介してファイル権限を確認しますSamba

mkdir /mnt/test
mount -t cifs //svrname/c /mnt/test -o username=root,password=mypasswd
    In the simplest loopback case, svrname is 'localhost'.
ll /mnt/test/temp/smb.conf
    -rwxr-xr-x 1 root root <size> <date> smb.conf

Samba次のローカル権限を一致させるには、ファイルの権限ビューが必要です。

ll /mnt/test/temp/smb.conf
    -r--r--r-- 1 root root <size> <date> smb.conf

-rwxr-xr-xただし、上記のいずれかの場合を除いて、常にorが表示されます-r-xr-xr-x

さまざまな方法を試しましたが、成功しませんでした。どんなアイデアがありますか?

ありがとう、ジェフ

ベストアンサー1

Samba Unix 拡張が有効になっていることを確認してください。たとえば、:

[global]
unix extensions = yes

それ以外の場合、プロトコルはUnix権限ではなくWindows権限(ACL)のみをサポートします。 (私は例がデフォルトだと思いますが、ディストリビューションがそれを変更した可能性があります)。

同様に、マウントするには有効にする必要があり、オプションがありますunix。また、guest ok = no実際に認証されていることを確認し、誤って訪問者が訪問しないように設定することをお勧めします。

おすすめ記事