而是在Linux的系統帳戶裡面配置的因此通常在使用前需創建新的系統使用者
系統中的使用者都有其歸屬的群組,就像windows的帳戶也分成某些群組一樣
通常我們會先創立一個群組 僅供 FTP使用者使用
使用以下指令創建新的群組 ,必要時加上sudo groupadd <groupname> ex: groupadd ftpusers
然後在這個群組中新增一個使用者:
sudo useradd -g <主群組> -m -s <shell path> <account> sudo useradd -g ftpusers -m -s /bin/false ftpuser1
-g表示帳戶所屬的主要群組
-m表示要建立使用者的根目錄
-s為設定使用者登入時所用的shell,/bin/false 這個設定可以讓使用者不需要具有『能夠執行的 shell 』,但仍能使用ftp
詳細 useradd 參數 請自行Google
創建好之後我們就要為該帳戶設置一個密碼了:
使用passwd <account> 來設定密碼
passwd <account>
passwd ftpuser1
執行該命令後按提示輸入兩次密碼即可完成帳戶的密碼設置。
FTP帳戶的添加算是完成了
<p.s>刪除帳戶的指令是userdel,修改帳戶的指令是usermod命令
帳戶的相關文件路徑為/ etc / passwd 中。 沒事可以去 cat 一下
以下為proftp.conf設定 @為自訂
#參數解釋
# ServerName :當使用者登入主機的時候,proftpd 會顯示在 Client 端 的 FTP 軟體的一些基本訊息啦!
# ServerType :啟動 proftpd 的方法,有兩種方式,分別是 standalone與 inetd ,假設是以 super daemon 啟動的,設定為 inetd,獨立啟動(不透過 xinetd ) 就設定為 standalone
# DefaultServer:預設的主機啊!這個項目可以設定為 on 或 off ,基本上, 除非有兩個 IP 或者是設定了虛擬主機 (virtualhost),否則這個項目都要設定為 on。
# Port :設定主機的 FTP 命令通道埠口!FTP port通常為 21 ,也可以更改,不過,這個設定只有當ServerType 為 standalone 時才有效!若為 inetd 則與 xientd 及/etc/services 有關port 設定請參考鳥哥的網站
# Umask :與建立目錄及檔案的預設屬性有關的設定,用 022 就行了
# MaxInstances:同一時間允許的連線數目,這個設定項目與 process (PID) 有關, FTP 主機中,proftpd 啟用的 process 最多能有30個,與 MaxClients 有所區別。
# User 與 Group:proftpd 預設的服務啟動者!後面接的使用者與群組必須在 /etc/passwd 與 /etc/group 裡面存在。
ServerName "@name"
ServerType @standalone || inetd //standalone
DefaultServer on
Port 21
User nobody
Group nogroup
TimesGMT off
# 所謂的 GMT 時間就是格林威治時間,
# 詳細的時區觀念請參考後續的NTP伺服器
# 因為要使用本地時間,所以設為 off
#nobody 是系統中權限最小的使用者
MaxInstances 50 # 最多僅有 50 條 prftpd 的 PID
MaxClients 100 "很抱歉上線人數額滿了" # 最多允許 100 個使用者在線上
MaxClientsPerHost 5 # 同一個主機最多可以同時 5 個 FTP 連線
AllowStoreRestart on # 允許使用者上傳續傳,預設是 off
PassivePorts 65400 65420
# 後面接的是埠口,最小到最大的埠口共 21 個
# 其他與實體用戶較相關的設定值!
Umask 022
RootLogin off # 不許 root 登入,預設就是 off
RequireValidShell off
# 這個設定可以讓使用者不需要具有『能夠執行的 shell 』,例如讓
# ftpuser1 這個具有 /bin/false 的使用者,依然可以使用 ftp 喔!
##DefaultRoot ~ ftpusers
DefaultRoot /home/
# ~ 代表家目錄的意思。 DefaultRoot後面接的是『群組』
# 只要不屬於 ftpusers 這個群組的 User 可以離開自己的家目錄!
<Directory />
AllowOverwrite on
</Directory>
<Directory /home/ftp/public>
<Limit WRITE>
Denyall
</Limit>
</Directory>
# 上面的設定中,在根目錄內的所有目錄均具有可讀寫的權力,但是在
# /home/ftp/public 這個目錄中,不論 Linux 屬性為何,使用者均無法寫入,但可以瀏覽以及下載,在我們這個設定當中, ftpusers 這個群組無法離開家目錄,至於其他可以離開家目錄的使用者,到 /home/ftp/public 當中,也不具有寫入的權限!
==============================沒測過=====================================
# 底下則是 anonymous 的設定喔!
##<Anonymous /var/ftp>
# 底下為建立 Anonymous 在 Linux 系統下的 PID 權限擁有者!
# 此外,使用 UserAlias 將 nogoodbird 降級為 anonymous 的帳號!
## User ftp
## Group ftp
## UserAlias anonymous ftp
# UserAlias nogoodbird ftp
# 建立顯示的訊息給 anonymous 觀察用的!
## DisplayLogin welcome.msg
#giveup#DisplayFirstChdir .message
## MaxClients 30 "匿名登入者連線數已經飽和了!"
# 這個就重要啦!用來限制傳輸速率的吶!基本語法為:
# TransferRate (STOR|RETR) 速度(Kbytes/s) user 使用者
# STOR 為上傳而 RETR 為下載的意思!速度為 Kbytes/second 喔!
## TransferRate STOR 100 user anonymous,ftp # 單位為 KBytes/second
## TransferRate RETR 50 user anonymous,ftp
## <Limit WRITE>
## Denyall
## </Limit>
# 底下這個則僅與 upload 這個目錄以及其下的子目錄有關而已!
## <Directory /var/ftp/upload/*>
## <Limit READ>
## Denyall
## </Limit>
## <Limit WRITE>
## Allowall
## </Limit>
## </Directory>
##</Anonymous>
========================================================================
引用:鳥哥的Linux私房菜 Proftpd
然後 記得你的防火牆要把相關的port打開,還有如果你是躲在路由器後面 要記得NAT
沒有留言:
張貼留言