「サーバーメッセージブロック」とも呼ばれるSambaは、Linux上のネットワーク全体でファイル、ディレクトリ、および印刷サービスを共有するために使用される一般的なインターネットファイルシステムプロトコルです。これにより、共有ディレクトリに対する読み取り、書き込み、および匿名のアクセス許可を付与できます。ネットワーク上でWindowsシステムとLinuxシステムの両方を使用している人にとっては非常に便利です。
この投稿では、Sambaをインストールして使用し、Ubuntu20.04でファイルとディレクトリを共有する方法について説明します。
前提条件
- Atlantic.Netクラウドプラットフォーム上の新しいUbuntu20.04サーバー
- サーバーで構成されているrootパスワード
ステップ1-Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu20.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
Ubuntu 20.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
ステップ2–Sambaサーバーをインストールする
apt-get install samba samba-common-bin acl -y
インストールしたら、Sambaサービスを開始し、システムの再起動時に開始できるようにします。
systemctl start smbd nmbd systemctl enable smbd nmbd
次のコマンドを使用して、インストールされているSambaのバージョンを確認できます。
smbd --version
出力:
Version 4.11.6-Ubuntu
ステップ3–Sambaとのプライベート共有を作成する
このセクションでは、認証されたユーザーのみが共有にアクセスできるように、Sambaを使用してプライベート共有を作成する方法を示します。
これを行うには、Sambaのメイン構成ファイルを編集します。
nano /etc/samba/smb.conf
次に、ファイルの最後に次の行を追加します。
[Private] comment = private share path = /data/private/ browseable = yes guest ok = no writable = yes valid users = @samba
ファイルを保存して閉じてから、次のコマンドを使用して新しいユーザーを作成します。
adduser user1
次の出力が表示されます。
Adding user `user1' ... Adding new group `user1' (1000) ... Adding new user `user1' (1000) with group `user1' ... Creating home directory `/home/user1' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for user1 Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
次に、次のコマンドを使用してSambaパスワードを設定します。
smbpasswd -a user1
次の出力が表示されます。
New SMB password: Retype new SMB password: Added user user1.
次に、次のコマンドを使用してSambaグループを作成します。
groupadd samba
次に、user1をsambaグループに追加します。
gpasswd -a user1 samba
次に、smb.confファイルで指定した共有フォルダーを作成します。
mkdir -p /data/private touch /data/private/file1
次に、Samba共有に読み取りおよび書き込み権限を付与します。
setfacl -R -m "g:samba:rwx" /data/private
次に、次のコマンドを使用して、Samba構成ファイルにエラーがないか確認します。
testparm
次に、Sambaサービスを再起動して、変更を適用します。
systemctl restart smbd nmbd
ステップ4–Sambaとのパブリック共有を作成する
このセクションでは、Sambaでパブリック共有を作成して、ユーザー名とパスワードを入力しなくても誰でもパブリック共有にアクセスできるようにする方法を説明します。
パブリック共有を作成するには、Sambaのメイン構成ファイルを編集します。
nano /etc/samba/smb.conf
ファイルの最後に次の行を追加します。
[Public] comment = public share path = /data/public/ browseable = yes writable = yes guest ok = yes
ファイルを保存して閉じてから、パブリックディレクトリを作成します:
mkdir -p /data/public/ touch /data/public/file2
次に、パブリックディレクトリに適切な権限を設定します:
setfacl -R -m "u:nobody:rwx" /data/public
次に、Sambaサービスを再起動して、変更を適用します。
systemctl restart smbd nmbd
ステップ5–LinuxからSamba共有にアクセスする
Samba共有にアクセスするには、LinuxシステムにSambaクライアントをインストールする必要があります。次のコマンドを使用してインストールできます:
apt-get install smbclient cifs-utils -y
次に、次のコマンドを実行して、Sambaサーバーからプライベート共有にアクセスします。
smbclient //samba-ip-address/private -U user1
user1のパスワードを入力するように求められます1:
Enter WORKGROUP\user1's password: Try "help" to get a list of possible commands.
接続したら、次のコマンドを実行してSamba共有を一覧表示します。
smb: \> list 0: server=69.87.221.84, share=private
次に、プライベート共有ディレクトリ内のすべてのファイルを一覧表示します。
smb: \> ls
次の出力が表示されます。
. D 0 Sun Jun 27 08:17:58 2021 .. D 0 Sun Jun 27 08:18:13 2021 file1 N 0 Sun Jun 27 08:17:58 2021 51538400 blocks of size 1024. 47348972 blocks available
次に、次のコマンドを使用してSambaシェルを終了します。
smb: \> exit
パブリック共有に接続する場合は、次のコマンドを実行します。
smbclient //samba-ip-address/public
パスワードを入力せずにEnterキーを押すだけです:
Enter WORKGROUP\root's password: Try "help" to get a list of possible commands. smb: \>
次に、次のコマンドを実行して、パブリック共有内のすべてのファイルを一覧表示します。
smb: \> ls
出力:
. D 0 Sun Jun 27 08:18:17 2021 .. D 0 Sun Jun 27 08:18:13 2021 file2 N 0 Sun Jun 27 08:18:17 2021 51538400 blocks of size 1024. 47348972 blocks available
ステップ6–LinuxにSamba共有をマウントする
Sambaでは、共有ディレクトリをクライアントシステムにマウントして、アクセスして使用できるようにすることもできます。
まず、Samba共有をマウントするクライアントシステム上にディレクトリを作成します。
mkdir /mount
次に、次のコマンドを実行して、プライベート共有ディレクトリをクライアントシステムにマウントします。
mount -t cifs -o username=user1 //samba-ip-address/private /mount
ディレクトリをマウントするには、user1のパスワードを入力するように求められます。
Password for [email protected]//69.87.221.84/private: *********
次に、次のコマンドを使用して、マウントされたディレクトリを確認します。
df -h
/mountディレクトリにマウントされたプライベート共有ディレクトリが表示されます。
Filesystem Size Used Avail Use% Mounted on udev 981M 0 981M 0% /dev tmpfs 199M 2.2M 197M 2% /run /dev/sda1 50G 1.9G 46G 4% / tmpfs 994M 0 994M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 994M 0 994M 0% /sys/fs/cgroup tmpfs 199M 0 199M 0% /run/user/0 //69.87.221.84/private 50G 4.0G 46G 9% /mount
次に、次のコマンドを使用してローカルでSamba共有にアクセスします。
ls /mount/
次の出力が表示されます。
file1
結論
上記のガイドでは、Sambaをインストールし、それを使用してLinuxシステム間でファイルやディレクトリを共有する方法を学びました。 Atlantic.NetのVPSホスティングを試してみてください!