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”,即可。