LinuC レベル2
技術解説 オンラインセミナー〜受験に向けての準備とポイント解説〜

2021/2/14（Sun） 13:00-14:00
LPI-Japanプラチナスポンサー 株式会社ゼウス・エンタープライズ
鯨井 貴博（LinuCエヴァンジェリスト）© LPI-Japan / EDUCO all rights reserved.

Who are you?（講師紹介）
鯨井貴博

LPI-Japan プラチナスポンサー
LinuCエバンジェリスト

株式会社ゼウス・エンタープライズ

⼤学時代 Unixの存在を知り、⽇経Linuxを読み始める。
2000年にVine Linux 2.0で⼀度挫折を経験。
その悔しさを忘れきれず、2007年 他業種からIT業界に転職しLinuxに再チャレンジ。
SE・商⽤製品サポート・インストラクター・プロジェクト管理などを経験し、現在に⾄る。
⾃分⾃⾝が学習で苦労した経験から、初⼼者を含む受講者に分りやすい講義を⾏うように⼼がけている。
また、興味の向くIT技術・オープンソースソフトウェアなどについて、Opensourcetehブログ（https://www.opensourcetech.tokyo/）で執筆中。
実際に⾃分でやってみる/使ってみる・開発者本⼈から話を聞いてみることを⼤切にしています。

Linus Torvaldsさん(Linux開発者)

Igor Sysoevさん(nginx開発者)

Alexei Vladishevさん(Zabbix開発者)© LPI-Japan / EDUCO all rights reserved.

2

ゼウス・エンタープライズからのお知らせ
提供するITサービス

https://www.zeus-enterprise.co.jp/solution/service© LPI-Japan / EDUCO all rights reserved.

3

ゼウス・エンタープライズからのお知らせ
提供するITサービス

https://www.it-training.tokyo/kids/index.html© LPI-Japan / EDUCO all rights reserved.

4

アジェンダ
1. LinuC Level2試験とは- 試験概要と特徴

2.

技術解説

3.

Q&A

- 主題2.11︓ファイル共有サービス
2.11.1 Sambaの設定と管理- 主題2.12︓システムのセキュリティ
2.12.1 iptables や firewalld によるパケットフィルタリング© LPI-Japan / EDUCO all rights reserved.

5LinuC Level2試験とは仮想環境を含むLinuxのシステム設計、ネットワーク構築において、アーキテクチャに基づいた設計、導⼊、保守、問題解決ができる技術者を認定する試験ü Linuxシステムの設計、構築、監視、トラブルシューティングができる。
ü 仮想マシンやコンテナの仕組みを理解し、その管理と運⽤ができる。
ü セキュリティとシステムアーキテクチャの基本を理解し、サービスの設計、構築、運⽤・管理ができる。
201試験/202試験の両⽅に合格することでレベル2に認定
1試験あたり 15,000円（消費税別）
ピアソンVUEにおけるCBT or PBT（団体受験⽤）

詳細は、https://linuc.org/linuc2/© LPI-Japan / EDUCO all rights reserved.

6LinuC Level2試験とは201試験

2.01︓システムの起動とLinuxカーネル
2.01.1 ブートプロセスとGRUB
2.01.2 システム起動のカスタマイズ
2.01.3 Linux カーネルの構成要素
2.01.4 Linuxカーネルのコンパイル
2.01.5 カーネル実⾏時における管理とトラブルシューティング
2.02︓ファイルシステムとストレージ管理
2.02.1 ファイルシステムの設定とマウント
2.02.2 ファイルシステムの管理
2.02.3 論理ボリュームマネージャの設定と管理
2.03︓ネットワーク構成
2.03.1 基本的なネットワーク構成
2.03.2 ⾼度なネットワーク構成
2.03.3 ネットワークの問題解決
2.04︓システムの保守と運⽤管理
2.04.1 makeによるソースコードからのビルドとインストール
2.04.2 バックアップとリストア
2.04.3 ユーザへの通知
2.04.4 リソース使⽤状況の把握
2.04.5 死活監視、リソース監視、運⽤監視ツール
2.04.6 システム構成ツール
2.05︓仮想化サーバー
2.05.1 仮想マシンの仕組みとKVM
2.05.2 仮想マシンの作成と管理
2.06︓コンテナ
2.06.1 コンテナの仕組み
2.06.2 Dockerコンテナとコンテナイメージの管理
https://linuc.org/linuc2/range/201.html
https://linuc.org/linuc2/range/202.html

202試験

2.07︓ネットワーククライアントの管理
2.07.1 DHCPサーバーの設定と管理
2.07.2 PAM認証
2.07.3 LDAPクライアントの利⽤⽅法
2.07.4 OpenLDAPサーバーの設定
2.08︓ドメインネームサーバー
2.08.1 BINDの設定と管理
2.08.2 ゾーン情報の管理
2.08.3 セキュアなDNSサーバーの実現
2.09︓HTTPサーバーとプロキシサーバー
2.09.1 Apache HTTPサーバーの設定と管理
2.09.2 OpenSSLとHTTPSの設定
2.09.3 nginxの設定と管理
2.09.4 Squidの設定と管理
2.10︓電⼦メールサービス
2.10.1 Postfixの設定と管理
2.10.2 Dovecotの設定と管理
2.11︓ファイル共有サービス
2.11.1 Sambaの設定と管理
2.11.2 NFSサーバーの設定と管理
2.12︓システムのセキュリティ
2.12.1 iptables や firewalld によるパケットフィルタリング
2.12.2 OpenSSH サーバーの設定と管理
2.12.3 OpenVPNの設定と管理
2.12.4 セキュリティ業務
2.13︓システムアーキテクチャ
2.13.1 ⾼可⽤システムの実現⽅式
2.13.2 キャパシティプランニングとスケーラビリティの確保
2.13.3 クラウドサービス上のシステム構成
2.13.4 典型的なシステムアーキテクチャ© LPI-Japan / EDUCO all rights reserved.

7

LinuC学習のコツ①出題範囲の内容について調べてみる
公式ドキュメント・技術書など②実際に操作してみる
これが⼤事︕③学習の補助教材などを利⽤する・メールマガジン
・標準教科書・過去のセミナー資料
詳細は、https://lpi.or.jp/learning/

LPI-Japan LinuC通信「レベル2・レベル3を受けてみよう︕」でサンプル問題作ってるので、よかったら登録
してください︕© LPI-Japan / EDUCO all rights reserved.

8LinuC学習のコツ④過去セミナーの動画
https://www.youtube.com/user/LPIJapan 1年でコンテンツが充実しましたね︕© LPI-Japan / EDUCO all rights reserved.

9LinuC学習のコツ
学習の具体的な進め⽅(2~3か⽉程度)
試験範囲の確認(LinuC HP)↓
LinuC認定教材の購⼊・1週⽬読込↓
LinuC認定教材・Webサイトを参考に、実機操作(サーバ構築やコマンド操作)を試す※操作やトラブルシュートで⼒が⾝に付く︕↓
LinuC認定教材 2週⽬読込↓問題集やメルマガサンプル問題で理解⼒確認※理解不⾜箇所の洗い出し↓
LinuC認定教材 3週⽬※弱点の補強↓受験申込↓
問題を8~9割以上、正解となるまで繰り返し解く
苦⼿な部分を重点的に復習・受験まで継続して学習すること↓・繰り返し学習し、理解度/問題正解率を⾼めた状態で受験すること
受験© LPI-Japan / EDUCO all rights reserved.

10

技術解説
主題2.11︓ファイル共有サービス
2.11.1 Sambaの設定と管理
重要度
4
概要
さまざまなクライアント⽤にSambaサーバーを設定できる。これには、クライアントがログインするSambaの設定やサーバーが参加するワークグループの設定、共有ディレクトリの定義、インストールにおけるトラブルシューティングも含まれる。
詳細
Samba の設定ファイルとログファイル/etc/samba/, /var/log/samba/
Samba のユーティリティとデーモン
samba, smbd, nmbd, winbindd
smbcontrol, smbstatus, testparm, smbpasswd, nmblookup, net, smbclient, samba-tool
Windowsのユーザ名をLinuxのユーザ名にマッピングする。
ACL および AD のセキュリティ
getfacl, setfac© LPI-Japan / EDUCO all rights reserved.

11

技術解説
主題2.12︓システムのセキュリティ
2.12.1 iptables や firewalld によるパケットフィルタリング
重要度3
概要
IPパケットを転送したり、ネットワークアドレス変換（NATやIPマスカレード）を実⾏するようシステムを設定し、ネットワー
クを保護することができる。これには、ポートリダイレクトの設定、フィルタルールの管理、攻撃の回避も含まれる。
詳細
iptables および ip6tables のツール
iptables, ip6tables
IPパケットの転送/proc/sys/net/ipv4/, /proc/sys/net/ipv6/
ルーティングテーブルを管理するためのツール
ポートリダイレクト
発信元や宛先のプロトコルやポート、アドレスに基づいて、IP パケットの受⼊と拒否を⾏うフィルタおよびルールの表⽰と保存/etc/services
フィルタ設定の保存および再読込
iptables-save, iptables-restore
firewalld で設定の確認と変更ができる。
firewalld, firewall-cmd
ufw で設定の確認と変更ができる。
ufw© LPI-Japan / EDUCO all rights reserved.

12

技術解説

Sambaの歴史© LPI-Japan / EDUCO all rights reserved.

13

技術解説
1992年

Andrew Tridgell⽒により作成(https://www.samba.org/~tridge/)
1994年
⽇本語サポートパッチ追加
1999年
Samba2.0.0リリース ⽇本Sambaユーザ会設⽴(http://www.samba.gr.jp/)
2001年
Samba2.2.0リリース Windows NTドメインコントローラ機能追加
2003年
Samba3.0.0リリース Active Directoryクライアント機能追加.
.
NTFSサポートなど各種機能追加.
2006年
Active Directoryドメインコントローラ機能の追加がはじまる
2012年
Samba4.0.0リリース Active Directoryドメインコントローラ機能追加
2021年1⽉ 最新バージョンは Samba4.13.4(https://www.samba.org/samba/history/)© LPI-Japan / EDUCO all rights reserved.

14

技術解説

Sambaとは© LPI-Japan / EDUCO all rights reserved.

15

技術解説
Sambaとは“ LinuxなどのUnix系サーバでWindowsサーバ機能を実装させるソフトウェア “⇒ 周りのWindowsからみると、仲間がいるようにみえる︕

Windows共有へアクセスしているようですが、その正体はLinux上で動作しているSamba

よくNASなどの製品の内部で使われている︕© LPI-Japan / EDUCO all rights reserved.

16

技術解説
Sambaの機能
Ø ファイルサーバ機能
共有フォルダ提供、そのフォルダに関するアクセス制御などWindows共有と同等の機能を提供
Ø プリントサーバ機能
Windowsネットワークにおけるネットワークプリンタ機能を提供
Ø ネットワーク機能
WindowsネットワークにおけるSambaの表⽰や名前解決を提供
Ø ドメインコントローラ機能
Active DirectoryやNTドメインのドメインコントローラ機能(認証統合)を提供
Ø ファイル共有クライアント機能
Windowsクライアントのように振舞い共有へアクセスする機能© LPI-Japan / EDUCO all rights reserved.

17

技術解説
Sambaを構成するデーモン
Ø smbdファイル共有やSambaの多くの部分を担当(139/tcp・445/tcp)
Ø nmbdWindowsネットワークにおける名前解決、ブラウジング機能などを担当(137/udp・138/udp)
Ø winbindd
NSS(Name Server Switch)機能を担当 ※Windowsドメインとのユーザアカウントの統合
Ø その他(Active Directoryドメイン関連)
LDAP、Kerberos、DNS、NTPなど© LPI-Japan / EDUCO all rights reserved.

18

技術解説

Sambaのインストール© LPI-Japan / EDUCO all rights reserved.

19

技術解説
SambaのインストールØ CentOS7/8などRPM系
yum install samba samba-clientØ UbuntuなどDebian系
sudo apt(apt-get) update
sudo apt(apt-get) install samba※⾊々な機能を有しているSambaなので、依存パッケージが多くあります。

ubuntu@ubuntu:~$ sudo apt upgrade samba
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了.
.
.
以下のパッケージが新たにインストールされます:libllvm11 liblzf1 linux-headers-5.8.0-40-genericlinux-hwe-5.8-headers-5.8.0-40 linux-image-5.8.0-40-genericlinux-modules-5.8.0-40-generic linux-modules-extra-5.8.0-40-generic
以下のパッケージはアップグレードされます:
apt apt-transport-https apt-utils brave-browser dnsmasq-base firefox
firefox-locale-en firefox-locale-ja gir1.2-mutter-6 grub-common grub-pc
grub-pc-bin grub2-common libapt-pkg6.0 libasound2 libasound2-data
libatopology2 libc-bin libc-dev-bin libc6 libc6-dbg libc6-dev libcephfs2
libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm-nouveau2 libdrm-radeon1
libdrm2 libegl-mesa0 libegl1 libgbm1 libgl1 libgl1-mesa-dri libglapi-mesa
libgles2 libglvnd0 libglx-mesa0 libglx0 libmutter-6-0 libnetplan0
libnss-systemd libopenjp2-7 libp11-kit0 libpam-systemd
libproxy1-plugin-gsettings libproxy1-plugin-networkmanager libproxy1v5
libpulse-mainloop-glib0 libpulse0 libpulsedsp librados2 libsystemd0
libtracker-control-2.0-0 libtracker-miner-2.0-0 libtracker-sparql-2.0-0
libudev1 libwavpack1 libxatracker2 linux-firmware linux-generic-hwe-20.04
linux-headers-generic-hwe-20.04 linux-image-generic-hwe-20.04 linux-libc-dev
locales lshw lsof mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers
mutter mutter-common nautilus-sendto netplan.io p11-kit p11-kit-modules
pulseaudio pulseaudio-module-bluetooth pulseaudio-utils python-apt-common
python3-apt python3-distupgrade python3-pil python3-update-manager sudo
systemd systemd-sysv systemd-timesyncd tar tracker tzdata
ubuntu-drivers-common ubuntu-release-upgrader-coreubuntu-release-upgrader-gtk udev update-manager update-manager-core
update-notifier update-notifier-common virtualbox virtualbox-dkms
virtualbox-qt xdg-utils xserver-common xserver-xephyr xserver-xorg-core
xserver-xorg-legacy xwayland
アップグレード: 108 個、新規インストール: 7 個、削除: 0 個、保留: 0 個。
448 MB 中 383 MB のアーカイブを取得する必要があります。
この操作後に追加で 536 MB のディスク容量が消費されます。
続⾏しますか? [Y/n] y© LPI-Japan / EDUCO all rights reserved.

20

技術解説

Sambaの設定© LPI-Japan / EDUCO all rights reserved.

21

技術解説
Sambaの設定は、 “smb.conf” で⾏う。
ubuntu@ubuntu:~$ cat -n /etc /samba/smb.conf
22 #======================= Global Settings =======================
23
24 [global]
セクション
25
26 ## Browsing/Identification ###27
28 # Change this to the workgroup/NT-domain name your Samba server will part of29
workgroup = WORKGROUP
変数
30
31 # server string is the equivalent of the NT Description field
32
server string = %h server (Samba, Ubuntu).
.
.
⾏頭に ”#(シャープ)” や “;(セミコロン)”を付けると、コメントとして扱われる.
.
175 [homes]
176 ; comment = Home Directories
177 ; browseable = no178
browseable = yes
179writeable = yes
180
readeable = yes.
.
“パラメータ名 = 値” で設定.
真偽を設定する場合、“yes/no”・”true/false”・”1/0”が使える© LPI-Japan / EDUCO all rights reserved.

22

技術解説
セクションについて

Ø [global]
Sambaのグローバル設定を記述する
Ø [homes]
ユーザのホームディレクトリに関する設定を記述する
Ø [printers]
共有プリンターに関する設定を記述する
Ø [⽂字列]
指定⽂字列名の共有を作成し、その共有設定を記述する
Ø [⽂字列$]
共有名の最後に “$” を付与すると隠し共有(通常⾮表⽰で共有名を⼿⼊⼒で指定した者のみアクセス可能)となる© LPI-Japan / EDUCO all rights reserved.

23

技術解説
変数についてØ %hSamba が動作しているマシンの インターネットホスト名。
Ø %H%u で指定されたユーザーのホームディレクトリ。
Ø %u
現在のサービスのユーザー名 (存在する場合)。
Ø %U
セッションのユーザー名 (クライアントが接続時に 送信したものであるが、実際に接続したユーザー名と同じであるとは 限らない)。
Ø %S
現在のサービス名 (存在する場合)。
Ø %m
クライアントマシンの NetBIOS 名。
Ø ％I
クライアントマシンの IP アドレス。
Ø %i
クライアントが接続してきたサーバーの IP アドレス。
Ø %G%U のプライマリグループ。
Ø %g
http://www.samba.gr.jp/project/translation/current/htmldocs/manpages/smb.conf.5.html%u のプライマリグループ。
© LPI-Japan / EDUCO all rights reserved.

24

技術解説
パラメータについて

Ø workgroup = ワークグループ名
Windowsネットワークで使われるワークグループ名を指定
Ø netbios name = 名前
Windowsネットワークで利⽤される名前の指定
Ø valid users = ユーザ名
共有へアクセス可能なユーザを指定 複数ユーザ記載する場合、”,(カンマ)”で区切るØ browseable = yes/no
共有を表⽰させる/表⽰させないØ path = 共有のパス
共有の場所を⽰すØ read only = yes/no
読み取り専⽤かどうか
Ø guest ok = yes/no
ゲストアクセスの可否Ø hide dot files = yes/no“.(ドット)で始まるファイルを表⽰する/しない

http://www.samba.gr.jp/project/translation/current/htmldocs/manpages/smb.conf.5.html© LPI-Japan / EDUCO all rights reserved.

25

技術解説
smb.confへのパラメータ設定時の注意Ø 別名パラメータ

writable = yeswriteable = yeswrite ok = yesは同じ意味

public = yes
guest ok = yesは同じ意味

Ø 反意語となるパラメータ
writeable = yesread only = noは同じ意味

http://www.samba.gr.jp/project/translation/current/htmldocs/manpages/smb.conf.5.html© LPI-Japan / EDUCO all rights reserved.

26

技術解説
Samba(smb.conf)の設定確認
Ø testparmコマンド

ubuntu@ubuntu:~$ testparm
Load smb config files from /etc /samba/smb.conf
Unknown parameter encountered: "readeable"
Ignoring unknown parameter "readeable"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

testparmコマンドオプション-s :内容確認のEnter押下を求めない-v︓デフォルト値を含めて表⽰する

Enterを押すと、デフォルト値以外のパラメータ⼀覧が出⼒される# Global parameters[global]log file = /var/log/samba/log.%mlogging = file
map to guest = Bad User
max log size = 1000
obey pam restrictions = Yes
pam password change = Yes
panic action = /usr/share/samba/panic-action %dpasswd chat = *Enter¥snew¥s*¥spassword:* %n¥n *Retype¥snew¥s*¥spassword:* %n¥n*password¥supdated¥ssuccessfully* .
passwd program = /usr/bin/passwd %userver role = standalone server
server string = %h server (Samba, Ubuntu)
unix password sync = Yes
usershare allow guests = Yes
idmap config * : backend = tdb© LPI-Japan / EDUCO all rights reserved.

27

技術解説
Samba(smb.conf)の設定確認
Ø testparmコマンド

ubuntu@ubuntu:~$ cat /etc /samba/smb.conf | grep workgroup# Change this to the workgroup/NT-domain name your Samba server will part ofworkgroups = WORKGROUP
記述間違いなどがあった場合、
誤︓workgroups
正︓workgroupubuntu@ubuntu:~$ testparm
Load smb config files from /etc /samba/smb.conf
Unknown parameter encountered: "workgroups"
Ignoring unknown parameter "workgroups"
Unknown parameter encountered: "readeable"
Ignoring unknown parameter "readeable"
Loaded services file OK.
Server role: ROLE_STANDALONE

間違っている部分を指摘してくれる︕

Press enter to see a dump of your service definitions# Global parameters[global]log file = /var/log/samba/log.%m© LPI-Japan / EDUCO all rights reserved.

28

技術解説

Sambaのユーザ管理© LPI-Japan / EDUCO all rights reserved.

29

技術解説
Sambaのユーザ管理
以下の順で実施する① Linuxユーザ追加(useradd/passwd)② Sambaユーザ追加(pdbedit)
pdbeditコマンドオプション-a :ユーザ追加-x︓ユーザ削除-L︓Sambaユーザ⼀覧表⽰

LinuxユーザとSambaユーザの情報は別々に管理されている︕

ubuntu@ubuntu:~$ sudo useradd ichiro
ubuntu@ubuntu:~$ sudo passwd ichiro
新しいパスワード:
新しいパスワードを再⼊⼒してください:
passwd: パスワードは正しく更新されました
ubuntu@ubuntu:~$ sudo pdbedit -a ichiro
new password:
retype new password:
Unix username:ichiroNT username:Account Flags:[U]
User SID:
S-1-5-21-2101493541-2007677032-2764911150-1001
Primary Group SID: S-1-5-21-2101493541-2007677032-2764911150-513
Full Name:
Home Directory:¥¥ubuntu¥ichiro
HomeDir Drive:
Logon Script:
Profile Path:¥¥ubuntu¥ichiro¥profile
Domain:ubuntu.
.
.
.

© LPI-Japan / EDUCO all rights reserved.

30

技術解説

システムのセキュリティ© LPI-Japan / EDUCO all rights reserved.

31

技術解説
ファイアウォール(firewalld)Ø 設定状況確認
firewall-cmd --list-allØ 設定追加(TCP139を開放する場合)
firewall-cmd --add-port=139/tcp --permanentsystemctl reload firewalld
ubuntu@ubuntu:~$ sudo firewall-cmd --add-port=139/tcp --permanent
successubuntu@ubuntu:~$ sudo systemctl reload firewalld
ubuntu@ubuntu:~$ sudo firewall-cmd --list-all
publictarget: default
icmp-block-inversion: no
interfaces:sources:
services: dhcpv6-client ssh
ports: 139/tcp
protocols:
追加された開放ポート設定
masquerade: noforward-ports:
source-ports:
icmp-blocks:
rich rules:

systemctlコマンド サブコマンド
status ︓プロセス状態確認
start :プロセス起動
stop ︓プロセス停⽌
restart︓プロセス再起動
reload ︓設定再読み込み
firewall-cmdコマンドオプション--list-all
︓設定⼀覧--permanent:永続的に追加--add-port
︓解放ポート追加--remove-port ︓解放ポート削除--add-service
︓解放サービス追加--remove-service︓解放サービス削除© LPI-Japan / EDUCO all rights reserved.

32

技術解説
ファイアウォール(firewalld)Ø /usr/lib/firewalld/servicesディレクトリにあるサービス⽤の設定ファイルが⽤意されている
Sambaの場合、samba.xml
Ø 設定追加(Sambaサービスを開放する場合)
firewall-cmd --add-service=samba –permanentsystemctl reload firewalld
ubuntu@ubuntu:~$ ls /usr/lib/firewalld/services/ | grep samba
samba-client.xml
samba-dc.xml
samba.xml

ubuntu@ubuntu:~$ sudo firewall-cmd --add-service=samba -permanent
successubuntu@ubuntu:~$ sudo systemctl reload firewalld
ubuntu@ubuntu:~$ sudo firewall-cmd --list-all
ubuntu@ubuntu:~$ cat /usr/lib/firewalld/services/samba.xml
public<?xml version="1.0" encoding="utf-8"?>
target: default<service>
icmp-block-inversion: no<short>Samba</short>interfaces:<description>This option allows you to access and participate in Windows sources:
file and printer sharing networks. You need the samba package installed services: dhcpv6-client samba ssh
for this option to be useful.</description>
ports: 139/tcp<port protocol="udp" port="137"/>
protocols:<port protocol="udp" port="138"/>
masquerade: no<port protocol="tcp" port="139"/>
forward-ports:
追加されたサービス設定<port protocol="tcp" port="445"/>source-ports:<helper name="netbios-ns"/>
icmp-blocks:</service>rich rules:© LPI-Japan / EDUCO all rights reserved.

33

技術解説
ファイアウォール(ufw) ※Uncomplicated Firewallの略
Ø 設定状況確認
ufw status / ufw status verbose
Ø 設定追加(TCP139を開放する場合) ※ufwプロセス起動が前提
ufw enableubuntu@ubuntu:~$ sudo ufw enable
ufw default deny Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
ufw allow 139/tcp
ファイアウォールはアクティブかつシステムの起動時に有効化されます。
ubuntu@ubuntu:~$ sudo ufw allow 139/tcp
ルールを追加しました
ルールを追加しました (v6)ubuntu@ubuntu:~$ sudo ufw status verbose
状態: アクティブ
ロギング: on (low)Default: deny (incoming), allow (outgoing), disabled (routed)
新しいプロファイル: skip
To
-22/tcp
139/tcp
22/tcp (v6)
139/tcp (v6)

ActionFrom--------ALLOW IN Anywhere
ALLOW IN Anywhere
ALLOW IN Anywhere (v6)
ALLOW IN Anywhere (v6)https://help.ubuntu.com/community/UFW
http://manpages.ubuntu.com/manpages/bionic /man8/ufw.8.html© LPI-Japan / EDUCO all rights reserved.

34

技術解説
ファイアウォール(ufw) ※Uncomplicated Firewallの略
Ø 設定追加(Sambaサービスを開放する場合)
ufw allow samba
ubuntu@ubuntu:~$ sudo ufw app list
利⽤可能なアプリケーション:
CUPS
Nginx Full
Nginx HTTP
Nginx HTTPSOpenSSHSamba
ubuntu@ubuntu:~$ sudo ls /etc /ufw/applications.d/
cups nginx openssh-server samba
ubuntu@ubuntu:~$ sudo cat /etc /ufw/applications.d/samba[Samba]title=LanManager-like file and printer server for Unix
description=The Samba software suite is a collection of programs that implements
the SMB/CIFS protocol for unix systems, allowing you to serve files and printers toWindows, NT, OS/2 and DOS clients. This protocol is sometimes also referred to as
the LanManager or NetBIOS protocol.
ports=137,138/udp|139,445/tcp
ubuntu@ubuntu:~$ sudo ufw allow samba
ルールを追加しました
ルールを追加しました (v6)ubuntu@ubuntu:~$ sudo ufw status verbose
状態: アクティブ
ロギング: on (low)Default: deny (incoming), allow (outgoing), disabled (routed)
新しいプロファイル: skip
To
ActionFrom---------22/tcp
ALLOW IN Anywhere
139/tcp
ALLOW IN Anywhere
137,138/udp (Samba)
ALLOW IN Anywhere
139,445/tcp (Samba)
ALLOW IN Anywhere
22/tcp (v6)
ALLOW IN Anywhere (v6)
139/tcp (v6)
ALLOW IN Anywhere (v6)
137,138/udp (Samba (v6)) ALLOW IN Anywhere (v6)
139,445/tcp (Samba (v6)) ALLOW IN Anywhere (v6)https://help.ubuntu.com/community/UFW
http://manpages.ubuntu.com/manpages/bionic /man8/ufw.8.html© LPI-Japan / EDUCO all rights reserved.

35

技術解説
Linuxセキュリティモジュール
Ø SELinux
ログ出⼒モード or 無効化に変更
setenforce 0
vi /etc/sysconfig/selinux にて、SELINUX=permissive(もしくは、disable)とする
Ø AppArmor
Sambaを動作させるのに影響ないと思いますが、影響あった場合以下(無効化)を実施。
sudo systemctl disable apparmor
sudo systemctl reboot© LPI-Japan / EDUCO all rights reserved.

36

技術解説

Sambaの起動© LPI-Japan / EDUCO all rights reserved.

37

技術解説
smb/nmbの両プロセスを起動しますubuntu@ubuntu:~$ sudo systemctl start smbd
ubuntu@ubuntu:~$ sudo systemctl start nmbd
ubuntu@ubuntu:~$ sudo systemctl status smbd nmbd
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-01-28 19:19:01 JST; 15s ago
Docs: man:smbd(8)man:samba(7)man:smb.conf(5)Process: 44476 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited,
status=0/SUCCESS)
Main PID: 44498 (smbd)
Status: "smbd: ready to serve connections..."Tasks: 4 (limit: 14233)
Memory: 8.7M
CGroup: /system.slice/smbd.service
tq44498 /usr/sbin/smbd --foreground --no-process-grouptq44500 /usr/sbin/smbd --foreground --no-process-grouptq44501 /usr/sbin/smbd --foreground --no-process-group
mq44503 /usr/sbin/smbd --foreground --no-process-group
1⽉ 28 19:19:01 ubuntu systemd[1]: Starting Samba SMB Daemon...
1⽉ 28 19:19:01 ubuntu systemd[1]: Started Samba SMB Daemon.
● nmbd.service - Samba NMB Daemon
Loaded: loaded (/lib/systemd/system/nmbd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-01-28 19:19:03 JST; 13s ago
Docs: man:nmbd(8)man:samba(7)man:smb.conf(5)Main PID: 44508 (nmbd)© LPI-Japan / EDUCO all rights reserved.

38

技術解説
動作確認
Ø Windowsのエクスプローラにて、¥¥SambaのIPアドレスを実施

ユーザ認証後共有(Samba)にアクセスできた︕© LPI-Japan / EDUCO all rights reserved.

39

技術解説

Samba関連コマンド© LPI-Japan / EDUCO all rights reserved.

40

技術解説
smbstatus
Ø 現在のSamba接続情報を表⽰
ubuntu@ubuntu:~$ sudo smbstatus
Samba version 4.11.6-Ubuntu
PID
UsernameGroup
MachineProtocol Version Encryption
Signing---------------------------------------------------------------------------------------------------------------------------------------44559 ubuntu
ubuntu192.168.1.131 (ipv4:192.168.1.131:53748) SMB3_11
partial(AES-128-CMAC)
Servicepid
MachineConnected at
Encryption Signing--------------------------------------------------------------------------------------------IPC$
44559 192.168.1.131 ⼟ 1⽉ 30 19時21分31秒 2021 JST No locked files

http://www.samba.gr.jp/project/translation/4.0/htmldocs/manpages/smbstatus.1.html© LPI-Japan / EDUCO all rights reserved.

41

技術解説
smbcontrol
Ø smbd・nmbd・winbinddのプロセスにメッセージを送信する ※クライアント接続を切断する例
ubuntu@ubuntu:~$ sudo smbstatus
Samba version 4.11.6-Ubuntu
PID
UsernameGroup
MachineProtocol Version Encryption
Signing---------------------------------------------------------------------------------------------------------------------------------------44559 ubuntu
ubuntu192.168.1.131 (ipv4:192.168.1.131:53748) SMB3_11
partial(AES-128-CMAC)
Servicepid
MachineConnected at
Encryption Signing--------------------------------------------------------------------------------------------IPC$
44559 192.168.1.131 ⼟ 1⽉ 30 19時21分31秒 2021 JST No locked files
ubuntu@ubuntu:~$ sudo smbcontrol 44559 close-share IPC$
ubuntu@ubuntu:~$ sudo smbstatus
Samba version 4.11.6-Ubuntu
PID
UsernameGroup
MachineProtocol Version Encryption
Signing---------------------------------------------------------------------------------------------------------------------------------------44559 ubuntu
ubuntu192.168.1.131 (ipv4:192.168.1.131:53748) SMB3_11
partial(AES-128-CMAC)
Servicepid
MachineConnected at
Encryption Signing--------------------------------------------------------------------------------------------No locked files

http://www.samba.gr.jp/project/translation/4.0/htmldocs/manpages/smbcontrol.1.html© LPI-Japan / EDUCO all rights reserved.

42

技術解説
nmblookup
Ø NetBIOS 名を検索やマスターブラウザの表⽰など
ubuntu@ubuntu:~$ sudo nmblookup ubuntu
192.168.1.237 ubuntu<00>
ubuntu@ubuntu:~$ sudo nmblookup -A 192.168.1.237
Looking up status of 192.168.1.237
ubuntu <00> B <ACTIVE>
ubuntu <03> B <ACTIVE>
ubuntu <20> B <ACTIVE>
ubuntu@ubuntu:~$ sudo nmblookup -M workgroup192.168.1.237 workgroup<1d>

http://www.samba.gr.jp/project/translation/current/htmldocs/manpages/nmblookup.1.html© LPI-Japan / EDUCO all rights reserved.

43

技術解説
smbclient
Ø smbクライアントコマンド
ubuntu@ubuntu:~$ sudo smbclient //192.168.1.237/DVDDrive -U ichiro
Enter WORKGROUP¥ichiro's password:
Try "help" to get a list of possible commands.
smb: ¥>

http://www.samba.gr.jp/project/translation/3.6/htmldocs/manpages-3/smbclient.1.html© LPI-Japan / EDUCO all rights reserved.

44

技術解説
smbpasswd
Ø pdbeditで作成したユーザのパスワード変更やユーザの有効化/無効化など$ smbpasswd
Old SMB password:
New SMB password:
Retype new SMB password:
Password changed for user taro
ubuntu@ubuntu:~$ sudo smbpasswd -d ichiro
Disabled user ichiro.
ubuntu@ubuntu:~$ sudo pdbedit -Lw
ubuntu:1000:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:E27C8166730A2DCC8A6C09F0D66305AF:[Uichiro:1001:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:24EEC2B0643CF9E0CC80795E5105F924:[DUtaro:1003:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:337295A3549E66640E9FD464342F16EF:[Ujiro:1002:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:B8272FC2AFD5332965A6A457FA30B3D5:[Uubuntu@ubuntu:~$ sudo smbpasswd -e ichiro]:LCT-6013C3E6:]:LCT-60157FF4:]:LCT-60158D7D:]:LCT-6013C319:

無効化された場合、“D”フラグが付与される

http://www.samba.gr.jp/project/translation/3.6/htmldocs/manpages-3/smbclient.1.html© LPI-Japan / EDUCO all rights reserved.

45

技術解説
Windowsのnetコマンド
Ø smbクライアントコマンド
C:¥Users¥jiro>net use
新しい接続は記憶されません。
ステータス ローカル名 リモート名

ネットワーク名------------------------------------------------------------------------------OK¥¥192.168.1.237¥IPC$
Microsoft Windows Network
コマンドは正常に終了しました。
C:¥Users¥jiro>net use ¥¥192.168.1.237¥IPC$ /delete¥¥192.168.1.237¥IPC$ が削除されました。
C:¥Users¥jiro>net use
新しい接続は記憶されません。
⼀覧にエントリが存在しません。

https://docs.microsoft.com/ja-jp/troubleshoot/windows-server/networking/net-commands-on-operating-systems© LPI-Japan / EDUCO all rights reserved.

46

技術解説
samba-toolØ ドメインコントローラ管理で使⽤するツール(ドメイン構築・ドメインユーザ管理)
LinuC300に関するセミナー資料(https://lpi.or.jp/news/event/docs/20170218_lpic300.pdf)のP69・76を参照※Sambaを使ったActive Directoryドメインコントローラ構築に興味がある⽅は上記リンクをご確認ください。

© LPI-Japan / EDUCO all rights reserved.

47

技術解説

Appendix© LPI-Japan / EDUCO all rights reserved.

48

技術解説
Sambaパスワードを変更した際に、Linuxユーザパスワードも同期させる
Ø smb.confに以下を設定する
unix password sync = Yes
pam password change = Yes
なお、Sambaの仕様のため、root権限のあるユーザではなく、パスワード変更は⼀般ユーザで実施すること

http://wiki.samba.gr.jp/mediawiki/index.php/Root_%E3%83%A6%E3%83%BC%E3%82%B6%E3%81%A7_unix_password_sync_%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8C%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%AA%E3%81%84© LPI-Japan / EDUCO all rights reserved.

49

技術解説
その他、サンプル設定
Ø Samba動作PCに搭載されているDVDドライブを共有する ※タブレットPCなどでDVDドライブがないケースなどを想定[DVDDrive]
path = /media/ubuntu
acl allow execute always = yes ・・・共有上のすべてのファイルを実⾏できるようにする
read only = No
browseable = yes
locking = no ・・・排他制御の実施/未実施
guest ok = yesroot preexec = /bin/mount /dev/sr0 /media/ubuntu
・・・共有へ接続前にrootとして実⾏する内容
root postexec = /bin/umount /media/ubuntu
・・・共有から接続した後にrootとして実⾏する内容

Ø 利⽤ユーザを制限した共有作成[share]path = /shareread only = yes
browseable = yes
valid users = ubuntu,ichiro© LPI-Japan / EDUCO all rights reserved.

50

技術解説

本⽇のまとめ© LPI-Japan / EDUCO all rights reserved.

51

本⽇のまとめ• SambaØ 役割/機能Ø 設定(smb.conf)Ø ユーザ管理Ø 関連コマンドØ サンプルコンフィグ• システムセキュリティ
Ø firewalldØ ufw

実機を使って学習し、技術をつけ、
資格もゲットしよう︕︕© LPI-Japan / EDUCO all rights reserved.

52

Q&A

© LPI-Japan / EDUCO all rights reserved.

53

Thank you for join todayʼs seminar!

https://www.opensourcetech.tokyo/
https://twitter.com/matt_zeus
https://www.facebook.com/takahiro.kujirai.1© LPI-Japan / EDUCO all rights reserved.

54