centosftp伺服器設置參數
❶ 如何在Centos下安裝ftp伺服器
一:安裝vsftpd
查看是否已經安裝vsftpd
2
二:基於虛擬用戶的配置
所謂虛擬用戶就是沒有使用真實的帳戶,只是通過映射到真實帳戶和設置許可權的目的。虛擬用戶不能登錄CentOS系統。
修改配置文件
配置文件直接貼出來吧
3
三:使用Berkeley DB進行認證
yum install db4 db4-utils
然後,創建用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼
4
接著,生成虛擬用戶認證的db文件
編輯認證文件/etc/pam.d/vsftpd,全部注釋掉原來語句,再增加以下兩句:
最後,創建虛擬用戶配置文件
5
設置FTP根目錄許可權
最新的vsftpd要求對主目錄不能有寫的許可權所以ftp為755,主目錄下面的子目錄再設置777許可權
6
添加防火牆,把ftp的21埠開放 vi /etc/sysconfig/iptables
7
經過以上步驟我們就完成了ftp伺服器的搭建,讓我們暢游ftp吧
❷ centos ftp伺服器怎麼設置用戶許可權,要求 : 1.admin 所有許可權 2.userA 只能上傳 3.userB 只能下載
首先你要弄清楚vsftpd的驗證方式有三種
匿名訪問:任何人無需驗證口令即可登入FTP服務端。
本地用戶:使用FTP伺服器中的用戶、密碼信息。
虛擬用戶:創建獨立的FTP帳號資料。
一般像你這種對許可權控制比較嚴格的話,要用虛擬用戶模式,下面是方法
第1步:建立虛擬FTP用戶資料庫文件。
切換至vsftpd程序目錄:cd /etc/vsftpd/
創建用於生成FTP用戶資料庫的原始帳號和密碼文件:vim vuser.list
//單數行為帳號,雙數行為密碼。
userA
passwdA
userB
passwdB
admin
passwdadmin
使用db_load命令用HASH演算法生成FTP用戶資料庫文件vuser.db:
db_load -T -t hash -f vuser.list vuser.db
FTP用戶資料庫內容很敏感,所以許可權給小一些:chmod 600 vuser.db
刪除原始的帳號和密碼文件:rm -f vuser.list
第2步:創建FTP根目錄及虛擬用戶映射的系統用戶。
創建用戶virtual並設置為不允許登陸系統並定義該用戶的家目錄:
useradd -d /var/ftproot -s /sbin/nologin virtual
為保證其他用戶可以訪問,給予rwxr-xr-x許可權:chmod -Rf 755 /var/ftproot/
第3步:建立支持虛擬用戶的PAM認證文件:
vim /etc/pam.d/vsftpd.vu
//參數db用於指向剛剛生成的vuser.db文件,但不要寫後綴。
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
第4步:在vsftpd.conf文件中添加支持配置。
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO 禁止匿名開放模式。
local_enable=YES 允許本地用戶模式。
guest_enable=YES 開啟虛擬用戶模式。
guest_username=virtual 指定虛擬用戶帳號。
pam_service_name=vsftpd.vu 指定pam文件。
allow_writeable_chroot=YES 允許禁錮的FTP根目錄可寫而不拒絕用戶登入請求。
第5步:為虛擬用戶設置不同的許可權
現在不論是userA還是userB帳戶,他們的許可權都是相同的——默認不能上傳、創建、修改文件
指定用戶獨立的許可權配置文件存放的目錄:
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers_dir
創建用戶獨立的許可權配置文件存放的目錄:
mkdir /etc/vsftpd/vusers_dir/
切換進入到該目錄中:cd /etc/vsftpd/vusers_dir/
創建userA的配置文件:
vim userA
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_download_enable=NO
創建userB的配置文件:
vim userB
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_download_enable=YES
創建admin的配置文件
vim admin
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_download_enable=YES
第6步:重啟vsftpd服務,驗證實驗效果。
systemctl restart vsftpd
如果出現操作被拒絕,考慮selinux的因素
❸ CentOS下安裝使用FTP伺服器端程序ProFTPd的教程
安裝:
安裝EPEL軟體包
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
YUM安裝ProFTPd
復制代碼代碼如下:
yum install proftpd
PS:編譯安裝ProFTPd的方法
復制代碼代碼如下:
wget ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.proftpd.net/distrib/source/proftpd-1.3.1.tar.gz
tar xzvf proftpd-1.3.1.tar.gz
cd proftpd-1.3.1
./configure --with-moles=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql
--with-includes=/usr/include/mysql
--with-libraries=/usr/lib/mysql
make && make install
設置開機啟動
chkconfig --level 3 proftpd on
ProFTPd管理:
啟動
復制代碼代碼如下:proftpd:service proftpd start
停止
復制代碼代碼如下:proftpd:service proftpd stop
重啟
復制代碼代碼如下:proftpd:service proftpd restart
重載
復制代碼代碼如下:proftpd:service proftpd reload
配置文件/etc/proftpd.conf,可以通過proftpd -t6指令檢測語法是否正確。
添加ftp用戶和用戶組
groupadd -g 5500 ftpgroup
adser -u 5500 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
添加虛擬用戶
首先我們需要設置配置文件/etc/proftpd.conf。
添加下面代碼進配置文件:
AuthUserFile /etc/ftpd.passwd
AuthGroupFile /etc/ftpd.group
關閉檢測/etc/shells:
復制代碼代碼如下:
RequireValidShell off
設置僅使用虛擬用戶認證:
復制代碼代碼如下:
AuthOrder mod_auth_file.c
禁止PAM認證:
復制代碼代碼如下:
PersistentPasswd off
AuthPAM off
限制改變根目錄:
復制代碼代碼如下:
DefaulRoot ~
按照上面的要求設置好配置文件後,我們使用ftpasswd工具來添加虛擬用戶,首先下載這個工具。
復制代碼代碼如下:
cd /usr/sbin/
wget http://www.castaglia.org/proftpd/contrib/ftpasswd
chmod +x ftpasswd
ftpasswd工具的格式如下:
復制代碼代碼如下:
# ftpasswd --passwd --name {username} --file /etc/ftpd.passwd --uid {5000} --gid {5000} --home /var/ftp/username-home/ --shell /bin/false
# ftpasswd --group --name group1 –file /etc/ftpd.group --gid 5000 --member username
❹ linux 伺服器 centos5.5 FTP如何建立用戶配置許可權 A用戶能夠下載 B用戶能夠訪問 C用戶能夠上傳下載。急
1、ftp伺服器只要你啟用了匿名用戶訪問ftp伺服器,就有訪問的許可權,許可權只有查看,不能上傳下載修改,所以你的B用戶匿名登錄就行了;本地用戶只要在配置文件增加本地用戶能下載,就有查看、下載的許可權,但不能寫入,即不能上傳、修改文件目錄之類,所以A用戶以自己名字登錄就行了;C用戶能上傳下載,就要在前面的基礎上,給他單獨設立許可權了,用訪問控制列表設許可權。步驟如下:
2、修改配置文件
#vim/etc/vsftpd/vsftpd.conf#下面沒有的就添加,注意匿名用戶許可權不要太大
anonymouse_enable=YES#啟用匿名用戶
download_enable=YES#本地用戶可下載
local_root=/var/ftp#修改本地用戶ftp根目錄,默認本地用戶只能訪問自己的家目,你可以根據自己情況修改
3、給C用戶單獨設立許可權,用setfacl命令設訪問控制
#setfacl-mu:C:rwx/var/ftp/
-m 增加一條策略
u 表示是給用戶設立許可權,另外一個是 g ,給組;
C C用戶
rwx 表示所有許可權,一定是這個,才能有下載上傳許可權
後面那個是ftp目錄
4、登錄
B用戶以匿名登錄;
A和C以自己的系統賬戶密碼登錄,會有相應的許可權的。。
你應該對vsftpd的配置文件不熟,去網上找份詳解,自己慢慢研究
祝你好運~~~
❺ CentOS53系統設置vsftpd虛擬用戶的具體步驟
我們登錄FTP有三種方式,匿名登錄、本地用戶登錄和虛擬用戶登錄。
匿名登錄:在登錄FTP時使用默認的用戶名,一般是ftp或anonymous。
本地用戶登錄:使用系統用戶登錄,在/etc/passwd中。
虛擬用戶登錄:這是FTP專有用戶,有兩種方式實現虛擬用戶,本地數據文件和資料庫伺服器。
FTP虛擬用戶是FTP伺服器的專有用戶,使用虛擬用戶登錄FTP,只能訪問FTP伺服器提供的資源,大大增強了系統的安全。
本文的Linux系統是CentOS 5.3
yum -y install vsftpd
一、建立Vsftpd虛擬用戶:
1、添加虛擬用戶口令文件安裝Vsftpd
[[email protected] ~]#vi /etc/vsftpd/vftpuser.txt
添加虛擬用戶名和密碼,一行用戶名,一行密碼,以此類推。奇數行為用戶名,偶數行為密碼。
ftp1 #用戶名
123456 #密碼
ftp2 #用戶名
123456 #密碼
2、生成虛擬用戶口令認證文件
將剛添加的vftpuser.txt虛擬用戶口令文件轉換成系統識別的口令認證文件。
首先查看系統有沒有安裝生成口令認證文件所需的軟體db4-utils。
下面使用db_load命令生成虛擬用戶口令認證文件。
[[email protected] ~]# db_load -T -t hash -f /home/vuser.txt /etc/vsftpd_login.db
-bash: db_load: command not found
###############################
出現沒有db_load的提示是因為有些db4的包沒有安裝,需要安裝下列包:
db4-*.rpm
db4-tcl-*.rpm
db4-utils-*.rpm
或者直接: yum -y install db4 db4-tcl db4-utils
db_load命令主要是用來生成db資料庫使用的
格式:
db_load -T -t hash -f passwd.txt /etc/vsftpd/user_passwd.db
生成一個hash碼型的資料庫文件供ftp虛擬用戶使用。
##########################
[[email protected] ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
3、編輯vsftpd的PAM認證文件
在/etc/pam.d目錄下,
[[email protected] ~]#vi /etc/pam.d/vsftpd
將裡面其他的都注釋掉,添加下面這兩行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
4、建立本地映射用戶並設置宿主目錄許可權
所有的FTP虛擬用戶需要使用一個系統用戶,這個系統用戶不需要密碼。
[[email protected] ~]#useradd -d /home/vftpsite -s /sbin/nologin vftpuser
[[email protected] ~]#chmod 755 /home/vftpsite //網上為700,設置為700後FTP用戶無上傳許可權
5、配置vsftpd.conf(設置虛擬用戶配置項)
[[email protected] ~]#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #開啟虛擬用戶
guest_username=vftpuser #FTP虛擬用戶對應的系統用戶[useradd -d /home/vftpsite -s
/sbin/nologin vftpuser]
pam_service_name=vsftpd #PAM認證文件
6、重啟vsftpd服務
[[email protected] ~]#service vsftpd restart
7、測試虛擬用戶登錄FTP
C:Documents and SettingsAdministrator>ftp 192.168.2.12
Connected to 192.168.2.12.
220 (vsFTPd 2.0.5)
User (192.168.2.12:(none)): ftp1
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/vftpsiteConnection closed by remote host
.//在配置vsftpd的時候連接vsftpd出現了500 OOPS: cannot change directory:/home/vftpsite
的錯誤,vftpsite為登錄時使用的本地用戶名。
解決辦法:
[[email protected] ~]# setsebool -P ftp_home_dir on
也有網上說在終端輸入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
就OK了!
測試:
C:Documents and SettingsAdministrator>ftp 192.168.2.12
Connected to 192.168.2.12.
220 (vsFTPd 2.0.5)
User (192.168.2.12:(none)): ftp1
331 Please specify the password.
Password:
230 Login successful.
二、虛擬用戶高級設置:
1、virtual_use_local_privs參數
當virtual_use_local_privs=YES時,虛擬用戶和本地用戶有相同的許可權;
當virtual_use_local_privs=NO時,虛擬用戶和匿名用戶有相同的許可權,默認是NO。
當virtual_use_local_privs=YES,write_enable=YES時,虛擬用戶具有寫許可權(上傳、下載、刪除
、重命名)。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,
anon_upload_enable=YES時,虛擬用戶不能瀏覽目錄,只能上傳文件,無其他許可權。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=NO時,虛擬用戶只能下載文件,無其他許可權。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_upload_enable=YES時,虛擬用戶只能上傳和下載文件,無其他許可權。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_mkdir_write_enable=YES時,虛擬用戶只能下載文件和創建文件夾,無其他許可權。
當virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,
anon_other_write_enable=YES時,虛擬用戶只能下載、刪除和重命名文件,無其他許可權。
2. 建立各個虛擬用戶自身的配置文件
[[email protected] ~]#vi /etc/vsftpd/vsftpd.conf
添加:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
[[email protected] ~]#mkdir /etc/vsftpd/vsftpd_user_conf
編輯ftp1的配置文件
[[email protected] ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1
添加:
anon_world_readable_only=NO #開放ftp1的下載許可權(只能下載)。注意這個地方千萬不能寫成YES
,否則ftp1將不能列出文件和目錄。
編輯ftp2的配置文件
[[email protected] ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp2
添加:
write_enable=YES #開放ftp2的寫許可權
anon_world_readable_only=NO #開放ftp2的下載許可權
anon_upload_enable=YES #開放ftp2的上傳許可權
anon_mkdir_write_enable=YES #開放ftp2創建目錄的許可權
anon_other_write_enable=YES #開放ftp2刪除和重命名的許可權
3、所有虛擬用戶使用一般配置
[[email protected] ~]#vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
anon_world_readable_only=NO #可以下載
anon_upload_enable=NO(默認值) #不能上傳
anon_mkdir_write_enable=NO(默認值) #不能新建文件夾
anon_other_write_enable=NO(默認值) #不能刪除和重命名文件
ftpd_banner=Welcome to yoozhu FTP server
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
tcp_wrappers=NO
setproctitle_enable=YES
listen_port=21
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
4、各個虛擬用戶使用自身配置
[[email protected] ~]#vi /etc/vsftpd/vsftpd.conf
write_enable=YES
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=vftpuser
virtual_use_local_privs=NO
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf #設定用戶配置文件存放目錄
ftpd_banner=Welcome to yoozhu FTP server
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
tcp_wrappers=NO
setproctitle_enable=YES
listen_port=21
connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=0
max_per_ip=3
local_max_rate=512000
[[email protected] ~]#mkdir /etc/vsftpd/vsftpd_user_conf
編輯ftp1的配置文件
[[email protected] ~]#vi /etc/vsftpd/vsftpd_user_conf/ftp1
anon_world_readable_only=NO
編輯ftp2的配置文件
[root@CentOS5 /]#vi /etc/vsftpd/vsftpd_user_conf/ftp2
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
❻ CentOS安裝vsftp建新用戶的方法
rpm -qa | grep vsftpd 查看有沒有安裝vsftp
運行命令開始安裝
yum -y install vsftpd
centos會自動下載安裝。
安裝完畢後
設置每次開機時自動運行
chkconfig vsftpd on
手工啟動
service vsftpd start
可以通過 netstat -tl查看是否在監聽21埠。
建新用戶
# useradd –d /var/www -g ftp –s /sbin/nologin myftp
說明:
-s /sbin/nologin 是讓其不能登陸系統
-d 是指定用戶目錄為/var/www ,這里可以替換成任何你需要的目錄。
-g ftp 把用戶加入到ftp組中(vsftp已創建)
myftp是ftp用戶名,在配置時把這個myftp換成你的ftp用戶名。
執行該命令後,如果出現這樣的錯誤提示:
useradd: warning: the home directory already exists.
Not ing any file from skel directory into it.
這說明用戶的目錄已經存在(/var/www,這個可以是任何你設定的目錄),不可再新建此目錄,並非添加用戶失敗,可以忽略。
特別提醒:用useradd建立的用戶,如果後面不加–s /sbin/nologin參數,建立的用戶為普通系統用戶,有系統登陸centos伺服器的許可權,在虛擬主機環境下,這非常危險。所以要在useradd命令後面加上參數–s /sbin/nologin,為centos 伺服器虛擬主機添加不可以登錄系統的ftp專用賬號(虛擬賬戶)
設置密碼
# passwd myftp
提示:重復輸入2次
修改/var/www目錄屬性:(或任何自己定義的目錄)
# chown -R myftp /var/www 遞歸把所有目錄及文件的擁有者設為新添加的ftp用戶
# chmod -R 755 /var/www 遞歸地設置擁護者全部許可權,其他用戶只有讀取和執行許可權
這樣,如果網站運行時需要有寫入許可權,可以直接通過ftp的用戶名來修改。
配置文件 /etc/vsftpd/vsftpd.conf
設置帳戶只能訪問自己的目錄,也就是上面建用戶的時候設置的目錄–d /var/www
Chroot_local_user=yes
重啟 vsftpd服務
# service vsftpd restart
❼ CentOs ftp 設置用戶訪問指定目錄
使用root賬號登錄centos系統
檢查是否已安裝vsftp
rpm -qa |grep vsftpd #未輸出信息,表示未安裝vsftp通過yum安裝vsftp
yum -y install vsftpdftp啟動、重啟、停止、狀態查詢命令
service vsftpd start #啟動ftpservice vsftpd stop #停止ftpservice vsftpd restart #重啟ftpservice vsftpd status #查詢ftp狀態設置為開機啟動(可設置)
chkconfig vsftpd on設置配置文件
vi /etc/vsftpd/vsftpd.conf修改如下內容:
anonymous_enable=NO #設置不允許匿名賬戶登錄chroot_local_user=YES #所有用戶限制在主目錄中chroot_list_enable=NO #不啟動限制用戶名單,直接限制所有用戶userlist_enable=NO #當為YES時只有userlist_file文件中指定的用戶才能登錄allow_writeable_chroot=YES #(在文件尾部新增)防止用戶有寫入許可權時報錯local_root=/home/www #(在文件尾部新增)設置用戶的根目錄重啟ftp
service vsftpd restart創建ftp用戶
創建用戶組
groupadd ftpgroups創建用戶
# useradd 添加用戶命令 -d /home/www 指定用戶根目錄 -g ftpgroups 加入用戶組 ftptest用戶名useradd -d /home/www -g ftpgroups ftptest設置用戶密碼
passwd ftptest # passwd(命令) ftptest(用戶名,根據你實際情況寫)設置不允許用於系統登錄
usermod -s /sbin/nologin ftptest #ftptest(用戶名,根據你實際情況寫)設置文件許可權
chmod 755 /home/www設置目錄擁有者
chown -R ftptest:root /home/www #ftptest:ftp用戶名 ; /home/www:文件目錄設置防火牆
systemctl status firewalld
查看防火牆狀態,如果未啟動,直接跳過本步驟開放20、21埠(阿里雲伺服器還需配置安全組開放防火牆)
firewall-cmd --permanent --zone=public --add-port=20/tcpfirewall-cmd --permanent --zone=public --add-port=20/udpfirewall-cmd --permanent --zone=public --add-port=21/tcpfirewall-cmd --permanent --zone=public --add-port=21/udpfirewall-cmd --reload #重新載入至此ftp服務安裝成功,如果出現不能訪問或不能寫入的情況,就還需要設置SELinux(關閉)
sestatus -v #查看SELinux狀態,如果SELinux status參數為enabled即為開啟狀態setenforce 0 #臨時關閉(不用重啟機器)
❽ linux(CentOS7) FTP伺服器配置用戶
要為CentOS 7系統配置FTP伺服器並添加用戶,首先,執行以下步驟:
1. 在終端中,創建一個新的FTP用戶並設置密碼:
bash
sudo useradd -m -s /sbin/nologin ftpuser
sudo passwd ftpuser
2. 打開FTP伺服器配置文件`vsftpd.conf`:
bash
sudo vi /etc/vsftpd/vsftpd.conf
然後,修改相關配置,如允許特定用戶訪問:
bash
anonymous_enable=NO
user_list_enable=YES
user_list_deny=NO
user_list_file=/etc/vsftpd/user_list
3. 接著,編輯`user_list`文件,添加新創建的用戶:
bash
sudo vi /etc/vsftpd/user_list
ftpuser:localhost,127.0.0.1
保存並關閉文件後,重啟FTP伺服器以應用更改:
bash
sudo systemctl restart vsftpd
4. 確保配置無誤,使用FTP客戶端如Xftp進行連接測試:
點擊"新建連接",輸入伺服器的IP地址、默認的FTP埠號(通常是21),用戶名為`ftpuser`,以及剛才設置的密碼。
如果連接成功,您會看到連接狀態欄顯示為綠色小圓點,表示連接已建立。
至此,CentOS 7的FTP伺服器用戶配置已完成,現在您可以使用新創建的`ftpuser`賬戶登錄並管理FTP資源了。