GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS8にSambaサーバーをインストールする方法

Sambaは、LinuxシステムとWindowsシステム間でファイル、フォルダー、およびプリンターを共有するために使用できる無料のオープンソースソフトウェアです。また、認証と承認、名前解決、サービスのアナウンスにも使用されます。 Linux、Unix、OpenVMSなどのさまざまなオペレーティングシステムで実行できます。

このチュートリアルでは、Sambaをインストールし、CentOS8でスタンドアロン共有サーバーとして構成する方法を学習します。

前提条件
  • CentOS8を実行しているサーバー。
  • ルートパスワードはサーバーで構成されています。

Sambaサーバーをインストールする

デフォルトでは、SambaパッケージはCentOSデフォルトリポジトリで利用できます。次のコマンドでインストールできます:

dnf install samba samba-common samba-client -y

Sambaをインストールした後、次のコマンドを使用してSMBサービスを開始し、システムの再起動後に開始できるようにします。

systemctl start smb
systemctl enable smb

これで、次のコマンドを使用してSambaサービスを確認できます。

systemctl status smb

次の出力が得られるはずです:

? smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 2072 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 25028)
   Memory: 33.8M
   CGroup: /system.slice/smb.service
           ??2072 /usr/sbin/smbd --foreground --no-process-group
           ??2074 /usr/sbin/smbd --foreground --no-process-group
           ??2075 /usr/sbin/smbd --foreground --no-process-group
           ??2076 /usr/sbin/smbd --foreground --no-process-group

Sambaで公開共有を作成する

このセクションでは、Sambaとのパブリック共有を作成して、誰もがパスワードなしでパブリック共有ディレクトリにアクセスできるようにします。

パブリック共有ディレクトリを作成する

まず、publicという名前の共有フォルダを作成し、パブリックディレクトリ内に2つのファイルを作成します。

mkdir -p /samba/share/public
touch /samba/share/public/file1.txt
touch /samba/share/public/file2.txt

次に、次のコマンドを使用して、必要な権限と所有権を割り当てます。

chmod -R 0755 /samba/share/
chmod -R 0755 /samba/share/public
chown -R nobody:nobody /samba/share
chown -R nobody:nobody /samba/share/public
Sambaを構成する

次に、パブリックディレクトリを共有するようにSambaを構成する必要があります。

まず、次のコマンドを使用して/etc/samba/smb.confファイルのバックアップコピーを作成します。

mv /etc/samba/smb.conf /etc/samba/smb.bak

次に、新しいSamba構成ファイルを作成します。

nano /etc/samba/smb.conf

次の行を追加します:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = samba-server
security = user
map to guest = bad user
dns proxy = no

[Public]
path = /samba/share/public
browsable =yes
writable = yes
guest ok = yes
read only = no

ファイルを保存して閉じます。次に、Sambaサービスを再起動して、変更を適用します。

systemctl restart smb

次に、次のコマンドを使用してSamba構成をテストします。

testparm

次の出力が表示されます。

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	dns proxy = No
	map to guest = Bad User
	netbios name = SAMBA-SERVER
	security = USER
	server string = Samba Server %v
	idmap config * : backend = tdb


[Public]
	guest ok = Yes
	path = /samba/share/public
	read only = No
SELinuxとファイアウォールを構成する

次に、次のコマンドを使用して、共有ディレクトリに適切なSELinuxブール値とセキュリティコンテキスト値を設定します。

setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"
restorecon /samba/share/public

次に、次のコマンドを使用して、firewalldを介したすべてのSambaサービス:

firewall-cmd --add-service=samba --zone=public --permanent
firewall-cmd --reload

UbuntuGnomeからSamba共有にアクセス

Samba共有にアクセスするには、リモートマシンに移動し、Gnomeファイルマネージャーを開いて、接続をクリックします。 から サーバー 以下に示すように:

SambaサーバーのIPアドレスを入力し、接続をクリックします ボタン。接続に成功すると、次の画面にSamba共有が表示されます。

次に、公開をクリックします ディレクトリの場合、次の画面にファイルが表示されます。

UbuntuコマンドラインからSamba共有にアクセス

コマンドラインからSamba共有にアクセスすることもできます。

まず、次のコマンドを使用して、使用可能なすべてのSamba共有を一覧表示します。

smbclient -L //45.58.38.51

次の出力が表示されます。

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Sharename       Type      Comment
	---------       ----      -------
	Public          Disk      
	IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------

cifsプロトコルを使用してSamba共有をマウントすることもできます。これを行うには、次のコマンドを使用してcifs-utilsパッケージをインストールします。

apt-get install cifs-utils -y

次に、次のコマンドを使用して、Samba共有を/mntディレクトリにマウントします。

mount -t cifs //45.58.38.51/public /mnt/

以下に示すように、パスワードの入力を求められます。

Password for [email protected]//45.58.38.51/public: 

Enterを押すだけです Samba共有をマウントするためのパスワードを入力せずに:

/ mnt direcotryでSamba共有にアクセスできるようになりました:

ls /mnt/

次の出力が表示されます。

file1.txt  file2.txt

Sambaでプライベートシェアを作成

このセクションでは、Sambaとのプライベート共有を作成して、認証ユーザーのみがプライベート共有ディレクトリにアクセスできるようにします。

ユーザーとグループの作成

まず、次のコマンドを使用してprivateという名前のグループを作成します。

groupadd private

次に、privateuserという名前の新しいユーザーを作成し、それをプライベートグループに追加します。

useradd -g private privateuser

次に、次のコマンドを使用してユーザーのパスワードを設定します。

smbpasswd -a privateuser

出力:

New SMB password:
Retype new SMB password:
Added user privateuser.
プライベート共有ディレクトリを作成する

次に、privateという名前の共有フォルダを作成し、プライベートディレクトリ内に2つのファイルを作成します。

mkdir -p /samba/share/private
touch /samba/share/private/private1.txt
touch /samba/share/private/private2.txt

次に、次のコマンドを使用して適切な権限と所有権を割り当てます。

chmod -R 0770 /samba/share/private
chown -R root:private /samba/share/private

次に、次のコマンドを使用してプライベートディレクトリのSELinuxコンテキストを設定します。

semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"
restorecon /samba/share/private
Sambaを構成する

次に、Samba構成ファイルを開き、プライベート共有を定義します。

nano /etc/samba/smb.conf

ファイルの最後に次の行を追加します。

[Private]
path = /samba/share/private
valid users = @private     
guest ok = no
writable = yes
browsable = yes

ファイルを保存して閉じてから、Sambaサービスを再起動して変更を適用します。

systemctl restart smb

次に、次のコマンドを使用してSambaの構成を確認します。

testparm

次の出力が表示されます。

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	dns proxy = No
	map to guest = Bad User
	netbios name = SAMBA-SERVER
	security = USER
	server string = Samba Server %v
	idmap config * : backend = tdb


[Public]
	guest ok = Yes
	path = /samba/share/public
	read only = No


[Private]
	path = /samba/share/private
	read only = No
	valid users = @private

UbuntuコマンドラインからSamba共有にアクセス

まず、次のコマンドを使用して利用可能な共有にアクセスします。

smbclient -L //45.58.38.51

次の出力が表示されます。

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Sharename       Type      Comment
	---------       ----      -------
	Public          Disk      
	Private         Disk      
	IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------

次に、Sambaサーバーに接続し、次のコマンドで使用可能な共有を一覧表示します。

smbclient //45.58.38.51/private -U privateuser

以下に示すように、パスワードの入力を求められます。

Enter privateuser's password: 

以下に示すように、パスワードを入力し、Enterキーを押してSambaシェルにアクセスします。

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \>

次に、次のコマンドを使用して、使用可能な共有を一覧表示します。

smb: \> ls

次の出力が表示されます。

  
.                                   D        0  Tue Mar  3 10:03:22 2020
  ..                                  D        0  Tue Mar  3 10:01:56 2020
  private1.txt                        N        0  Tue Mar  3 10:03:17 2020
  private2.txt                        N        0  Tue Mar  3 10:03:22 2020

		51194 blocks of size 2097152. 49358 blocks available

次に、次のコマンドを使用してSambaシェルを終了します。

smb: \>exit

Samba共有を/optディレクトリにマウントすることもできます:

mount -t cifs -o user=privateuser //45.58.38.51/private /opt

以下に示すように、パスワードの入力を求められます。

Password for [email protected]//45.58.38.51/private:  *********

パスワードを入力し、Enterキーを押してSamba共有をマウントします。

以下に示すように、/optディレクトリでSamba共有を確認できます。

ls /opt/

出力:

private1.txt  private2.txt

UbuntuGnomeからSamba共有にアクセス

Samba共有にアクセスするには、リモートマシンに移動し、Gnomeファイルマネージャーを開いて、接続をクリックします。 から サーバー 以下に示すように:

SambaサーバーのIPアドレスを入力し、接続をクリックします ボタン。接続に成功すると、次の画面にSamba共有が表示されます。

次に、プライベートをクリックします ディレクトリで、ユーザー名とパスワードを入力し、[接続]ボタンをクリックします。次の画面にファイルが表示されます。

おめでとう! CentOS8にSambaサーバーを正常にインストールして構成しました。


Cent OS
  1. CentOS7にMinecraftサーバーをインストールする方法

  2. CentOS8にTeamspeak3サーバーをインストールする方法

  3. CentOS7にProFTPDをインストールする方法

  1. CentOS8にNginxをインストールする方法

  2. CentOS8にPostgreSQLをインストールする方法

  3. CentOS8にMariaDBをインストールする方法

  1. CentOS7にFreeIPAサーバーをインストールする方法

  2. Centos7にCentreonをインストールする方法

  3. CentOSにMinecraftサーバーをインストールする方法