CentOS:リモートマウントSMB

CentOS:リモートマウントSMB

問題と解決策: /srv/samba所有権はですroot:root。そのグループを変更したら、リモートシステムのユーザーを使用してインストールできますchgrp prv /srv/samba/。 (リモートでマウントしたいフォルダ)の所有権はすでにです。 prv:prv問題は、そのフォルダの親フォルダで発生します。/srv/samba/fooprv:prv/srv/samba/


CentOSとSMBを初めて使用したときにいくつかの投稿やガイドを読んでいましたが、どちらも問題を解決できませんでした。

2つのサーバー(prvbackとprvfront)があり、prvfront / mnt / fooにprvback / fooをマウントする必要があります。

返信:

  • smbstatus -V:Version 3.6.23-53.el6_10
  • /etc/samba/smb.conf:
[foo]
path = /srv/samba/foo
read only = no
public = yes
domain = bar
valid users = prv
  • /etc/init.d/smb status:smbd (pid 42) is running
  • pdbedit -L -v
Unix username:        prv
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-3498247421-334271864-1173299791-1001
Primary Group SID:    S-1-5-21-3498247421-334271864-1173299791-513
Full Name:
Home Directory:       \\prvback\prv
HomeDir Drive:
Logon Script:
Profile Path:         \\prvback\prv\profile
Domain:               PRVBACK
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 16:06:39 CET
Kickoff time:         Wed, 06 Feb 2036 16:06:39 CET
Password last set:    Fri, 23 Oct 2020 10:08:32 CEST
Password can change:  Fri, 23 Oct 2020 10:08:32 CEST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  • ファイアウォールルールを4つ追加
cat /etc/sysconfig/iptables
  -A INPUT -s 172.16.0.0/12 -m state --state NEW -p tcp --dport 139 -j ACCEPT
  -A INPUT -s 172.16.0.0/12 -m state --state NEW -p tcp --dport 445 -j ACCEPT
# [EDIT1]
  -A INPUT -s 172.16.0.0/12 -m state --state NEW -p udp --dport 137 -j ACCEPT
  -A INPUT -s 172.16.0.0/12 -m state --state NEW -p udp --dport 138 -j ACCEPT


/etc/init.d/iptables restart
  • [編集1]設定されたSELinuxコンテキスト
semanage fcontext -a -t samba_share_t "/srv/samba/foo(/.*)?"
restorecon -v /srv/samba/foo/

ls -dlZ /srv/sambla/
  drwxrwxrwx.  root  root  unconfined_u:object_r:samba_share_t:s0  foo
  • [解決策]/srv/sambaグループ所有権の変更:chgrp prv /srv/samba/

フロント

  • smbclient権限がなくても接続を使用できます。
smbclient //<prvback_IP>/foo -U prv
Enter prv's password:
Domain=[SDIS2] OS=[Unix] Server=[Samba 3.6.23-53.el6_10]
smb: \>
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
  • リモートボリュームをマウントできません。
mount.cifs //<prvback_IP>/foo /mnt/foo -o user=prv,password=p4ssw0rd,uid=500,gid=500,domain=SDIS2

mount error(13): Permission denied
Refer to the mount.cifs(8) manual page
  • fstabアイテムを使用してマウントすることはできません。
//<prvback_IP>/foo   /mnt/foo    cifs user,uid=500,gid=500,rw,nounix,iocharset=utf8,file_mode=0550,dir_mode=0770,suid,username=prv,password=p4ssw0rd,domain=sdis2 0 0


# then
mount -a

mount error(13): Permission denied
Refer to the mount.cifs(8) manual page

私の状況から抜け出す方法を知っている人はいますか?これは非常に無邪気な質問であり、私がどれだけ迷子になったかを示しました。

2020年10月26日 要約 1個修正

  • /srv/samba/fooフォルダにコンテキストを追加する
  • UDP iptablesルールの追加
  • =>同じ動作(smbclient接続は正常、mounterror13権限拒否を返す)

ベストアンサー1

Sambaは、ネットワーク上のWindows共有への接続を可能にするCIFS / SMBプロトコルに焦点を当てています。 2つのLinuxシステム間で使用できますが、個人的にはNFSを好みます。

CentOS 7.x以降SELinux邪魔になることがあります。したがって、両方のシステムのルートとしてsetenforce 0selinuxを許可モードに切り替える作業を実行します。すべてのSamba共有フォルダにはアプリケーションsamba_share_tコンテキストが必要です。それ以外の場合、 selinux はこれを拒否し、 selinux はデフォルト実装するモデル。/etc/selinux/config編集して再起動して、selinuxを永久に許可モードに切り替えることができます。無効に設定しないでください。

デフォルトでは、両方のファイアウォールでファイアウォールを無効にし、SMB(またはNFS)を許可します。

systemctl disable firewalld

Sambaは通信のためにファイアウォールでこのポートを開く必要があります。

  • UDP 137
  • UDP 138
  • TCP 139
  • TCP 445

デフォルトのファイアウォール設定は通常オンになっており、/etc/firewalld/zones/public.xmlSSH(tcp-22)とDHCPのみをオンにできます。

その後smb.conf完了しsecurity=userたらsmbpasswd -a <username>prvbackサンバサーバーです。それからPRフロントエンドsmb共有をマウントしたいsambaクライアントは、fstabでユーザー名とパスワードの組み合わせを指定します。簡単なフォルダ権限の問題を解決するには、prvback Sambaサーバーを起動しchmod 777 /foo、共有アクセスを維持しながら一度に1つずつchownとchmodを実行します。

https://wiki.samba.org/index.php/Mounting_samba_shares_from_a_unix_client

おすすめ記事