Linux/centos で samba サーバーを構成および管理するにはどうすればよいですか?
1 sambaサービスに関する知識
samba
このサーバーを使用すると、ユーザーは異種ネットワーク オペレーティング システム間でファイル システムを共有できます。samba
サーバーは、Windows
環境内でユーザー ディレクトリを共有するLinux
ためのツールを提供します。linux
にインストールした後は、ログインするsamba
だけでアクセスできます。windows
1.1 SMBプロトコル
Windows
システムは、TCP/IP
基盤となるプロトコルを使用してNetBOIS
リクエストを送信し、NetBOIS
上位層ではSMB(server message block)
そのプロトコルを上位インターフェイスとして使用して、windows
ネットワーク環境でのファイルや印刷などのリソース共有を実現します。SMB
使用されるNetBOIS
アプリケーション プログラム インターフェイスAPI
、ポートは通常、次のとおりです139,445
。- これはオープン プロトコルであり、プロトコルの拡張が可能です。
- 約 65 のトップレベル ジョブがあり、それぞれに 120 以上の機能があります。
CIFS(common Internet File system)
SMB
これはプロトコルの拡張バージョンです。
1.2 Samba の仕組み
1.2.1 関連するプロセス
samba
サーバーは2 つのデーモン プロセスsmbd
で構成されており、各プロセスは独立して起動することも、スタートアップを使用して起動することもできます。nmbd
/etc/rc.d/init.d/smb
smbd : Windows ユーザーにファイルと印刷の共有サービスを提供します。
nmbd : NetBIOS 名解決を実行し、Windows SMB リクエスト内の情報内の NetBIOS 名を Linux の IP アドレスにマップします。
1.2.2 サンバのワークフロー
1.2.3 サンバ機能
- ファイルとプリンターの共有。
- 認証と許可の設定。
- 名前解決。
- サービスを参照します。
2 sambaサーバーのインストール
2.1 CD-ROM ドライブを使用したインストール
次のことcentos
を実行します。
linux
システムのインストール CD を CD-ROM ドライブに挿入し、以下を作成します。
mkdir /mnt/cdrom
- CD を読み取り/書き込みモードで次のディレクトリにマウントします。
mount /dev/cdrom /mnt/cdrom
- yum ソースファイルを作成します
/etc/yum.repos.d/cdrom.repo
。
[cdrom]
name = cdrom
baseurl = file:///mnt/cdrom
gpgcheck = 0
enabled = 1
2.2 CD マッピング ファイルの使用
次の手順を実行しますcentos
(私はこの方法を使用します)。
-
光学ドライブがない場合は、オペレーティング システムのマッピング ファイルを使用します。
-
たとえば、マッピング ファイルを上部の下部
.iso
にアップロードします。linux
root
CentOS-7-x86_64-Everything-2003.iso
-
新しいディレクトリを作成し
iso
、このディレクトリにマッピング ファイルをハングします。
mkdir /mnt/iso
mount -o loop /root/CentOS-7-x86_64-Everything-2003.iso /mnt/iso
- yum
源
ファイルを作成します/etc/yum.repos.d/iso.repo
。
[iso]
name = iso
baseurl = file:///mnt/iso
gpgcheck = 0
enabled = 1
- 次の名前を使用してインストールするだけです。
yum -y install samba
- 次のコマンドを使用して、インストールのステータスを確認できます。
rpm -qa | grep samba
3 sambaサービスの起動と停止
samba
サービスを開始します。
systemctl start smb.service
- Samba サービスを停止します。
systemctl stop smb.service
samba
サービスを再起動します。
systemctl restart smb.service
- リロード
samba
サービス:
systemctl reload smb.service
- 起動時の自動起動
samba
サービス:
systemctl enable smb.service
# 查看是否开机自启
systemctl list-unit-files | grep smb
- 起動時に自動開始
samba
サービスをキャンセルします。
systemctl disable smb.service
- サービスのステータスを確認します
samba
。
systemctl status smb.service
4 Sambaサーバーの設定
4.1 samba メイン設定ファイル smb.conf
4.1.1 Samba構成の概要
- 設定ファイルは
/etc/samba
以下のとおりです。
- 構成情報は次のとおりです。
- 例証します:
① 冒頭では主に samba の機能を紹介します;
② #: コメント用;
③;: フォーマット例;
4.1.2 グローバル変数
global
主にグローバル変数。
[global]
workgroup = SAMBA # 设置samba的工作组
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
- 部分フィールド分析:
分野 | 方法 | 説明する |
---|---|---|
workgroup |
ワークグループ=<ワークグループ> | samba server ワークグループをセットアップする |
server string |
サーバー文字列=<説明> | samba server コメントを設定する |
host allow |
ホスト許可=<IP> アドレス |
samba server リンクできるマシンを制限する |
security |
セキュリティ=<レベル> | アクセスのセキュリティレベルを設定する |
password level |
パスワードレベル=<桁> | パスワードの長さ |
username level |
ユーザー名 level=<桁数> | ユーザー名の長さ |
encrypt passwords |
パスワードを暗号化=<はい/いいえ> | samba パスワードを暗号化するかどうかを設定します |
smd password file |
smd パスワード ファイル=<パスワード ファイル> | samba パスワードファイルを設定する |
4.1.3 共有サービス
- 共有部分には [
home
]、[printer
]、[カスタム共有名] が含まれます。 samba
[home
]、[printer
] 共有はデフォルトで有効になっています。- 次の形式で共有ディレクトリを自分で作成できます。
[共享名]
字段 = 设置值
......
- フィールドの説明:
分野 | 説明する |
---|---|
comment |
ノート |
path |
共有リソースへのフルパス |
browseable |
リソース参照時に共有ディレクトリを表示するかどうかを設定します |
public |
匿名アクセスを許可するかどうかを設定します |
read only |
共有リソースに読み取り専用モードでアクセスするかどうか |
writeable |
ユーザーに操作の書き込みを許可するかどうか |
vaild users |
特定のユーザーを設定する |
write list |
書き込みを許可されたユーザーまたはグループ |
4.2 sambaサービスのログとアカウント
4.2.1 sambaサービスログファイル
- 目次:
/var/log/samba
- ログ ファイルの保存パスと容量は、次のファイルを変更することで設定できます。
# smb.conf
log file = /var/log/samba/log.%m
max log size = 50
4.2.2 sambaサービスのパスワードファイル
- 目次:
/etc/samba/smbpasswd
samba
アカウントを追加するコマンドは次のとおりです。
smbpasswd -a 用户名
5 Sambaクライアントの設定
5.1 Linux での samba サーバーのテスト
smbclient
注文:
smbclient -L 目标IP地址或主机名 -U 登陆用户名%密码
mount
注文:
mount -t cifs //目标IP地址或主机名/共享目录名 挂载点 -o username=用户名,password=密码
5.2 Windows で samba サーバーをテストする
- 「スタート」-「ファイル名を指定して実行」、
linux
共有ディレクトリに入ります。 - ファイル ブラウザに入力した
linux
共有ディレクトリを開くこともできます。
6 実践例
6.1 記述例
共有ファイル サーバー、ファイル名は workgroup、ディレクトリは /mnt/public、共有名は public、誰でも質問できます。
6.2 導入プロセス
- 新しいディレクトリを作成します。
mkdir /mnt/public
touch /mnt/public/test1.txt /mnt/public/test2.txt
- ファイルを変更します
smb.conf
:
[public]
comment = Public
path = /mnt/public
public = yes
browseable = yes
guest ok = yes
- グラフィカル インターフェイスを開いて、ファイアウォール
samba
サービスの通過を許可します ([アプリケーション]-[その他]-[ファイアウォール])。 - 設定は
Selinux
次のように設定されていますPermissive
。
getenforce
setenforce 0
getenforce
- アクセス方法
linux
:
smbclient //192.168.0.190/public -U root
- アカウント
root
に結合を追加します。samba
smbpasswd -a root
- Access経由でアクセスできない場合は、ファイル共有サポート
windows
を有効にする必要があります。SMB