目的
目的は、Debian 9 Stretch LinuxでSambaサーバーの基本構成を実行して、MSWindowsクライアントマシンを介してSamba共有へのアクセスを提供することです。
オペレーティングシステムとソフトウェアのバージョン
- オペレーティングシステム: –Debian9ストレッチ
- ソフトウェア: – Samba4.5.8-Debian
要件
Debianシステムへの特権アクセスが必要になります。
難易度
簡単
規約
- # –指定されたLinuxコマンドは、rootユーザーとして直接、または
sudo
を使用して、root権限で実行する必要があります。 コマンド - $ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります
シナリオ
以下の構成手順は、次のシナリオと事前構成された要件を前提としています。
- サーバーとMSWindowsクライアントは同じネットワーク上にあり、ファイアウォールが2つの間の通信をブロックしていません
- MS Windowsクライアントは、ホスト名
samba-server
によってsambaサーバーを解決できます。 - MSWindowsクライアントのワークグループドメインは
WORKGROUP
手順
インストール
Sambaサーバーのインストールから始めましょう:
# apt install samba
さらに、テストの目的で、sambaクライアントをインストールすることもお勧めします:
# apt install smbclient
これで、Sambaサーバーがシステム上で稼働しているはずです:
# systemctl status smbd ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2017-06-13 10:35:34 AEST; 3min 32s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 1654 (smbd) Status: "smbd: ready to serve connections..." CGroup: /system.slice/smbd.service ├─1654 /usr/sbin/smbd ├─1655 /usr/sbin/smbd ├─1656 /usr/sbin/smbd └─1659 /usr/sbin/smbd
デフォルトのSamba構成
メインのSamba構成ファイルは/etc/samba/smb.conf
と呼ばれます 。 smb.conf
の編集を開始する前に 構成ファイル、元の構成ファイルのバックアップを作成し、現在の構成に関連する行を新しいsmb.conf
に抽出しましょう。 ファイル:
# cp /etc/samba/smb.conf /etc/samba/smb.conf_backup # grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf
新しい/etc/samba/smb.conf
これで次のものが含まれるはずです:
# cat /etc/samba/smb.conf [global] workgroup = WORKGROUP dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d server role = standalone server passdb backend = tdbsam obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user usershare allow guests = yes [homes] comment = Home Directories browseable = no read only = yes create mask = 0700 directory mask = 0700 valid users = %S [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes guest ok = no read only = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no
sambaサーバーを再起動し、SMBクライアントを使用してエクスポートされたすべてのsambaグループを確認します。
# systemctl restart smbd # smbclient -L localhost WARNING: The "syslog" option is deprecated Enter root's password: Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers IPC$ IPC IPC Service (Samba 4.5.8-Debian) Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.5.8-Debian] Server Comment --------- ------- LASERPRINTER LINUXCONFIG Samba 4.5.8-Debian Workgroup Master --------- ------- WORKGROUP LINUXCONFIG
ユーザーの追加
Sambaには独自のユーザー管理システムがあります。ただし、sambaユーザーリストに存在するユーザーは、/etc/passwd
内にも存在する必要があります。 ファイル。このため、useradd
を使用して新しいユーザーを作成します 新しいSambaユーザーを作成する前にコマンドを実行します。一度あなたの新しいシステムユーザー例えば。 linuxconfig
終了するには、smbpasswd
を使用します 新しいSambaユーザーを作成するコマンド:
# smbpasswd -a linuxconfig New SMB password:
Sambaホームディレクトリ共有
デフォルトでは、すべてのホームディレクトリは読み取り専用でエクスポートされ、browseable
ではありません。 。このデフォルトの構成設定を変更するには、現在のhomes
を変更します 定義を共有する:
[homes] comment = Home Directories browseable = yes read only = no create mask = 0700 directory mask = 0700 valid users = %S
/etc/samba/smb.conf
に変更を加えるたびに 構成ファイルは、Sambaサーバーデーモンを再起動することを忘れないでください:
# systemctl restart smbd
Samba Public Anonymous Share
次のSamba定義により、すべてのユーザーが/var/samba/
の下のSamba共有にデータを読み書きできるようになります。 ディレクトリ。まず、新しいディレクトリを作成し、誰でもアクセスできるようにします。
# mkdir /var/samba # chmod 777 /var/samba/
次に、/etc/samba/smb.conf
内に新しいSamba共有定義を追加します Samba構成ファイル:
[public] comment = public anonymous access path = /var/samba/ browsable =yes create mask = 0660 directory mask = 0771 writable = yes guest ok = yes
sambaサーバーデーモンを再起動します:
# systemctl restart smbd
マウントサンバシェア
これで、MSWindowsマシンとネットワークマップに注意を向けて新しいSamba共有ディレクトリを作成する準備が整いました。 \\\samba-server
で利用可能なすべての共有を一覧表示することから始めます コマンドの実行:
すべてがうまくいけば、閲覧可能なすべてのSamba共有のリストが表示されます。
次に、共有を右クリックして
Map Network Drive...
を選択し、共有ディレクトリのいずれかをマップします。 オプション。チェックマーク、Connect using different credentials
オプションを選択し、前の手順で作成したユーザー資格情報を入力して、ネットワークドライブマッピングを完了します。
付録
Sambaユーザーのリスト:
# pdbedit -w -L
Sambaユーザーを削除します:
# pdbedit -x -u username