Ubuntu 18.04: What's New?
目次:
- 前提条件
- UbuntuにSambaをインストールする
- ファイアウォールの構成
- グローバルSambaオプションの構成
- Sambaユーザーとディレクトリ構造の作成
- Sambaユーザーの作成
- Samba共有の構成
- LinuxからSamba共有への接続
- smbclientクライアントを使用する
- Samba共有のマウント
- GUIを使用する
- 結論
Sambaは、SMB / CIFSネットワークファイル共有プロトコルの無料でオープンソースの再実装であり、エンドユーザーがファイル、プリンター、その他の共有リソースにアクセスできるようにします。
このチュートリアルでは、SambaをUbuntu 18.04にインストールし、スタンドアロンサーバーとして構成して、ネットワーク経由で異なるオペレーティングシステム間でファイル共有を提供する方法について説明します。
次のSamba共有とユーザーを作成します。
ユーザー:
- sadmin-すべての共有への読み取りおよび書き込みアクセス権を持つ管理ユーザー。 josh-独自のプライベートファイル共有を持つ通常のユーザー。
株:
- ユーザー -この共有には、すべてのユーザーが読み取り/書き込み権限でアクセスできます。 josh-この共有は、ユーザーjoshとsadminのみが読み取り/書き込み権限でアクセスできます。
ファイル共有には、ネットワーク上のすべてのデバイスからアクセスできます。 このチュートリアルの後半では、Linux、Windows、およびmacOSクライアントからSambaサーバーに接続する方法の詳細な手順も提供します。
前提条件
続行する前に、sudo特権を持つユーザーとしてUbuntu 18.04システムにログインしていることを確認してください。
UbuntuにSambaをインストールする
Sambaは、公式のUbuntuリポジトリから入手できます。 Ubuntuシステムにインストールする手順は次のとおりです。
-
aptパッケージインデックスを更新することから始めます。
sudo apt update
次のコマンドでSambaパッケージをインストールします。
sudo apt install samba
インストールが完了すると、Sambaサービスが自動的に開始されます。 Sambaサーバーが実行されているかどうかを確認するには、次のように入力します。
sudo systemctl status smbd
出力は、Sambaサービスがアクティブで実行中であることを示す以下のようになります。
● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…
この時点で、Sambaがインストールされ、構成の準備ができています。
ファイアウォールの構成
UFW
を使用してファイアウォールを管理していると仮定すると、「Samba」プロファイルを有効にしてポートを開くことができます。
グローバルSambaオプションの構成
Samba構成ファイルに変更を加える前に、将来の参照のためにバックアップを作成します。
sudo cp /etc/samba/smb.conf{,.backup}
Sambaパッケージに付属しているデフォルトの構成ファイルは、スタンドアロンSambaサーバー用に構成されています。 ファイルを開き、
server role
が
standalone server
設定されていることを確認し
standalone server
sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…
デフォルトでは、Sambaはすべてのインターフェースをリッスンします。 内部ネットワークからのみSambaサーバーへのアクセスを制限する場合は、次の2行のコメントを解除し、バインドするインターフェイスを指定します。
/etc/samba/smb.conf
… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…
完了したら、
testparm
ユーティリティを実行して、Samba構成ファイルのエラーを確認します。 構文エラーがない場合、
Loaded services file OK.
と表示
Loaded services file OK.
最後に、次を使用してSambaサービスを再起動します。
sudo systemctl restart smbd
sudo systemctl restart nmbd
Sambaユーザーとディレクトリ構造の作成
標準のホームディレクトリ(
/home/user
)を使用する代わりに、保守性と柔軟性を高めるために、すべてのSambaディレクトリとデータは
/samba
ディレクトリに配置されます。
/samba
ディレクトリタイプを作成するには:
sudo mkdir /samba
グループ所有権を
sambashare
設定し
sambashare
。 このグループはSambaのインストール中に作成されます。後でこのグループにすべてのSambaユーザーを追加します。
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
このディレクトリには、すべての認証済みユーザーがアクセスできます。 次の
chmod
コマンドは、
/samba/users
ディレクトリ内の
sambashare
グループのメンバーに書き込み/読み取りアクセスを許可し
/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
オプションには次の意味があります。
-
browseable
-共有を使用可能な共有リストにリストするかどうか。 他のユーザーを「no
設定すると、共有を表示できなくなります。read only
-valid users
リストで指定されたvalid users
がこの共有に書き込むことができるかどうか。force create mode
-この共有で新しく作成されたファイルのアクセス許可を設定します。force directory mode
-この共有に新しく作成されたディレクトリのアクセス許可を設定します。valid users
-共有へのアクセスが許可されているユーザーとグループのリスト。 グループの前には@
記号が付きます。
利用可能なオプションの詳細については、Samba構成ファイルのドキュメントページを参照してください。
完了したら、次を使用してSambaサービスを再起動します。
sudo systemctl restart smbd
sudo systemctl restart nmbd
以下のセクションでは、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共有にアクセスするための組み込みオプションがあります。
- ファイルを開き、サイドバーの「その他の場所」をクリックします。「サーバーに接続」で、次の形式でSamba共有のアドレスを入力します
smb://samba_hostname_or_server_ip/sharename
。「接続」をクリックすると、次の画面が表示されます。
結論
このチュートリアルでは、Ubuntu 18.04にSambaサーバーをインストールし、さまざまなタイプの共有ユーザーとユーザーを作成する方法を学びました。 また、Linux、macOS、およびWindowsデバイスからSambaサーバーに接続する方法も示しました。
サンバUbuntuファーストルック:Ubuntu 7.10デスクトップLinux
「Gutsy Gibbon」リリースは、フラッシュと機能をもたらし、デスクトップLinuxのリーダーとしてUbuntuをリードしています。 Webサイトやデータベースを実行するためのLinuxディストリビューションの選択は簡単です。 Linuxは長年にわたってサーバをうまく処理してきました。しかし、デスクトップ上でLinuxを正しく利用することは常に困難でした。そのため、Ubuntuは3年前に初めて登場したときにこのような話題を呼びました。 Ubuntuバージョン7.10(コードネームGutsy Gibbon)は、グラフィクスの改善、ソフトウェアインストールの簡素化、およびソフトウェアのマイナーな改良など、過去の成功を基盤にしています。
デスクトップLinux Face-Off:Ubuntu 8.04対Fedora 9
世界最大の2つの新バージョンLinuxのディストリビューションが勢ぞろいしています。彼らはどのようにマッチするのですか?
Ubuntu 9.04 Beta:クイックルック
Ubuntu Jaunty Jackalopeの予定されたベータ版が到着しました。ここでは、どのように形作っているかを見ていきます。