欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

linux中ftp服务搭建需要注意的地方

程序员文章站 2022-05-07 17:31:50
1.配置文件 /etc/vsftpd 目录下的vsftpd.conf文件 # example config file /etc/vsftpd/vsftpd.co...

1.配置文件

/etc/vsftpd 目录下的vsftpd.conf文件

# example config file /etc/vsftpd/vsftpd.conf
#
# the default compiled in settings are fairly paranoid. this sample file
# loosens things up a bit, to make the ftp daemon more usable.
# please see vsftpd.conf.5 for all compiled in defaults.
#
# read this: this example file is not an exhaustive list of vsftpd options.
# please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# allow anonymous ftp? (beware - allowed by default if you comment this out).
anonymous_enable=no
#
# uncomment this to allow local users to log in.
local_enable=yes
#
# uncomment this to enable any form of ftp write command.
write_enable=yes
#
# default umask for local users is 077. you may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# uncomment this to allow the anonymous ftp user to upload files. this only
# has an effect if the above global write enable is activated. also, you will
# obviously need to create a directory writable by the ftp user.
#anon_upload_enable=yes
#
# uncomment this if you want the anonymous ftp user to be able to create
# new directories.
#anon_mkdir_write_enable=yes
#
# activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=yes
#
# the target log file can be vsftpd_log_file or xferlog_file.
# this depends on setting xferlog_std_format parameter
xferlog_enable=no
#
# make sure port transfer connections originate from port 20 (ftp-data).
connect_from_port_20=yes
#
# if you want, you can arrange for uploaded anonymous files to be owned by
# a different user. note! using "root" for uploaded files is not
# recommended!
#chown_uploads=yes
#chown_username=whoever
#
# the name of log file when xferlog_enable=yes and xferlog_std_format=yes
# warning - changing this filename affects /etc/logrotate.d/vsftpd.log
#xferlog_file=/var/log/xferlog
#
# switches between logging into vsftpd_log_file and xferlog_file files.
# no writes to vsftpd_log_file, yes to xferlog_file
xferlog_std_format=yes
#
# you may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# you may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# it is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# enable this and the server will recognise asynchronous abor requests. not
# recommended for security (the code is non-trivial). not enabling it,
# however, may confuse older ftp clients.
#async_abor_enable=yes
#
# by default the server will pretend to allow ascii mode but in fact ignore
# the request. turn on the below options to have the server actually do ascii
# mangling on files when in ascii mode.
# beware that on some ftp servers, ascii support allows a denial of service
# attack (dos) via the command "size /big/file" in ascii mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ascii mangling is a horrible feature of the protocol.
#ascii_upload_enable=yes
#ascii_download_enable=yes
#
# you may fully customise the login banner string:
#ftpd_banner=welcome to blah ftp service.
#
# you may specify a file of disallowed anonymous e-mail addresses. apparently
# useful for combatting certain dos attacks.
#deny_email_enable=yes
# (default follows)
#banned_email_file=/etc/vsftpd/banned_emails
#
# you may specify an explicit list of local users to chroot() to their home
# directory. if chroot_local_user is yes, then this list becomes a list of
# users to not chroot().
chroot_local_user=yes
#chroot_list_enable=yes
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
#
# you may activate the "-r" option to the builtin ls. this is disabled by
# default to avoid remote users being able to cause excessive i/o on large
# sites. however, some broken ftp clients such as "ncftp" and "mirror" assume
# the presence of the "-r" option, so there is a strong case for enabling it.
#ls_recurse_enable=yes
#
# when "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on ipv4 sockets. this directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=yes
#
# this directive enables listening on ipv6 sockets. to listen on ipv4 and ipv6
# sockets, you must run two copies of vsftpd with two configuration files.
# make sure, that one of the listen options is commented !!
#listen_ipv6=yes

pam_service_name=vsftpd
userlist_enable=yes
tcp_wrappers=yes
pasv_enable=yes
pasv_min_port=1024
pasv_max_port=1034

2.新建用户

adduser -m -d /home/data/ftp -s /bin/sh -g root ftptest3

这个用户的根目录 是/home/data/ftp

3.禁止登录

首先,设定用户的shell:/usr/bin/nologin

使用root用户:usermod -s /usr/bin/nologin username

因为ftp在登录时要检查该用户的shell设定是否正确,如果在/etc/shells中不存在的/usr/bin/nologin,

结果就会出错导致用户无法登录。

打开/etc/shells,添加“/usr/bin/nologin”,即可。