Linux に Samba サーバーと設定をインストールし (Windows と iOS の両方が相互に接続してファイルを転送できます)、複数のデバイス間でのファイル共有の問題を解決します。

Linux に Samba サーバーと設定をインストールし (Windows と iOS の両方が相互に接続してファイルを転送できます)、複数のデバイス間でのファイル共有の問題を解決します。

序文

組み込みシステム開発アプリケーション プラットフォームでは、tftp、nfs、および samba サーバーが最も一般的に使用されるファイル転送ツールです。tftp と nfs は組み込み Linux 開発環境で一般的に使用される転送ツールであり、samba は Linux と Windows 間のファイル転送ツールです。転送ツール。
Samba は、Windows Network Neighborhood の SMB 通信プロトコルを模倣した通信プロトコルで、Linux オペレーティング システムを Windows オペレーティング システムとして「偽装」し、Network Neighborhood を通じてファイルを転送します。
Linux オペレーティング システムのバージョン: centos7

Sambaサーバーの紹介

Samba は、Linux システム上で SMB (Session MessageBlock) プロトコルを実装し、ファイル共有とプリンター サービス共有を実現するフリー ソフトウェアです。

Samba サーバー コンポーネント
samba には、2 つの主要プロセス smbd および nmbdがあります。smbd プロセスはファイル サービスと印刷サービスを提供し、nmbd は NetBIOS ネーム サービスとブラウジング サポートを提供し、SMB クライアントによるサーバーの検索を支援し、すべての UDP ベースのプロトコルを処理します。

Sambaサーバーのインストール

すでに存在するかどうかを確認する

rpm -qa | grep samba

[root@localhost temp]# rpm -qa | grep samba
samba-common-libs-4.10.16-5.el7.x86_64
samba-common-tools-4.10.16-5.el7.x86_64
samba-4.10.16-5.el7.x86_64
samba-client-libs-4.10.16-5.el7.x86_64
samba-libs-4.10.16-5.el7.x86_64
samba-client-4.10.16-5.el7.x86_64
samba-common-4.10.16-5.el7.noarch

Sambaをインストールする

yum install -y samba

インストールが成功したかどうかを確認する

 rpm -qa | grep samba
[root@192 ~]# rpm -qa | grep samba
samba-common-libs-4.10.4-11.el7_8.x86_64
samba-common-tools-4.10.4-11.el7_8.x86_64
samba-common-4.10.4-11.el7_8.noarch
samba-client-libs-4.10.4-11.el7_8.x86_64
samba-libs-4.10.4-11.el7_8.x86_64
samba-4.10.4-11.el7_8.x86_64

このうち、samba、samba-common、samba-client の 3 つのプログラムが必要です。

Sambaの構成

設定ファイルの変更
実際には、Samba サーバーのメイン設定ファイルは /etc/samba/samba.conf だけです。この設定ファイルは 2 つの部分に分割できます。1 つの部分はグローバル パラメータで、もう 1 つの部分は共有リソースに関連するパラメータ。


1. 全局部分参数设置:
[global]
        #与主机名相关的设置
        workgroup = zkhouse  <==工作组名称
        netbios name = zkserver   <==主机名称,跟hostname不是一个概念,在同一个组中,netbios name必须唯一
        serverstring = this is a test samba server <==说明性文字,内容无关紧要
        #与登录文件有关的设置
        log file = /var/log/samba/log.%m   <==日志文件的存储文件名,%m代表的是client端Internet主机名,就是hostname
        max log size = 50      <==日志文件最大的大小为50Kb
        #与密码相关的设置
        security = share       <==表示不需要密码,可设置的值为share、user和server
        passdb backend = tdbsam
        #打印机加载方式
        load printer = no <==不加载打印机
-----------------------------------------------------------
2.共享资源设置方面:将旧的注释掉,加入新的
先取消[homes]、[printers]的项目,添加[temp]项目如下
[temp]              <==共享资源名称
        comment = Temporary file space <==简单的解释,内容无关紧要
        path = /tmp     <==实际的共享目录
        writable = yes    <==设置为可写入
        browseable = yes   <==可以被所有用户浏览到资源名称,
        guest ok = yes    <==可以让用户随意登录

まず構成ファイルをバックアップします。

cp smb.conf smb.conf1

設定ファイルを変更する

[global]
        workgroup = SAMBA
        security = user
 
        passdb backend = tdbsam
 
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
 
 
[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775
 
[temp]
        comment = test Samba
        path = /tmp
        writable = yes
        browseable = yes
        guest ok = yes

Samba ログイン ユーザーとパスワードを追加する

useradd jenrey # jenrey为设置的Samba登录用户名
 
smbpasswd -a jenrey # jenrey为上面设置的Samba登录用户名,本句含义为给谁设置登录密码

Sambaを再起動する

systemctl restart smb.service

Windows コンピュータを使用して Linux Samba に接続する

Windowsシステムで「ファイル名を指定して実行」を開きます

win+rショートカットキー

Sambaアドレスを入力してください

\192.168.1.198
注: 上記のアドレスは、Samba をインストールした Linux のアドレスです。不明な場合は、ifconfig コマンドを使用して確認できます。

パスワードを入力する必要がある場合は、以前に宣言したアカウント番号と対応するパスワードを入力します。

起動時に Samba が自動的に起動するように設定する

systemctl enable smb.service

cd /etc/systemd/system/multi-user.target.wants/
ll

Sambaを手動で起動する

systemctl start smb.service

Linux 共有にアクセスする権限がなく、Samba サービスにもアクセスする権限がありません。

解決策 1:
SELIUNX をオフにする

getenforce  ;查看当前状态
Enforcing
setenforce 0;

SELINUX のいくつかの状態は以下を示します。
enforcing: enforcing モード。これは、SELinux が実行中であり、ドメイン/タイプを正しく制限し始めたことを意味します。

permissive: 許容モード: SELinux が実行されていることを意味しますが、警告メッセージが表示されるだけで、実際にはドメイン/タイプのアクセスは制限されません。このモードは SELinux のデバッグに使用できます。

無効: 無効。SELinux は実際には実行されていません。
このメソッドを直接使用するだけで、シンプルで理解しやすいです。

おすすめ

転載: blog.csdn.net/u010523811/article/details/129142372