Sambaを設定しました-Ubuntu編
とりあえず設定しました
諸々の書物を閲覧しているとSamba なるものを見かけます。
私自身、Samba の意味すら分かりませんが、とりあえず設定し、その設定に関する内容などを備忘録的に投稿します。
尚、今回の設定に関する内容は、ファイアウォール (ufw) の設定変更も含み、全て、端末を利用しました。
書物によると、Samba とは、下記のようなものらしい。
Samba は Unix システムでの SMB/CIFS プロトコルの実装です。
ファイルやプリンタを Microsoft Windows、OS X や他の Unix システムとクロスプラットフォームに共有できるようにします。
Samba は NT4 ドメインのドメインコントローラとして機能するほか、NT4 ドメインや Active Directory のレルムにメンバサーバとして参加することもできます。
シナリオ
現在、私が利用しているパソコンは、電源投入後、GNU GRUB (Version 2.04) にて、起動させる OS を選択することができます。
昔流でいうと、Windows 側にて、パーティションを区切り空の領域を作成し、この領域に Ubuntu を入れました。
今回、このUbuntu 20.04 LTS に Samba を設定しました。
- OS
- Ubuntu 20.04 LTS 64Bits版
- GNOME
- 3.36.8
- パソコン
- Gateway Model SX2885 (タワー型のディスクトップです)
- メモリ
- 8 GB
4 GB 増設し、7.6 GB 認識しているみたいです。 - プロセッサー
- Intel® Core™ i3-4130 CPU @ 3.40GHz × 4
- グラフィック
- Intel® HD Graphics 4400 (HSW GT2)
手順
今回、Ubuntu 20.04 LTS にSambaを設定した手順を紹介します。
尚、これらの内容は、数多くの方々のブラグなどを参照させて頂きました。
Samba のインストール
サーバー側の設定ということで、端末を利用して、sudo apt install samba で、Samba を設定します。
設定時に端末に表示された具体的な内容を紹介します。
~$ sudo apt install samba パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: attr ibverbs-providers libcephfs2 libibverbs1 librados2 librdmacm1 python3-crypto python3-dnspython python3-gpg python3-ldb python3-markdown python3-packaging python3-pygments python3-pyparsing python3-samba python3-tdb samba-common samba-common-bin samba-dsdb-modules samba-vfs-modules tdb-tools 提案パッケージ: python-markdown-doc python-pygments-doc ttf-bitstream-vera python-pyparsing-doc bind9 bind9utils ctdb ldb-tools ntp | chrony smbldap-tools winbind heimdal-clients 以下のパッケージが新たにインストールされます: attr ibverbs-providers libcephfs2 libibverbs1 librados2 librdmacm1 python3-crypto python3-dnspython python3-gpg python3-ldb python3-markdown python3-packaging python3-pygments python3-pyparsing python3-samba python3-tdb samba samba-common samba-common-bin samba-dsdb-modules samba-vfs-modules tdb-tools アップグレード: 0 個、新規インストール: 22 個、削除: 0 個、保留: 0 個。 9,970 kB のアーカイブを取得する必要があります。 この操作後に追加で 66.4 MB のディスク容量が消費されます。 続行しますか? [Y/n] ・ ・ 省略 ・ Done samba (2:4.11.6+dfsg-0ubuntu1.10) を設定しています ... Samba is not being run as an AD Domain Controller: Masking samba-ad-dc.service Please ignore the following error about deb-systemd-helper not finding those services. (samba-ad-dc.service masked) Created symlink /etc/systemd/system/multi-user.target.wants/nmbd.service → /lib/systemd/system/nmbd.service. Failed to preset unit: Unit file /etc/systemd/system/samba-ad-dc.service is masked. /usr/bin/deb-systemd-helper: error: systemctl preset failed on samba-ad-dc.service: No such file or directory Created symlink /etc/systemd/system/multi-user.target.wants/smbd.service → /lib/systemd/system/smbd.service. samba-ad-dc.service is a disabled or a static unit, not starting it. ufw (0.36-6) のトリガを処理しています ... systemd (245.4-4ubuntu3.11) のトリガを処理しています ... man-db (2.9.1-1) のトリガを処理しています ... libc-bin (2.31-0ubuntu9.2) のトリガを処理しています ... ~$
ディレクトリの作成
好きな場所 (ディレクトリ) に共有対象とするディレクトリを作ります。
今回は、home の username (各位のusernameです) の直下に、SambaShare というディレクトリを作成しました。
~$ mkdir /home/username/SambaShare ~$
設定ファイルの編集
root 権限にて、/etc/samba/smb.conf ファイルを編集します。
私は、端末を利用して Emacs で編集しました。(vi でも編集できると思いますが、利用するエディターは、趣味の問題と思います。)
末尾に、下記の内容を追記
尚、username と「共有対象するディレクトリ SambaShare 」は、各位が設定した値に合わせる必要があると思います。
# Samba の共有ディレクトリの追加 >> Sep. 6th, 2021 [SambaShare] comment = Samba on Ubuntu path = /home/username/SambaShare read only = no browsable = yes # 下記も追記させる >> Sep. 6th, 2021 guest only = yes force create mode = 777 force directory mode = 777
多分、文字コード関係と思いますが、[global] の下に、下記の内容を追加しました。
# S多分、文字コード関連と思う dos charset = CP932 unix charset = UTF-8
一方、workgroup の値は、多分、自動的に WORKGROUP と思います。値が異なっていたら、変更したほうが良いと思います。
また、interfaces の部分は、頭の ; を取りました。
尚、変更、追加した私の [global] 部分を紹介します。
[global] ## Browsing/Identification ### # September 6th 2021 追加 多分、文字コード関連と思う dos charset = CP932 unix charset = UTF-8 # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = WORKGROUP # server string is the equivalent of the NT Description field server string = %h server (Samba, Ubuntu) #### Networking #### # 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 の値は、デフォルト値 レムを削除 >> Set.6th 2021 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
ファイアウォールの編集
デーモンを再起動した後、Samba で利用するポートを開けるためと思いますが、ファイアウォールの設定を変更しました。
尚、ファイアウォールの設定変更は、端末を利用しました。
デーモンの再起動
~$ sudo service smbd restart
ファイアウォールの設定前の値
~$ sudo ufw status 状態: アクティブ ~$ ~$ sudo ufw app list 利用可能なアプリケーション: CUPS ~$
sudo ufw allow samba にて、追加しました。
~$ sudo ufw allow samba ルールを追加しました ルールを追加しました (v6) ~$ ~$ sudo ufw app list 利用可能なアプリケーション: CUPS Samba ~$
Samba のパスワードの設定
パソコンのログイン時などのパスワードと、Samba のパスワードとは、共有化できないそうです。
そして、各位が設定したusername は、Ubuntu のアカウントに属している必要があるらしいです。
~$ sudo smbpasswd -a 各位が設定したusername New SMB password: << samba のパスワード。尚、パスワードをタイプしても表示されません。 Retype new SMB password: Added user osamuibushi. ~$
クライアント側のツールの設定
sudo apt install smbclient cifs-utils にて、設定しました。
尚、端末に表示された値の一部を紹介します。
~$ sudo apt install smbclient cifs-utils パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 提案パッケージ: keyutils winbind heimdal-clients 以下のパッケージが新たにインストールされます: cifs-utils smbclient アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。 ・ ・(省略) ・ ~$
確認
testparm コマンドを利用して、Samba の設定の確認が行え、Loaded services file OK. と表示されれば問題がないそうです。
下記に、私が設定した後の端末の表示の一部を紹介します。
尚、Press enter to see a dump of your service definitions の後、エンターすると /etc/samba/smb.conf ファイルの文末の共有ディレクトー (今回は、[SambaShare]) の内容が表示されました。
~$ 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
その他として
Samba へのマウントについてですが、手動でマウントしただけでは、クライアント側サーバが再起動した際にマウントが外れてしまうらしいです。
そこで,fstab(file system table) に設定を記述しておくことで、クライアント側サーバ起動時に自動でマウントできるらしいです。
$ sudo mount.cifs -o username=USERNAME,password=PASSWORD '\\SAMBA_SERVER_IP\共有したディレクトリーの名称' MOUNT_DIR
SAMBA_SERVER_IP の値など、/etc/samba/smb.conf で設定した値を記載したりして、いくらガンバっても、「Couldn't chdir to MOUNT_DIR」と言われました。
このマウントに関する内容と思われる事項は、なにもいじらずそっとしています。
言われる。
この投稿の改定履歴
このページには、各種広告も掲示しています。
掲示した広告、及び、スタイルの変更については、履歴を記載しません。
- 2021年09月09日
- 新規投稿
Microsoft Edge を設定しました-Ubuntu編 SQL Serverを設定しました-Ubuntu編