linuxftp服務配置
一. FTP 說明
linux 系統下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 還有一個是proftp(Profession ftp)。 我們這里也是簡單的說明下vsftp的配置。
vsftp提供3種遠程的登錄方式:
(1)匿名登錄方式
就是不需要用戶名,密碼。就能登錄到伺服器電腦裡面
(2)本地用戶方式
需要帳戶名和密碼才能登錄。而且,這個帳戶名和密碼,都是在你linux系統裡面,已經有的用戶。
(3)虛擬用戶方式
同樣需要用戶名和密碼才能登錄。但是和上面的區別就是,這個用戶名和密碼,在你linux系統中是沒有的(沒有該用戶帳號)
二. Vsftp的安裝配置
2.1 安裝
vsftp 的安裝包,可以在安裝里找到。 用yum 安裝過程也很簡單。
安裝命令:yum install vsftpd
2.2. 相關命令
2.2.1 啟動與關閉
[root@singledb ~]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@singledb ~]# service vsftpd stop
Shutting down vsftpd: [ OK ]
[root@singledb ~]# service vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]
[root@singledb ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [FAILED]
[root@singledb ~]# /etc/init.d/vsftpd stop
Shutting down vsftpd: [ OK ]
[root@singledb ~]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]
[root@singledb ~]# /etc/init.d/vsftpd status
vsftpd (pid 3931) is running...
[root@singledb ~]#
2.2.2. 其他命令
--查看vsftpd 啟動狀態
[root@singledb ~]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@singledb ~]# chkconfig vsftpd on
[root@singledb ~]# chkconfig --list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
這里看到,默認情況下從2到5設置為on了。2到5是多用戶級別。 這個對應的是linux不同的運行級別。
我們也可以加level 選項來指定:
[root@singledb ~]# chkconfig --level 0 vsftpd on
[root@singledb ~]# chkconfig --list vsftpd
vsftpd 0:on 1:off 2:on 3:on 4:on 5:on 6:off
我們看到0已經設置為on了。
我們可以使用man chkconfig 來查看幫助:
--level levels
Specifies the run levels an operation should pertain to. It is given as a string of numbers from 0 to 7. For example, --level 35 specifies runlevels 3 and 5.
傳統的init 定義了7個運行級(run level),每一個級別都代表系統應該補充運行的某些特定服務:
(1)0級是完全關閉系統的級別
(2)1級或者S級代表單用戶模式
(3)2-5 級 是多用戶級別
(4)6級 是 重新引導的級別
(1)查看防火牆
我一般都是把系統的防火牆關閉了。 因為開了會有很多限制。
[root@singledb ~]# /etc/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
3 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
You have new mail in /var/spool/mail/root
--添加開放21號埠:
[root@singledb ~]# /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
[root@singledb ~]# /etc/init.d/iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
2 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED
2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
--保存配置
[root@singledb ~]# /etc/rc.d/init.d/iptables save
Saving firewall rules to /etc/sysconfig/iptables: [ OK ]
--重啟防火牆:
[root@singledb ~]# service iptables {start|stop|restart}
(2)查看關閉selinux
[root@singledb ~]# sestatus
SELinux status: disabled
我這里在安裝操作系統的時候就關閉了selinux,如果沒有關閉,可以修改如下文件來關閉:
[root@singledb ~]# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
[root@singledb ~]#
保存退出並重啟系統reboot
三. FTP配置文件
FTP 安裝好之後,在/etc/vsftpd/目錄下會有如下文件:
[root@singledb ~]# cd /etc/vsftpd/
[root@singledb vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@singledb vsftpd]#
vsftpd.conf: 主配置文件
ftpusers: 指定哪些用戶不能訪問FTP伺服器
user_list: 指定的用戶是否可以訪問ftp伺服器由vsftpd.conf文件中的userlist_deny的取值來決定。
[root@singledb vsftpd]# cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
我們過濾掉#的注釋後,查看一下vsftpd.conf 文件:
[root@singledb ftp]# cat /etc/vsftpd/vsftpd.conf |grep -v '^#';
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=yes
tcp_wrappers=YES
至於這些參數的意思,在注釋里有詳細的說明。
我們可以在vsftpd.conf 文件設置如下參數:
(1)ftpd_banner=welcome to ftp service :設置連接伺服器後的歡迎信息
(2)idle_session_timeout=60 :限制遠程的客戶機連接後,所建立的控制連接,在多長時間沒有做任何的操作就會中斷(秒)
(3)data_connection_timeout=120 :設置客戶機在進行數據傳輸時,設置空閑的數據中斷時間
(4)accept_timeout=60 設置在多長時間後自動建立連接
(5)connect_timeout=60 設置數據連接的最大激活時間,多長時間斷開,為別人所使用;
(6)max_clients=200 指明伺服器總的客戶並發連接數為200
(7)max_per_ip=3 指明每個客戶機的最大連接數為3
(8)local_max_rate=50000(50kbytes/sec) 本地用戶最大傳輸速率限制
(9)anon_max_rate=30000匿名用戶的最大傳輸速率限制
(10)pasv_min_port=埠
(11)pasv-max-prot=埠號 定義最大與最小埠,為0表示任意埠;為客戶端連接指明埠;
(12)listen_address=IP地址 設置ftp服務來監聽的地址,客戶端可以用哪個地址來連接;
(13)listen_port=埠號 設置FTP工作的埠號,默認的為21
(14)chroot_local_user=YES 設置所有的本地用戶可以chroot
(15)chroot_local_user=NO 設置指定用戶能夠chroot
(16)chroot_list_enable=YES
(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用戶才能執行 )
(18)local_root=path 無論哪個用戶都能登錄的用戶,定義登錄帳號的主目錄, 若沒有指定,則每一個用戶則進入到個人用戶主目錄;
(19)chroot_local_user=yes/no 是否鎖定本地系統帳號用戶主目錄(所有);鎖定後,用戶只能訪問用戶的主目錄/home/user,不能利用cd命令向上轉;只能向下;
(20)chroot_list_enable=yes/no 鎖定指定文件中用戶的主目錄(部分),文件:/chroot_list_file=path 中指定;
(21)userlist_enable=YES/NO 是否載入用戶列表文件;
(22)userlist_deny=YES 表示上面所載入的用戶是否允許拒絕登錄;
(23)userlist_file=/etc/vsftpd/user_list 列表文件
限制IP 訪問FTP:
#vi /etc/hosts.allow
vsftpd:192.168.5.128:DENY 設置該IP地址不可以訪問ftp服務
FTP 訪問時間限制:
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd
#vi /etc/xinetd.d/vsftpd/
修改 disable = no
access_time = hour:min-hour:min (添加配置訪問的時間限制(註:與vsftpd.conf中listen=NO相對應)
例: access_time = 8:30-11:30 17:30-21:30 表示只有這兩個時間段可以訪問ftp
ftp的配置基本上只有這些了。
默認情況下,ftp根目錄是/var/ftp。 如果要修改這個目錄位置,可以更改/etc/passwd 文件:
[root@singledb ftp]# cat /etc/passwd | grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
創建一個用戶來訪問FTP,並指定該用戶的FTP 目錄:
[root@singledb u02]# useradd -d /u02/qsftp qs
[root@singledb u02]# passwd qs
Changing password for user qs.
New UNIX password:
BAD PASSWORD: it is WAY too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
這里指定的是/u02/qsftp 這個目錄,要注意個目錄的許可權。
更改用戶不能telnet,只能ftp:
usermod -s /sbin/nologin username //用戶只能ftp,不能telnet
usermod -s /sbin/bash username //用戶恢復正常
禁止用戶ssh登陸
useradd username -s /bin/false
更改用戶主目錄:
usermod -d /bbb username //把用戶的主目錄定為/bbb
然後用qs這個用戶就可以訪問了。
以上只是一些簡單的設置。 在用戶許可權這塊還有很多內容可以研究。 比如特定用戶的特定許可權。 安全性等。 以後在研究了。
『貳』 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資源了。
『叄』 實現Linux上的FTP許可權控制linux設置ftp許可權
隨著工作和生活的全面進行,FTP的使用越來越多,這也使得在Linux上使用FTP變得不可避免,因為如果沒有恰當的FTP許可權控制,未經授權的訪問者可能會破壞系統或損壞數據。
在Linux上實現FTP許可權控制,最常用的方式就是使用vsftpd伺服器軟體,但必須實現特定的設置,才能有效地實現FTP許可權控制。
事實上,VSFTPD的安裝並不難,一般情況下可以使用一行命令實現安裝,例如:
sudo apt-get install vsftpd
此外,在配置/etc/vsftpd.conf文件中,也需要進行一些必要的設置:
# 定義匿名用戶和本地用戶的工作目錄
anon_root=/var/ftp
local_root=/home/username
# 設置允許本地用戶登錄
local_enable=YES
# 設置可以使用各自的ftp文件夾
chroot_local_user=YES
# 禁止匿名用戶下載
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
# 設置不允許lfs(本地文件訪問)
ls_recurse_enable=NO
完成上述配置後,重新啟動vsftpd服務,使其生效:
sudo service vsftpd restart
可以看到,要在Linux上實現FTP許可權控制,使用vsftpd伺服器軟體就已經足夠了,而且安裝和配置都不難。如果想知道更多關於FTP的使用方法,也可以參考其他文檔資料,進一步了解。
『肆』 linux系統ftp共享文件怎麼設置
linux系統也是很常見的一種,應用十分廣泛,而且linux系統下的ftp共享文件讓很多人所青睞,確實很實用,那麼linux系統ftp共享文件怎麼設置?
在linux中添加ftp用戶,並設置相應的許可權,操作步驟如下面綠色字體所示(一個機器上只要裝了ftp服務,可以任意創建一個用戶去訪問本伺服器上的任意一個目錄,這個目錄只要按下面的步驟進行配置即可,然後重啟ftp服務即可):
1、環境:ftp為vsftp。被限制用戶名為test。被限制路徑為/home/ftp
2、建用戶:在root用戶下:
useradd -d /home/ftp test //增加用戶test,並制定test用戶的主目錄為/home/ftp
passwd test //為test設置密碼
3、更改用戶相應的許可權設置:(對於一般情況,簡單添加一個用戶的話,這一步,可以不要!!一般情況下,配置ftp也不需要這一步)
usermod -s /sbin/nologin test //限定用戶test不能telnet,只能ftp
usermod -s /bin/bash test //用戶test恢復正常
usermod -d /test test //更改用戶test的主目錄為/test
4,修改/etc/vsftpd/vsftpd.conf文件如下:
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
最後在該文件的最後面添加如下行:
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/vsftpd.user_list
最後保存/etc/vsftpd/vsftpd.conf文件。
5、限制用戶只能訪問/home/test,不能訪問其他路徑
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES //限制訪問自身目錄
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
編輯/etc/vsftpd/vsftpd.chroot_list文件,將受限制的用戶添加進去,每個用戶名一行
添加後如下:
test /home/ftp
編輯 /etc/vsftpd/vsftpd.user_list文件,將受限制的用戶添加進去,每個用戶名一行
添加後如下:
test
改完配置文件,不要忘記重啟vsFTPd伺服器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart
啟動後,在進行測試,使用本地用戶test及其密碼登錄,成功。
如果此時還不能執行寫操作或登錄時出現其它錯誤,則要查看test用戶對應的文件夾/home/ftp,test用戶是否有對此文件夾的寫許可權。
6、如果需要允許用戶修改密碼,但是又沒有telnet登錄系統的許可權:(對於一般情況,簡單添加一個用戶的話,這一步,可以不要!!一般情況下,配置ftp也不需要這一步)
usermod -s /usr/bin/passwd test //用戶telnet後將直接進入改密界面
至此,我們就可以用新添加的用戶test,登錄ftp了。
以上就是對其linux系統ftp共享文件怎麼設置的詳細介紹,如果你對這些信息泄露安全小知識不了解,那麼可以關注倍領安全網,多了解文件共享有哪些方式方法等知識。
『伍』 linux配置ftp伺服器的過程
第一步:打開終端(快捷鍵是Ctrl+Alt+t),如果當前用戶不是root用戶,請輸入命令「su」,然後輸入root賬戶密碼即可;
第二步:輸入命令「apt-get update」,這一步是為了更新下載的數據源,如果不更新可能造成有幾個後面的軟體包無法下載;
第三步:輸入命令「apt-get install vsftpd」完成安裝vsftpd;
第四步:判斷vsftp是否安裝成功,輸入命令「service vsftpd restart」重啟vsftpd服務,如果他在運行狀態說明安裝成功;
第五步:新建「/home/uftp」目錄作為用戶主目錄,輸入命令「mkdir /home/uftp」回車 ,然後輸入命令「ls /home」查看home目錄下有uftp這個目錄嗎,如果有就是創建成功;
第六步:新建用戶uftp並且設置密碼,輸入命令「useradd -d /home/uftp -s /bin/bash uftp」
回車,然後再輸入命令「passwd uftp」回車,然後輸入兩次密碼就設置ok了
第七步:使用vi修改配置文件/etc/vsftpd.conf,輸入命令「vi /etc/vsftpd.conf」回車,
向文件中添加「userlist_deny=NO」」userlist_enable=YES」?, 「userlist_file=/etc/allowed_users」?,
「seccomp_sandbox=NO」,最後把文件中的「local_enable=YES」保存(如果提示無法保存,直接退出來,把讀寫和執行許可權給這個文件,具體操作為:輸入命令: 「chmod 777 /etc/vsftpd.conf」回車就可以了);
第八步:新建文件/etc/allowed_users,輸入命令「vi /etc/allowed_users」,打開後再這個文件內寫入「uftp」保存即可;《Linux就該這么學》
第九步:查看/etc/ftpusers文件(不能訪問ftp服務用戶清單)的內容,輸入命令「vi /etc/ftpusers」回車,如果裡面有uftp,就把他刪除;
第十步:安裝winscp軟體,進行遠程登錄訪問;下載直接在網路下載就行
『陸』 linux ftp伺服器搭建
搭建Linux FTP伺服器教程
首先,安裝並配置FTP伺服器軟體vsftpd:
- 執行`yum install vsftpd`安裝vsftpd服務
接著,對配置文件進行設置:
- 打開`/etc/vsftpd/vsftpd.conf`進行基本配置
- 在`/etc/vsftpd/ftpusers`中管理用戶登錄許可權,例如,注釋掉root用戶以禁用其登錄
- 檢查`/etc/vsftpd/usr_list`確保正確用戶可登錄
為了保障安全性,禁止用戶隨意切換目錄:
- 在`/etc/vsftpd/vsftpd.conf`中啟用`chroot_local_user=YES`以限制用戶
- 創建`/etc/vsftpd/chroot_list`來指定可切換目錄的用戶
設置歡迎信息和文件傳輸速度限制:
- 編輯`/etc/vsftpd/vsftpd.conf`中的`vsftpd_banner_file`以定製歡迎信息
- 根據需要調整`/etc/vsftpd/vsftpd.conf`中的速度限制
支持實體用戶訪問時,可以使用文本或資料庫方式配置:
- 文本方式:安裝相關依賴,如`db4`,並使用`db_load`生成vsftpd_login.db
- 資料庫方式:安裝MySQL,創建vsftpd資料庫並授權用戶
最後,為不同用戶分配不同的許可權:
- 創建`/etc/vsftpd/vsftpd_user_conf`以管理各個用戶配置
- 設置用戶家目錄的文件夾許可權,如上傳到`ftp`和`protect`目錄
通過以上步驟,你將成功搭建並管理Linux FTP伺服器。如有進一步疑問,可以參考相關教程獲取更多幫助。
『柒』 linux怎麼配置ftp伺服器
一、下載vsftpd軟體
sudo apt-get install vsftpd
我這里已經是安裝過了
4、在文件末尾插入
pasv_min_port=10060
pasv_max_port=10090
此為vsftpd被動模式(pasv)的埠范圍
5、保存退出
三、添加FTP用戶
1、在一個合適的地方創建文件夾,這個文件夾作為用戶的根目錄,並設置好許可權。例如:/home/ubuntu/ftp
2、執行如下語句添加用戶(username為用戶名)
sudo useradd -d /home/ubuntu/ftp -s /bin/bash username
3、執行如下語句設置密碼(username為用戶名)
sudo passwd username
四、啟動ftp服務
sudo service vsftpd start
五、Enjoy!