您好,登錄后才能下訂單哦!
本篇內容介紹了“CentOS vsftp怎么安裝系統帳戶與配置文件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一.安裝:
1.安裝CentOS vsftp服務相關部件:
[root@KcentOS5 ~]# yum install vsftpd*
2.確認安裝PAM服務相關部件:
[root@KcentOS5 ~]# yum install pam*開發包,其實不裝也沒有關系,主要的目的是確認PAM。
3.安裝DB4部件包:
這里要特別安裝一個db4的包,用來支持文件數據庫。
[root@KcentOS5 ~]# yum install db4*
二.系統帳戶
1.建立CentOS vsftp服務的宿主用戶:
[root@CentOS5 /]#chmod 700 /home/vftpsite [root@KcentOS5 ~]# useradd vsftpd -s /sbin/nologin
默認的CentOS vsftp的服務宿主用戶是root,但是這不符合安全性的需要。這里建立名字為CentOS vsftp的用戶,用他來作為支持CentOS vsftp的服務宿主用戶。由于該用戶僅用來支持CentOS vsftp服務用,因此沒有許可他登陸系統的必要,并設定他為不能登陸系統的用戶。[root@CentOS5 /]#useradd –d /home/vftpsite –s /sbin/nologin vftpuser
2.建立CentOS vsftp虛擬宿主用戶:
[root@KcentOS5 nowhere]# useradd overlord -s /sbin/nologin本篇主要是介紹CentOS vsftp的虛擬用戶,虛擬用戶并不是系統用戶,也就是說這些FTP的用戶在系統中是不存在的。他們的總體權限其實是集中寄托在一個在系統中的某一個用戶身上的,所謂CentOS vsftp的虛擬宿主用戶,就是這樣一個支持著所有虛擬用戶的宿主用戶。
由于他支撐了FTP的所有虛擬的用戶,那么他本身的權限將會影響著這些虛擬的用戶,因此,處于安全性的考慮,也要非分注意對該用戶的權限的控制,該用戶也絕對沒有登陸系統的必要,這里也設定他為不能登陸系統的用戶。
(這里插一句:原本在建立上面兩個用戶的時候,想連用戶主路徑也不打算給的。本來想加上 -d /home/nowhere 的,據man useradd手冊上講
述:“ -d, --home HOME_DIRThe new user will be created using HOME_DIR as the value for theuser鈙 login directory. The default is to append the LOGIN name to
BASE_DIR and use that as the login directory name. The directoryHOME_DIR does not have to exist but will not be created if it ismissing.
使用-d參數指定用戶的主目錄,用戶主目錄并不是必須存在的。如果沒有存在指定的目錄的話,那么它將不會被建立”。結果我嘗試 -d /home/nowhere 指定到一個并不存在的目錄的時候,我KAO!竟然給我自己新建了一個= =#)
三.調整CentOS vsftp的配置文件:
1.編輯配置文件前先備份
[root@KcentOS5 ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
2.編輯主配置文件Vsftpd.conf
[root@KcentOS5 ~]# vi /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=YES anonymous_enable=NO
設定不允許匿名訪問# Uncomment this to allow local users to log in.local_enable=YES設定本地用戶可以訪問。注意:主要是為虛擬宿主用戶,如果該項目設定為NO那么所有虛擬用戶將無法訪問。# 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 anon_upload_enable=NO
禁止匿名用戶上傳。
# Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES anon_mkdir_write_enable=NO
禁止匿名用戶建立目錄。
# Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES
設定開啟目錄標語功能。# Activate logging of uploads/downloads.xferlog_enable=YES設定開啟日志記錄功能。# Make sure PORT transfer connections originate from port 20 (ftp-data).connect_from_port_20=YES設定端口20進行數據連接。
# 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_uploads=NO
設定禁止上傳文件更改宿主。
#chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. xferlog_file=/var/log/vsftpd.log
設定Vsftpd的服務日志保存路徑。注意,該文件默認不存在。必須要手動touch出來,并且由于這里更改了CentOS vsftp的服務宿主用戶為手動建立的CentOS vsftp。必須注意給與該用戶對日志的寫入權限,否則服務將啟動失敗。# If you want, you can have your log file in standard ftpd xferlog formatxferlog_std_format=YES
設定日志使用標準的記錄格式。# You may change the default value for timing out an idle session.#idle_session_timeout=600設定空閑連接超時時間,這里使用默認。將具體數值留給每個具體用戶具體指定,當然如果不指定的話,還是使用這里的默認值600,單位秒。# You may change the default value for timing out a data connection.#data_connection_timeout=120
設定單次***連續傳輸時間,這里使用默認。將具體數值留給每個具體用戶具體指定,當然如果不指定的話,還是使用這里的默認值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 nopriv_user=vsftpd
設定支撐CentOS vsftp服務的宿主用戶為手動建立的Vsftpd用戶。注意,一旦做出更改宿主用戶后,必須注意一起與該服務相關的讀寫文件的讀寫賦權問題。比如日志文件就必須給與該用戶寫入權限等。
# 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
設定支持ASCII模式的上傳和下載功能。
# You may fully customise the login banner string: ftpd_banner=This Vsftp server supports virtual users ^_^
設定CentOS vsftp的登陸標語。
# # 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_list_enable=YES chroot_list_enable=NO
禁止用戶登出自己的FTP主目錄。
# (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 ls_recurse_enable=NO
禁止用戶登陸FTP后使用"ls -R"的命令。該命令會對服務器性能造成巨大開銷。如果該項被允許,那么擋多用戶同時使用該命令時將會對該服務器造成威脅。
# 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
設定該CentOS vsftp服務工作在StandAlone模式下。順便展開說明一下,所謂StandAlone模式就是該服務擁有自己的守護進程支持,在ps -A命令下我們將可用看到vsftpd的守護進程名。如果不想工作在StandAlone模式下,則可以選擇SuperDaemon模式,在該模式下 vsftpd將沒有自己的守護進程,而是由超級守護進程Xinetd全權代理,與此同時,Vsftp服務的許多功能將得不到實現。
# # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6 # sockets, you must run two copies of vsftpd whith two configuration files. # Make sure, that one of the listen options is commented !! #listen_ipv6=YES pam_service_name=vsftpd
設定PAM服務下CentOS vsftp的驗證配置文件名。因此,PAM驗證將參考/etc/pam.d/下的CentOS vsftp文件配置。userlist_enable=YES設定userlist_file中的用戶將不得使用FTP。tcp_wrappers=YES設定支持TCP Wrappers。
#KC: The following entries are added for supporting virtual ftp users.以下這些是關于CentOS vsftp虛擬用戶支持的重要配置項目。默認Vsftpd.conf中不包含這些設定項目,需要自己手動添加配置。guest_enable=YES設定啟用虛擬用戶功能。
guest_username=overlord指定虛擬用戶的宿主用戶。virtual_use_local_privs=YES設定虛擬用戶的權限符合他們的宿主用戶。user_config_dir=/etc/vsftpd/vconf設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄里,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的地方就是這些配置文件名必須和虛擬用戶名相同。保存退出。
“CentOS vsftp怎么安裝系統帳戶與配置文件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。