アンドロイド

CentOS 7にSambaをインストールして構成する方法

Project Hat Trick Automation - Part 1: RHEL 7 Bootable ISO + Kickstart

Project Hat Trick Automation - Part 1: RHEL 7 Bootable ISO + Kickstart

目次:

Anonim

Sambaは、エンドユーザーがファイル、プリンター、およびその他の共有リソースにアクセスできるようにするSMB / CIFSネットワークファイル共有プロトコルの無料でオープンソースの再実装です。

このチュートリアルでは、CentOS 7にSambaをインストールし、それをスタンドアロンサーバーとして構成して、ネットワーク経由で異なるオペレーティングシステム間でファイル共有を提供する方法を示します。

次のSamba共有とユーザーを作成します。

ユーザー:

  • sadmin-すべての共有への読み取りおよび書き込みアクセス権を持つ管理ユーザー。 josh-独自のプライベートファイル共有を持つ通常のユーザー。

株:

  • ユーザー -この共有には、すべてのユーザーが読み取り/書き込み権限でアクセスできます。 josh-この共有は、ユーザーjoshとsadminのみが読み取り/書き込み権限でアクセスできます。

ファイル共有には、ネットワーク上のすべてのデバイスからアクセスできます。 チュートリアルの後半では、Linux、Windows、macOSクライアントからSambaサーバーに接続する方法の詳細な手順も提供します。

前提条件

開始する前に、sudo特権を持つユーザーとしてCentOS 7システムにログインしていることを確認してください。

CentOSへのSambaのインストール

Sambaは、標準のCentOSリポジトリから入手できます。 CentOSシステムにインストールするには、次のコマンドを実行します。

sudo yum install samba samba-client

インストールが完了したら、Sambaサービスを開始し、システム起動時に自動的に開始できるようにします。

sudo systemctl start smb.service sudo systemctl start nmb.service

sudo systemctl enable smb.service sudo systemctl enable nmb.service

smbd サービスは、ファイル共有および印刷サービスを提供し、TCPポート139および445でリッスンします nmbd サービスは、NetBIOS over IPネームサービスをクライアントに提供し、UDPポート137でリッスンします。

ファイアウォールの構成

これで、CentOSマシンにSambaがインストールされて実行されたので、ファイアウォールを構成し、必要なポートを開く必要があります。 これを行うには、次のコマンドを実行します。

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

Sambaユーザーとディレクトリ構造の作成

標準のホームディレクトリ( /home/user )を使用する代わりに、保守性と柔軟性を高めるために、すべてのSambaディレクトリとデータは /samba ディレクトリに配置されます。

/samba ディレクトリを作成することから始めます。

sudo mkdir /samba

sambashare という名前の新しいグループを作成します。 後で、すべてのSambaユーザーをこのグループに追加します。

sudo groupadd sambashare

/samba ディレクトリグループの所有権を sambashare 設定し sambashare

sudo chgrp sambashare /samba

SambaはLinuxユーザーとグループ許可システムを使用しますが、標準のLinux認証とは別の独自の認証メカニズムを備えています。 標準のLinux useradd ツールを使用してユーザーを作成し、 smbpasswd ユーティリティでユーザーパスワードを smbpasswd ます。

はじめに説明したように、プライベートファイル共有にアクセスできる通常のユーザーと、Sambaサーバー上のすべての共有に対する読み取りおよび書き込みアクセス権を持つ1つの管理アカウントを作成します。

Sambaユーザーの作成

josh という名前の新しいユーザーを作成するには、次のコマンドを使用します。

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

useradd オプションには次の意味があります。

  • -M-ユーザーのホームディレクトリを作成しません。 このディレクトリを手動で作成します。 -d /samba/josh ユーザーのホームディレクトリを /samba/josh 設定します。 -s /usr/sbin/nologin このユーザーのシェルアクセスを無効にします。 -G sambashare ユーザーを sambashare グループに追加します。

ユーザーのホームディレクトリを作成し、ディレクトリ所有権をユーザー josh およびグループ sambashare 設定します。

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

次のコマンドは、 /samba/josh ディレクトリにsetgidビットを追加して、このディレクトリに新しく作成されたファイルが親ディレクトリのグループを継承するようにします。 この方法では、どのユーザーが新しいファイルを作成しても、ファイルには sambashare グループ所有者が sambashare ます。 たとえば、ディレクトリのアクセス許可を 2770 設定せず、 sadmin ユーザーが新しいファイルを作成すると、ユーザー josh はこのファイルの読み取り/書き込みができなくなります。

sudo chmod 2770 /samba/josh

ユーザーパスワードを設定して、 josh ユーザーアカウントをSambaデータベースに追加します。

sudo smbpasswd -a josh

ユーザーパスワードの入力と確認を求められます。

New SMB password: Retype new SMB password: Added user josh.

パスワードを設定したら、次を入力してSambaアカウントを有効にします。

sudo smbpasswd -e josh

Enabled user josh.

別のユーザーを作成するには、ユーザー josh 作成するときと同じプロセスを繰り返します。

次に、ユーザーとグループ sadmin 作成しましょう。 このグループのすべてのメンバーには管理権限があります。 後で別のユーザーに管理アクセス許可を付与する場合は、そのユーザーを sadmin グループに追加するだけです。

次のように入力して、管理ユーザーを作成します。

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

上記のコマンドは、グループ sadmin を作成し、 sadmin グループと sambashare グループの両方にユーザーを追加します。

パスワードを設定し、ユーザーを有効にします。

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

次に、 Users 共有ディレクトリを作成し Users

sudo mkdir /samba/users

ディレクトリの所有権をユーザー sadmin およびグループ sambashare 設定します。

sudo chown sadmin:sambashare /samba/users

このディレクトリには、すべての認証済みユーザーがアクセスできます。 次のコマンドは、 /samba/users ディレクトリ内の sambashare グループのメンバーへの書き込み/読み取りアクセスを構成し /samba/users

sudo chmod 2770 /samba/users

Samba共有の構成

Samba構成ファイルを開き、セクションを追加します。

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

オプションには次の意味があります。

  • そして -ログイン時に使用する共有の名前。path-共有へのパス。 browseable -共有を使用可能な共有リストにリストするかどうか。 他のユーザーを「 no 設定すると、共有を表示できなくなります。 read only - valid users リストで指定された valid users がこの共有に書き込むことができるかどうか。 force create mode -この共有で新しく作成されたファイルのアクセス許可を設定します。 force directory mode -この共有に新しく作成されたディレクトリのアクセス許可を設定します。 valid users -共有へのアクセスが許可されているユーザーとグループのリスト。 グループの前には @ 記号が付きます。

利用可能なオプションの詳細については、Samba構成ファイルのドキュメントページを参照してください。

完了したら、次を使用してSambaサービスを再起動します。

sudo systemctl restart smb.service sudo systemctl restart nmb.service

以下のセクションでは、Linux、macOS、およびWindowsクライアントからSamba共有に接続する方法を示します。

LinuxからSamba共有への接続

Linuxユーザーは、ファイルマネージャーを使用してコマンドラインからSamba共有にアクセスするか、Samba共有をマウントできます。

smbclientクライアントを使用する

smbclient は、コマンドラインからSambaにアクセスできるツールです。 smbclient パッケージは、ほとんどのLinuxディストリビューションにプリインストールされていないため、配布パッケージマネージャーでインストールする必要があります。

UbuntuおよびDebianに smbclient をインストールするには:

sudo apt install smbclient

CentOSおよびFedoraに smbclient をインストールするには:

sudo yum install samba-client

Samba共有にアクセスするための構文は次のとおりです。

mbclient //samba_hostname_or_server_ip/share_name -U username

たとえば、ユーザー josh としてIPアドレス 192.168.121.118 Sambaサーバー上の josh という名前の共有に接続するには、次の josh を実行します。

smbclient //192.168.121.118/josh -U josh

ユーザーパスワードの入力を求められます。

Enter WORKGROUP\josh's password:

パスワードを入力すると、Sambaコマンドラインインターフェイスにログインします。

Try "help" to get a list of possible commands. smb: \>

Samba共有のマウント

LinuxでSamba共有をマウントするには、まず cifs-utils パッケージをインストールする必要があります。

UbuntuおよびDebianで実行:

sudo apt install cifs-utils

CentOSおよびFedoraで実行:

sudo yum install cifs-utils

次に、マウントポイントを作成します。

sudo mkdir /mnt/smbmount

次のコマンドを使用して共有をマウントします。

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

たとえば、 josh という名前の共有をIPアドレス 192.168.121.118 Sambaサーバーにユーザー josh として /mnt/smbmount マウントポイントにマウントするには、 /mnt/smbmount を実行します。

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

ユーザーパスワードの入力を求められます。

Password for josh@//192.168.121.118/josh: ********

GUIを使用する

Gnomeのデフォルトのファイルマネージャーであるファイルには、Samba共有にアクセスするための組み込みオプションがあります。

  1. ファイルを開き、サイドバーの「その他の場所」をクリックします。「サーバーに接続」で、次の形式でSamba共有のアドレスを入力します smb://samba_hostname_or_server_ip/sharename 。「接続」をクリックすると、次の画面が表示されます。

結論

このチュートリアルでは、CentOS 7にSambaサーバーをインストールし、さまざまなタイプの共有ユーザーとユーザーを作成する方法を学びました。 また、Linux、macOS、およびWindowsデバイスからSambaサーバーに接続する方法も示しました。

サンバチェントス