Centos7 FTPサービスのインストール、CentosFTPのインストールと構成

================================

©著作権サツマイモ八尾2022-04-19

サツマイモ八尾のブログ-CSDNブログ

1.FTPサーバーをインストールします

yum  install -y vsftpd

ftpクライアントをインストールします(省略可能)

yum  install -y ftp

2.FTPサービスの構成

1.FTP構成ファイルディレクトリに入る

cd /etc/vsftpd

2.構成ファイルvsftpd.confをバックアップし、すべてのコメントを削除します

mv vsftpd.conf vsftpd.conf.bak
grep -v "#" vsftpd.conf.bak > vsftpd.conf 

3.構成ファイルを編集します

vi vsftpd.conf

変更されたコンテンツ


#修改
#是否支持匿名用户,默认YES,改成NO表示需要用户名密码登录不允许匿名登录
anonymous_enable=NO

#匿名上传。首先,文件系统上用户的家目录,要具备写权限。其次,ftp服务器要开启允许匿名上传的配置
anon_upload_enable=YES

#以下取消注释
#允许匿名用户上传,建立目录
anon_mkdir_write_enable=YES

#默认只能下载全部读的文件。这句话的意思是说,如果启动了这句话,则匿名用户只能下载所有用户都具备读权限的文件。如果有一个文件,有一个用户不剧本读权限,匿名用户就不能够下载。
anon_world_readable_only=YES

#匿名用户能否删除和修改上传的文件
anon_other_write_enable=YES

#指定匿名上传文件的umask值。umask的值可以直接影响到上传文件的权限。
anon_umask=077

#指定上传文件的默认的所有者和权限。 完成了这些指定之后,匿名用户上传的元数据就是我们指定的那些内容。
chown_uploads=YES
#chown_username=wang
#chown_upload_mode=0644

#所有系统用户都映射成guest用户,但是映射的guest账户,需要人为地去指定下。
#guest_enable=YES
#guest_username=vsftpd

#是否允许Linux用户登陆,默认是允许的,当然也可以禁止。
local_enable=YES

#是否允许Linux用户上传文件,如果用户默认允许登陆的话,linux用户登陆成功之后,默认位于自己的家目录,这时是允许上传文件的。 如果将下面的这句话,改成no,则服务拒绝linux用户上传文件,即便位于自己的家目录也不可以。
#write_enable=YES

#指定系统用户上传文件的默认权限
#local_umask=022

#非匿名用户登录所在目录,当使用Linux用户登陆成功之后,就不会默认在自己的家目录了。相反,会位于下面指定的目录里。
#local_root=/ftproot

#禁锢所有的用户在家目录中的意思是说,用户登陆成功之后,不能够随意切换目录,只能够在自己的家目录中进行操作。
chroot_local_user=YES

#ASCII码支持
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES

#登录提示信息
ftpd_banner=Welcome to FTP server.  
# 这一句话优先生效
#banner_file=/etc/vsftpd/ftpbanner.txt

#设置是否使用当地时间。默认就是YES
use_localtime=YES

#虚拟用户建立独立的配置文件
user_config_dir=/etc/vsftpd/conf

listen_port=21
virtual_use_local_privs=YES

##被动模式端口
pasv_min_port=40000
pasv_max_port=40010

# 被动模式数据连接超时时长,时间单位是秒
accept_timeout=10
#主动模式数据连接超时时长,时间单位是秒
connect_timeout=10
#数据连接无数据输超时时长,时间单位是秒
data_connection_timeout=300
# 无命令操作超时时长,时间单位是秒
idle_session_timeout=300

allow_writeable_chroot=YES

3.仮想ユーザーを作成します

仮想ユーザーは、FTPユーザーがサーバーに直接ログインできないようにするために作成されます

1.仮想ユーザープロファイルを作成します

vi ftp_user.conf

追加された内容:奇数行はアカウント番号、偶数行はパスワード、下の1行目はアカウント番号、2行目はパスワードです。

ftpuser
ftpuser123

2.仮想ユーザープロファイルを暗号化する

db_load -T -t hash -f ftp_user.conf ftp_user.db

db_loadコマンドがない場合は、インストールする必要があります。yum install db4 db4-utils

権限を変更し、暗号化されていない構成を削除します

chmod 600 ftp_user.db
rm -f  ftp_user.conf

3.FTPアクセス権を変更します

最初にバックアップ

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

権限ファイルを変更する

vi /etc/pam.d/vsftpd

最初に、構成ファイル内の元の認証とアカウントのすべての構成行をコメントアウトし(仮想ユーザーはコメントアウトしないとログインできません)、2行の情報を追加します

auth required pam_userdb.so db=/etc/vsftpd/ftp_user
account required pam_userdb.so db=/etc/vsftpd/ftp_user

4.仮想ユーザーを追加します。FTPにのみログインできますが、バックグラウンドではログインできません

useradd -d /home/ftpuser -s /sbin/nologin ftpuser

フォルダの所有者を変更する

chown -R ftpuser:ftpuser /home/ftpuser

5.仮想ユーザープロファイル

仮想ユーザープロファイルディレクトリを作成します

mkdir -p /etc/vsftpd/conf


仮想ユーザーの構成ファイルを作成します(作成したftpuserファイルとデータベースファイルのユーザー名は同じである必要があります)

vi /etc/vsftpd/conf/ftpuser

追加されたコンテンツ:


#用户的默认登陆目录。也就是FTP用户登陆成功之后的默认路径。
local_root=/home/ftpuser/ftpuser
write_enable=YES
anon_world_readable_only=NO
#虚拟用户上传权限
anon_upload_enable=YES
#虚拟用户创建文件夹
anon_mkdir_write_enable=YES
## 虚拟的其他用户对指定用户目录的写权限
anon_other_write_enable=YES

上記のlocal_root構成アイテムに対応するFTP転送ディレクトリを作成します

mkdir -p /home/ftpuser/ftpuser
chown ftpuser:ftpuser /home/ftpuser/ftpuser
chmod 775 /home/ftpuser/ftpuser

4.FTPポートとFTPサービスを開きます

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --permanent --zone=public --add-port=21/tcp 

#被动模式的端口
firewall-cmd --permanent --zone=public --add-port=40000-40010/tcp

#重新加载生效
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --zone=public --list-ports

5.FTPの起動と自動起動の設定

#启动
systemctl start vsftpd
#设置自动启动
systemctl enable vsftpd
#查看状态
systemctl status vsftpd.service
#重启
systemctl restart vsftpd

6.FTPアクセスアドレス

ftp://192.168.10.100/

7.エラー解決

1,500 OOPS:vsftpd:'guest_username':vsftpdで指定されたユーザーが見つかりません


注释下面的配置
#guest_enable=YES
#guest_username=vsftpd

8.その他のコマンド

#安装filezilla
yum install -y filezilla
运行filezilla
filezilla &

#Selinux方式:查看防火墙状态
getenforce

#permissive表示:放任的;纵容的;姑息的;

#临时关闭:setenforce 0
setenforce 0 ->permissive

#永久关闭:vim /etc/sysconfig/selinux
将selinux=cnforcing改为selinux=disable


Firewall
1.关闭防火墙:service firewalld stop

2.关闭防火墙:systemctl stop firewalld.service

3.禁止防火墙开机启动:systemctl disable firewalld.service

4,查看防火墙状态:firewall-cmd --state

 (時間は貴重です。共有は簡単ではありません。寄付して還元してください、^ _ ^)

================================

©著作権サツマイモ八尾2022-04-19

サツマイモ八尾のブログ-CSDNブログ

おすすめ

転載: blog.csdn.net/w995223851/article/details/124273941