FTPの設定セットアップCentOSに7.5仮想ユーザー

FTPの設定セットアップCentOSに7.5仮想ユーザー

vsftpdのをインストールします。1.

#vsftpdダウンロード

http://mirror.centos.org/centos/7/os/x86_64/Packages/vsftpd-3.0.2-25.el7.x86_64.rpm

#vsftpdをインストールします。

RPM -ivh vsftpdは、3.0.2-25.el7.x86_64.rpm

 

システムのユーザーにvsftpdを作成します。2.

#ホストユーザーにvsftpdサービスを作成します。

useraddのvsftpdの-M -s / sbinに/ nologinに

#バーチャルホストユーザーを確立したvsftpd

useraddのvirftpuser -M -s / sbinに/ nologinに-dの/ var / FTP /

 

3.設定vsftpdの

MV /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsfftpd.conf.bak

#新vsftpd.conf

vimの/etc/vsftpd/vsftpd.conf

これは次のように読み取ります。

anonymous_enableの= NO

YESに#設定し、匿名ユーザーのログインを許可します

YES = local_enable

#/無効ローカルユーザーのログイン有効注意:プロジェクトが設定されている場合、主に仮想ホストのユーザーのために、すべての仮想ユーザがNOにアクセスすることができません。

WRITE_ENABLE = YES

#設定を書き込むことができます。

local_umask = 022

#アップロードファイルへのアクセス権を設定した後、755フォルダのファイルをファイル644をマスク

dirmessage_enable = YES

#オープンディレクトリのスローガン機能に設定

xferlog_enable = YES

#設定がログにあります。

connect_from_port_20 = YES

データに接続されている#設定されたポート20

xferlog_std_format = YES

#標準記録フォーマットを使用してログを設定します。

YES =聞きます

#オープンは別のプロセスvsftpdは、スーパープロセスにxinetdを使用しないでください。vsftpdのサービスは、スタンドアロンモードで動作するように設定してください。

pam_service_name = vsftpdの

#設定は、PAM認証、認証を有効にしてファイル名を指定し/etc/pam.d/vsftpd

YES = userlist_enableの

#ユーザーのUserlist_fileセットは、FTPを使用することはありません

TCP_WRAPPERS = YES

#セットのサポートTCPラッパー

chroot_local_user = YES

#ホームディレクトリ内のすべてのユーザーを制限します

#ホームディレクトリ内のすべてのユーザーを制限します

#これらは、vsftpdの仮想ユーザーサポートの重要な設定項目です。Vsftpd.confのデフォルト設定は、これらの項目に含まれていない、手動で設定を追加する必要があります

guest_enable = YES

#仮想ユーザー機能セットを有効にします

すなわちguest_username = virftpuser

#ユーザーの仮想ホストのユーザーを指定します。

virtual_use_local_privs = YES

#自分のホストユーザーに仮想ユーザー権限を設定します

user_config_dir =の/ etc / vsftpdは/ vconf

#仮想ユーザーの個人VSFTP設定ファイルの保存パスを設定します。言い換えれば、指定したディレクトリは、仮想人格プロファイルVSFTPユーザーごとに保存されます

#ノートの場所は、これらが同じプロファイル名と仮想ユーザ名でなければならないことです。

 

 

ログファイル#vsftpdを設立、変更がユーザーにvsftpdサービスによって所有されます

タッチは/var/log/vsftpd.log
chownコマンドvsftpd.vsftpdは/var/log/vsftpd.log

 

4.仮想ユーザーの構成

#仮想ユーザー構成ファイル・ストレージ・パスを作成します。

ます。mkdir -pvの/ etc / vsftpdは/ vconf /

#仮想ユーザ・データベース・ファイルを作成します

vimのは/ etc / vsftpdは/てvirtusers

#編集し、ユーザー名とパスワードの情報の中に追加の仮想ユーザリストファイルてvirtusers、。フォーマット:「奇数ラインのユーザ名、パスワード偶数ライン。」

virtusersファイル形式は次のとおりです。

テスト#ユーザー名

test1234#ユーザパスワード

TEST1#ユーザー名

test1234#ユーザパスワード

#仮想ユーザー・データ・ファイルを生成します。

db_load -T -t hash -f の/ etc / vsftpdは/ /etc/vsftpd/virtusers.dbてvirtusers
#上記のコマンドを再実行、その後、てvirtusersファイルに追加するユーザーを追加します。

5. [認証ファイルのPAM

#バックアップ設定ファイル
CP /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
#PAM認証設定ファイルの編集vsftpdのは、すべてのコメント元の設定ファイルには、次の行を追加し、(仮想ユーザーがログオンしませんコメントアウトされていません)
AUTH十分/lib64/security/pam_userdb.soデシベル=の/ etc / vsftpdは/てvirtusers
十分な/lib64/security/pam_userdb.soデシベル=の/ etc / vsftpdは/てvirtusersアカウント

#2上記、手動でコンテンツのセキュリティと認証のための仮想ユーザーアカウントのアクセス許可を追加しています。

ここでの認証は、ユーザーのパスワードを確認するユーザの名前です。

ここaccoutそれは何の制限を確認するために、ユーザーのアカウントにどのようなアクセスを指します。

ここを確認した後で、十分な表現十分条件、続いて、それが残りの部分を確認するには、次の手順を経ることはありません。渡されない場合は、障害が全体の意思決定の失敗、ユーザーはまた、残りの検証監査を経なければならないことを意味を確認するのに十分でないため、逆に、それは、すぐにシステムの外にブロックされることはありません。

当時/lib/security/pam_userdb.soレビューは、資料では、このライブラリの関数を呼び出すpam_userdb.soのだろうことを示しています。

最終デシベル=の/ etc / vsftpdは/てvirtusers指定検証ライブラリ関数は、指定されたデータベースを検証するためのデータを呼び出します。

-------------------------------------------------- -------------------------------
vimの/etc/pam.d/vsftpd
#%のPAM-1.0
AUTH十分/lib64/security/pam_userdb.soデシベル=の/ etc / vsftpdは/てvirtusers
十分な/lib64/security/pam_userdb.soデシベル=の/ etc / vsftpdは/てvirtusersアカウント
#sessionオプションpam_keyinit.so力REVOKE
#authはpam_listfile.so項目を必要=ユーザーの感覚=拒否するファイル=は/ etc / vsftpdは/ ftpusersにONERR =成功します
#auth必要pam_shells.so
#authパスワード認証を含めます
パスワード認証を含める#account
#session必要pam_loginuid.so
#sessionパスワード認証を含めます
 
 

6.仮想ユーザーの構成

#仮想ユーザー権利の紹介
場合によっては、管理Webダウンロード、アップロード4つのアカウントを作成されました
次のようにアクセス権が割り当てられます。
管理者#管理者アカウント、仮想ユーザーがアクセス(アップロード、ダウンロード、削除、名前の変更)、新しいディレクトリを作成を書きます

 

Webページの特殊な性質のために、同じWeb #webウェブサイトのファイル転送アカウントと管理者、管理者権限を、単独で755アップロードファイルのパーミッションので、

 

ダウンロードダウンロード#アカウントは、ディレクトリのみとダウンロードを閲覧することができます

 

#アップロードアカウント、唯一の新しいディレクトリおよびアップロード、ダウンロードをアップロード

 

#各仮想ユーザープロファイルに次のように:

#admin

local_root = /ホーム/ ftpの#ユーザの仮想ルートディレクトリ

anon_world_readable_only = NO#オープンダウンロード権

WRITE_ENABLE = YES#書き込み権限

anon_mkdir_write_enable = YES#新しいディレクトリのアクセス許可

anon_upload_enable = YES#アップロード権限

anon_other_write_enable = YES#削除/名前変更の許可

 

#ウェブ

local_root =の/ var / WWWの#ユーザーの仮想ルートディレクトリ

anon_world_readable_only = NO#オープンダウンロード権

anon_umask = 022 #umask = 022、新しいディレクトリのパーミッションは755(777から022)は、ファイルのパーミッションは644であり、

= 077 #umaskは、新しいディレクトリのパーミッションパーミッション700、600個のファイルである場合には

WRITE_ENABLE = YES(書き込み許可)
anon_mkdir_write_enable = YES(新しいディレクトリのパーミッション)
anon_upload_enable = YES(アップロード権)
anon_other_write_enable = YES(削除/名前変更の許可)

 

#ダウンロード

local_root = /ホーム/ ftpの#ユーザの仮想ルートディレクトリ

ダウンロード許可、書き込みYES、しませんリストファイルとディレクトリのために利用可能anon_world_readable_only = NO#

書き込みはできませんanon_mkdir_write_enable = NO#文は、新しいフォルダを作成しないと同じ缶を書きません

 

#upload

local_root = /ホーム/ ftpの#ユーザの仮想ルートディレクトリ

virtual_use_local_privs = NO#仮想および匿名ユーザーと同じ権限を持っている、デフォルトはNOであり、ローカルユーザーと同じ権限をYESです

anon_world_readable_only = NO#ダウンロードの権限のために利用できる、書かYES、しませんリストファイルとディレクトリ

WRITE_ENABLE = YES#書き込み権限

anon_upload_enable = YES#アップロード権限

 

#仮想rootユーザーのディレクトリを作成し、ここで私は、デフォルトのディレクトリ/ var / FTP /パブを使用/

#所有者は、仮想ホストのユーザーvirftpuserを変更します

chownコマンド-R virftpuser:virftpuser /バット/ FTP /パブ/

#設定ファイルに対応した仮想ユーザーの仮想ユーザープロファイルディレクトリを作成し、仮想ユーザー名と同じファイル名

あなたのニーズに応じてのvimの/ etc / vsftpdは/ vconf /ユーザ名#プロファイル独自のコンテンツ。

 

 

 

7.firewallとセットにSElinux

#特別な要件の場合、ファイアウォールにSElinuxから直接することができ

 

ファイアウォール-CMD --list-サービス#ビューは、ファイアウォールサービスを可能にします。

ファイアウォール-CMD --add-サービス= FTP --permanent#永久にオープンftpサービス

ファイアウォール-CMD --add-ポート= 20 / tcpの-permanent     

外部ネットワークへのアクセスを許可するようにファイアウォール-CMD --add-ポート= 21 / tcpの--permanent#オープンポート

ファイアウォール-CMD -reload#リロード設定

提供setsebool ftpd_full_access 1 #selinux

setsebool tftp_home_dir 1

 

8.スタートサービス、テスト

vsftpdの#開始にvsftpdを起動systemctl

ブートにvsftpdの番号追加サービスを有効systemctl

 

#テストFTPソフトウェアをインストールします

FTP

>オープン127.0.0.1

 

設定9. vsftpdはシングルユーザー複数のディレクトリ

#マウントは、読み取りおよび書き込みすることができます

マウント--bind /ホーム/ test1の/ /データ/ WWW /仮想/ TEST1 /

#読み取り専用マウント

マウント-bind -o roの/ホーム/ TEST2 / /データ/ WWW /仮想/ TEST2 /

 

二つのディレクトリが--bind接続は、iノードinodeが元のディレクトリにリダイレクトされ、単にブロックするターゲットディレクトリをブロックし、同じではない(ディレクトリのinodeとターゲットブロック、変更対象のディレクトリことはなかった#mount inode番号だけではない非表示は、データが)変わっていないが、訪問していない削除しました

二つのディレクトリの対応関係がメモリ内に存在した後、我々は効果的にも、サーバーを再起動しますので、#、一度再起動マウント関係は、存在しない、我々はの/etc/rc.localに記述する必要があります

またはfstabファイルを変更します。

 

#fstabファイル形式

#/ホーム/ test1の/ /データ/ WWW /仮想/ test1の/ XFSバインド0 0

#/ホーム/ TEST2 / /データ/ WWW /仮想/ TEST2 / XFSバインド、RO 0 0

 

 

#修正rc.localに

vimのは/etc/rc.local

#次の行を追加します。

#マウントは、読み取りおよび書き込みすることができます

マウント--bind /ホーム/ test1の/ /データ/ WWW /仮想/ TEST1 /

#読み取り専用マウント

マウント--bind /ホーム/ TEST2 / /データ/ WWW /仮想/ TEST2 /

マウント-o再マウント、RO /データ/ WWW /仮想/ TEST2 /

 

#権限

chmodの+ X /etc/rc.dの

chmodの+ X /etc/rc.d/rc.localの

#サービスのスタートアップスクリプトを設定します。

CDは/ usr / libに/にsystemd /システム

vimのRC-local.service

内容をコメントアウトする前に、以下を追加します

[単位]

説明=の/ etc / rc.dの/ rc.localに互換性

ConditionFileIsExecutable =の/ etc / rc.dの/ rc.localに

= network.target後

 

[サービス]

タイプ=フォーク

ExecStart =の/ etc / rc.dの/ rc.localに開始

TimeoutSec = 0

RemainAfterExit =はい

SysVStartPriority = 99

 

[インストール]

WantedBy = multi-user.target

 

#サービス開始

RC-ローカル起動systemctl

RC-ローカル有効systemctl

 

10.よくあるご質問

1.centos7 550失敗したディレクトリ操作を作成します

不十分なディレクトリのパーミッション、SELinuxの設定の問題

 

2.500 OOPS:vsftpdの:chrootの内側に書き込み可能なルート(で実行することを拒否)

理由

ユーザーのホームディレクトリに書き込み権限、chmodのAWを持って、書き込み権限を削除

ユーザープロファイルまたは追加できるよう-writeable_chroot =はい、

エコー「allow_writeable_chroot = YES」>>は/ etc / vsftpdは/ vconf / $ユーザ名

 

匿名モードをオンにします3.が、アクセスは、ユーザーIDとパスワードの入力を求めてきました

原因1

パラメータはanon_umask = 022を追加し、作成されません。

原因2

ないルートディレクトリのパーミッション

 

おすすめ

転載: www.cnblogs.com/joe-four/p/joefour_linux_ftp.html