unix查看ftp密碼
Ⅰ ftp的常用命令和使用方法
FTP命令是Internet用戶使用最頻繁的命令之一,不論是在DOS還是UNIX操作系統下使用FTP,都會遇到大量的FTP內部命令。熟悉並靈活應用FTP的內部命令,可以大大方便使用者,並收到事半功倍之效。下面以Win9x的DOS窗口中的FTP命令為例,介紹一下其用法。(本站註:若想在純DOS下使用FTP命令,則需先載入網路設備如網卡或數據機的Packet驅動程序,再使用本站「網路工具」中的Wattcp FTP程序,其用法與下面介紹的類似,詳情請見本站的「DOS使用」欄目)
FTP的命令行格式為: ftp -v -d -i -n -g [主機名] ,其中
-v 顯示遠程伺服器的所有響應信息;
-n 限制ftp的自動登錄,即不使用;
.n etrc文件;
-d 使用調試方式;
-g 取消全局文件名。
FTP使用的內部命令如下(中括弧表示可選項):
1.![cmd[args]:在本地機中執行交互shell,exit回到ftp環境,如:!ls*.zip
2.$ macro-ame[args]: 執行宏定義macro-name。
3.account[password]: 提供登錄遠程系統成功後訪問系統資源所需的補充口令。
4.append local-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠程系統文件名,則使用本地文件名。
5.ascii:使用ascii類型傳輸方式。
6.bell:每個命令執行完畢後計算機響鈴一次。
7.bin:使用二進制文件傳輸方式。
8.bye:退出ftp會話過程。
9.case:在使用mget時,將遠程主機文件名中的大寫轉為小寫字母。
10.cd remote-dir:進入遠程主機目錄。
11.cp:進入遠程主機目錄的父目錄。
12.chmod mode file-name:將遠程主機文件file-name的存取方式設置為mode,如:chmod 777 a.out。
13.close:中斷與遠程伺服器的ftp會話(與open對應)。
14.cr:使用asscii方式傳輸文件時,將回車換行轉換為回行。
15.delete remote-file:刪除遠程主機文件。
16.debug[debug-value]:設置調試方式, 顯示發送至遠程主機的每條命令,如:deb up 3,若設為0,表示取消debug。
17.dir[remote-dir][local-file]:顯示遠程主機目錄,並將結果存入本地文件local-file。
18.disconnection:同close。
19.form format:將文件傳輸方式設置為format,預設為file方式。
20.get remote-file[local-file]: 將遠程主機的文件remote-file傳至本地硬碟的local-file。
21.glob:設置mdelete,mget,mput的文件名擴展,預設時不擴展文件名,同命令行的-g參數。
22.hash:每傳輸1024位元組,顯示一個hash符號(#)。
23.help[cmd]:顯示ftp內部命令cmd的幫助信息,如:help get。
24.idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。
25.image:設置二進制傳輸方式(同binary)。
26.lcd[dir]:將本地工作目錄切換至dir。
27.ls[remote-dir][local-file]:顯示遠程目錄remote-dir, 並存入本地文件local-file。
28.macdef macro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。
29.mdelete[remote-file]:刪除遠程主機文件。
30.mdir remote-files local-file:與dir類似,但可指定多個遠程文件,如:mdir *.o.*.zipoutfile 。
31.mget remote-files:傳輸多個遠程文件。
32.mkdir dir-name:在遠程主機中建一目錄。
33.mls remote-file local-file:同nlist,但可指定多個文件名。
34.mode[modename]:將文件傳輸方式設置為modename, 預設為stream方式。
35.modtime file-name:顯示遠程主機文件的最後修改時間。
36.mput local-file:將多個文件傳輸至遠程主機。
37.newer file-name: 如果遠程機中file-name的修改時間比本地硬碟同名文件的時間更近,則重傳該文件。
38.nlist[remote-dir][local-file]:顯示遠程主機目錄的文件清單,並存入本地硬碟的local-file。
39.nmap[inpattern outpattern]:設置文件名映射機制, 使得文件傳輸時,文件中的某些字元相互轉換, 如:nmap $1.$2.$3[$1,$2].[$2,$3],則傳輸文件a1.a2.a3時,文件名變為a1,a2。 該命令特別適用於遠程主機為非UNIX機的情況。
40.ntrans[inchars[outchars]:設置文件名字元的翻譯機制,如ntrans1R,則文件名LLL將變為RRR。
41.open host[port]:建立指定ftp伺服器連接,可指定連接埠。
42.passive:進入被動傳輸方式。
43.prompt:設置多個文件傳輸時的交互提示。
44.proxy ftp-cmd:在次要控制連接中,執行一條ftp命令, 該命令允許連接兩個ftp伺服器,以在兩個伺服器間傳輸文件。第一條ftp命令必須為open,以首先建立兩個伺服器間的連接。
45.put local-file[remote-file]:將本地文件local-file傳送至遠程主機。
46.pwd:顯示遠程主機的當前工作目錄。
47.quit:同bye,退出ftp會話。
48.quote arg1,arg2...:將參數逐字發至遠程ftp伺服器,如:quote syst.
49.recv remote-file[local-file]:同get。
50.reget remote-file[local-file]:類似於get, 但若local-file存在,則從上次傳輸中斷處續傳。
51.rhelp[cmd-name]:請求獲得遠程主機的幫助。
52.rstatus[file-name]:若未指定文件名,則顯示遠程主機的狀態, 否則顯示文件狀態。
53.rename[from][to]:更改遠程主機文件名。
54.reset:清除回答隊列。
55.restart marker:從指定的標志marker處,重新開始get或put,如:restart 130。
56.rmdir dir-name:刪除遠程主機目錄。
57.runique:設置文件名唯一性存儲,若文件存在,則在原文件後加後綴.1,.2等。
58.send local-file[remote-file]:同put。
59.sendport:設置PORT命令的使用。
60.site arg1,arg2...:將參數作為SITE命令逐字發送至遠程ftp主機。
61.size file-name:顯示遠程主機文件大小,如:site idle 7200。
62.status:顯示當前ftp狀態。
63.struct[struct-name]:將文件傳輸結構設置為struct-name, 預設時使用stream結構。
64.sunique:將遠程主機文件名存儲設置為唯一(與runique對應)。
65.system:顯示遠程主機的操作系統類型。
66.tenex:將文件傳輸類型設置為TENEX機的所需的類型。
67.tick:設置傳輸時的位元組計數器。
68.trace:設置包跟蹤。
69.type[type-name]:設置文件傳輸類型為type-name,預設為ascii,如:type binary,設置二進制傳輸方式。
70.umask[newmask]:將遠程伺服器的預設umask設置為newmask,如:umask 3
71.user user-name[password][account]:向遠程主機表明自己的身份,需要口令時,必須輸入口令,如:user anonymous my@email。
72.verbose:同命令行的-v參數,即設置詳盡報告方式,ftp 伺服器的所有響應都將顯示給用戶,預設為on.
73.?[cmd]:同help.
Ⅱ unix操作系統下,怎麼修改FTP密碼和許可權
1.登錄伺服器
cd /etc/vsftpd
cat ftpusers
找到對應的ftp用戶名 (如果用戶名也忘記了 那麼 cd /etc 然後cat passwd 查看用戶和對應的管理目錄)
passwd ftp用戶名(回車)
service vsftpd restart
linux添加FTP用戶並設置許可權
在linux中添加ftp用戶,並設置相應的許可權,操作步驟如下:
1、環境:ftp為vsftp。被限制用戶名為test。被限制路徑為/home/test
2、建用戶,命令行狀態下,在root用戶下:
運行命令:「useradd -d /home/test test」//增加用戶test,並制定test用戶的主目錄為/home/test
運行命令:「passwd test」//為test設置密碼,運行後輸入兩次相同密碼
3、更改用戶相應的許可權設置:
運行命令:「usermod -s /sbin/nologin test」//限定用戶test不能telnet,只能ftp
運行命令:「usermod -s /sbin/bash test」//用戶test恢復正常
運行命令:「usermod -d /test test」//更改用戶test的主目錄為/test
4、限制用戶只能訪問/home/test,不能訪問其他路徑
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
編輯上面的內容
第一行:chroot_list_enable=YES//限制訪問自身目錄
第三行:編輯vsftpd.chroot_list。根據第三行說指定的目錄,找到chroot_list文件。(因主機不同,文件名也許略
有不同)
編輯vsftpd.chroot_list,將受限制的用戶添加進去,每個用戶名一行
5、重啟伺服器
改完配置文件,不要忘記重啟vsFTPd伺服器
運行命令:/etc/init.d/vsftpd restart
6、如果需要允許用戶修改密碼,但是又沒有telnet登錄系統的許可權:
運行命令:「usermod -s /usr/bin/passwd test」//用戶telnet後將直接進入改密界面
Ⅲ Linux創建的ftp伺服器用什麼用戶名登陸
用什麼用戶登錄,即要看使用的ftp軟體,又要看對ftp伺服器的設置,以vsftp為例。
1、安裝完vsftp服務後可以通過如下命令添加ftp用戶:
命令格式 :adser -d /需要的目錄(可以自定義) -g ftp -s /sbin/nologin (用戶名)
命令示例:#adser -d /opt/jack -g ftp -s /sbin/nologin jack
上面增加了一個名為jack的用戶它的目錄屬於/opt/jack下面,屬於ftp用戶組。此用戶是不可以登陸我們終端伺服器的。
2、給用戶添加密碼
#passwd jack
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
上面是輸入兩次相同密碼後顯示成功。
Ⅳ 急求!ftp命令的全部命令集合
1)[crud[args)1:在本地機中執行交互shell,exit回到FTP環境,列如:!LS*.zip.
2)$macro-amc[args兒執行宏定義macro-name。
3)accountlpassword]:提供登錄遠程系統成功後訪問系統資源所需的補充口令。
4)appendlocal-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠系統文件名,則使用本地文件名。
5)aSCii:使用ascII型傳輸方式。
6)bell:每個命令執行完畢後計算機響鈴—次
7)bin:使用二進制文件傳輸方式
8)bye..退出FTP會話過程—
9)case:在使用mget時,帶凳將遠程主文件名中的大寫字母轉為小寫字母
10)cdremote·dir:進入遠程主機目錄。
11)cp..進入遠程主機目錄的蠢兆旅父目錄。
12)chmodmodefile-name:將遠程主機文件file-name的存取方式設置為mode。列如:chmod777a.OUt。
13)close:中斷與遠程伺服器的FTP會話(與open對應)。
14)cr:使用aSSC「方式傳輸文件時,將回車換行轉換為回行
15)deleteremote-file-刪除遠程主機文件:
16)debugldebug-value3:.設置調試方式,顯示發送至遠程主機的每條命令。例如:debup3,若設為0,表示取消debug。
17)dir[remote-dir][Local-file]:顯示遠程主機目錄,並將結果存入本地文件local-file:
18)disconnection-.同close。
19)formformat:將文件傳輸方式設置為format,預設為file方式。
20)getremote-file[10cal-file]:將遠程主機的文件remote-file傳至本地硬碟的local-file。
21)glob:設置mdelete,mget,mput的文件名擴展,預設時不擴展文件名,同命令行的-g參數。
22)hash:每傳輸1024位元組,顯示一個hash符號()。
23)help[cmd]:顯示FTP內部命令cmd的幫助信息,如.-helpget。
24)idle[seconds]:將遠程伺服器的休眠計時器設為[seconds]秒。
25)image:設置二進制傳輸方式(同binary)。
26)LCD[DIR]:將本地工作目錄切換至dir。
27)LS[remote-DIR][LOCAL-FILE]:顯示遠程目錄remote-dir,並存入本地文local-fileo
28)macdefmacro-name:定義一個宏,遇到macdef下的空行時,宏定義結束。
29)mdelete[remote-file]:刪除遠程主機文件。
30)mdirremote-fileslocal-file:與dlr類似,但可指定多個遠程文件。列如mdir*.O.*.zipoutfiLe。
31)mgetremote-files:傳輸多個遠程文件。
32)mkdirdirname:在遠程主機中建一目錄。
33)misremote-filelocal-file.同nlist,但可指定多個文件名。
34)mode[modename]:將文件傳輸方式設置為modename,預設為stream方式。
35)modtimefile-name..顯示遠程主機文件的最後修改時間。·
36)mputlocal-file:將多個文件傳輸至遠程主機,
37)newerfile-name:如果遠程機中file-name的修改時間比本地硬猜肆盤同名文件的時間巨近,則重新傳輸該文件。·
38)nlist正remote·di41local-file3:顯示遠程主機目錄的文件清單,並存入本地硬碟的local-fileo
39)nmap[npattemoutpattem]設置文件名映射機制,使得文件傳輸時,文件中的某些字元相互轉換,如:nmapSl.S2.S3[,][,],則傳輸文件a1.a2.a3時,文件名變為a1,a20該命令特別適用於遠程主機為非UNIX機的情況o
40)ntrans[Inchars[outchars]]設置文件名字元的翻譯機制,如ntranslR,則文件名LLI將變為RRR。
41)openhost[port]:建立指定FTP伺服器連接,可指定連接埠。
42)passive:進入被動傳輸方式。
43)prompt:設置多個文件傳輸時的交互提示。
44)proxyFTP-cmd:在次要控制連接中,執行一條FTP命令,該命令允許連接兩個FTP伺服器,以在兩個伺服器間傳輸文件。第一條FTP命令必須為open,以首先建立兩個伺服器間的連接。
45)putlocal-file[remote-file]:將本地文件local-file傳送至遠程主機。
46)vwd:顯示遠程主機的當前工作目錄。
47)qmt-.同bye,退出FTP會話。
48)quoteargl,arg2。。。:將參數逐字發至遠程卸伺服器,如:quote,syst。
49)recvremote-file[Local-file):同get。
50)regetremote-file[Local-file]:類似於get,但若local-file存在,則從上次傳輸中斷處繼續傳輸。
51)rhelp[cmd-name]:請求獲得遠程主機的幫助。
52)rstatus[FILe-name]:若未指定文件名,則顯示遠程主機的狀態,否則顯示文件狀態,
53)rename[FRom)[to]:更改遠程主機文件名。
55)restartmarker:從指定的標志marker處,重新開始get或put,如:restartl30。
56)rmdirdir-name:刪除遠程主機目錄。
57)mnique:設置文件名惟一性存儲,若文件存在,則在原文件後加後綴.1,.2等
58)sendlocal-file[remote-file):同put
59)sendport:設置PORT命令的使用。
60)siteargl,arg2。。。:將參數作為SITE命令逐字發送至遠程卸主機。
61)sizefile-name:顯示遠程主機文件大小,如:Slteidle7200。
62)stares:。顯示當前FTP狀態。·
63)struct[struct-name]:將文件傳輸結構設置為struct-name,預設時使用stream結構。
64)suniclue:將遠程主機文件名存儲設置為惟一(與mnique對應)。
65)system:顯示遠程主機的操作系統類型。
66)tenex:將文件:傳輸類型設置為TENEX機的所需的類型
67)tick:設置傳輸時的位元組計數器
68)trace:設置包跟蹤。
69)type[type-name):設置文件傳輸類型為type-name,預設為ascii,
例如:typebinary,設置二進制傳輸方式。
70)umask[newmask):將遠程伺服器的預設umask設置為newmask。例如:umask3。
71)useruser-name[passwordⅡaccount]:向遠程主機表明自己的身份,需要口令時,必須輸入口令,如:useranonymousmy@emaiL。
72)verbose:同命令行的-v參數,即設置詳盡報告方式,FTP伺服器的所有響應都將顯示給用戶,預設為on。
73)?[cmd]:同help。
Ⅳ linux 系統如何如何修改FTP用戶密碼
修改ftp用戶密碼需要以root用戶登錄,執行passwd命令來修改指定用戶密碼,
具體步驟如下:
1,已root賬戶登錄系統;
[xuwangcheng14@root]#suroot
root@iZ25s5gp4vvZ:~#
2,使用passwd命令修改密碼;
root@iZ25s5gp4vvZ:~#passwdftp_username
EnternewUNIXpassword:
RetypenewUNIXpassword:
Sorry,passwordsdonotmatch
passwd:
passwd:passwornchanged
root@iZ25s5gp4vvZ:~#
輸入兩次密碼後,提示修改成功。
Ⅵ 在linux中怎樣搭配ftp伺服器
一. 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這個用戶就可以訪問了。
以上只是一些簡單的設置。 在用戶許可權這塊還有很多內容可以研究。 比如特定用戶的特定許可權。 安全性等。 以後在研究了。
Ⅶ UNIX 下如何取消匿名FTP登陸
關於vsFTPd伺服器的一些常用功能的實現;
關於匿名上傳下載的實現;
關於匿名上傳,其實也比較簡單,首先我們要修改一下vsftpd.conf ,此文件位於 /etc/目錄下,可能是/etc/vsftpd.conf,也可能是/etc/vsftpd/vsftpd.conf文件。以您的系統環境為准;
首先:我們要改一下vsftpd.conf,確保有以下幾行;
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
其次:在ftp用戶家目錄的下建一個文件夾,並修改其許可權為完全開放;
ftp用戶的家目錄在哪?我們前面已經說了,要通過/etc/passwd來查看;也可以通過finger ftp來查看;
[root@localhost beinan]# finger ftp
Login: ftp Name: FTP User
Directory: /var/ftp Shell: /sbin/nologin
這說明ftp用戶的家目錄在/var/ftp ,我們要在這個目錄下建一個目錄,然後把他的許可權設置為任何用戶可讀可寫可執行就行了;一般的情況下,在發行版中,有一個/var/ftp/pub的目錄,如果沒有,您也可以自己建一個;把配置文件改好後,只要把/var/ftp下的任何一個目錄的許可權打開,都可以用來匿名上傳和下載;
比如您想讓匿名用戶上傳和下載都在/var/ftp/pub,就可以把/var/ftp/pub的許可權打開,如果沒有這個目錄,您要自己建一個;
[root@localhost ~]# mkdir /var/ftp/pub
[root@localhost ~]# chmod 777 /var/ftp/pub
這樣上傳的時候傳到pub目錄就OK了,對不對??
關於添加本地用戶及打開讀寫許可權示例;
FTP用戶一般是不能登錄系統的,這也是為了安全。在系統中,沒有許可權登錄系統的用戶一般也被稱之為虛擬用戶;虛擬用戶也是要寫進/etc /passwd中;這只是一種虛擬用戶的方法,但說實在的並不是真正的虛擬用戶,只是把他登錄SHELL的許可權去掉了,所以他沒有能力登錄系統;
如果我們想把beinan這個用戶目錄定位在/opt/beinan這個目錄中,並且不能登錄系統;我們應該如下操作
[root@localhost ~]# adser -d /opt/beinan -g ftp -s /sbin/nologin beinan
[root@localhost ~]# passwd beinan
Changing password for user beinan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
其實這還是不夠的,還要改一下配置文件vsftpd.conf ,以確保本地虛擬用戶能有讀寫許可權;
local_enable=YES
write_enable=YES
local_umask=022