⑴ 關於linux系統下的FTP傳輸日誌文件xferlog的維護
維護系統很長時間,第一次遇見系統日誌把var空間占滿了,經過查找資料解決。
主要的日誌子系統:
1.連接時間日誌--由多個程序執行,把記錄寫入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和utmp文件,使系統管理員能夠跟蹤誰在何時登錄到系統。
2.進程統計--由系統內核執行。當一個進程終止時,為每個進程往進程統計文件(pacct或acct)中寫一個紀錄。進程統計的目的是為系統中的基本服務提供命令使用統計。
3.錯誤日誌--由syslogd(8)執行。各種系統守護進程、用戶程序和內核通過syslog(3)向文件/var/log/messages報告值得注意的事件。另外有許多UNIX程序創建日誌。像HTTP和FTP這樣提供網路服務的伺服器也保持詳細的日誌。
常用的日誌文件如下:
access-log 紀錄HTTP/web的傳輸
acct/pacct 紀錄用戶命令
aculog 紀錄MODEM的活動
btmp紀錄失敗的紀錄
lastlog 紀錄最近幾次成功登錄的事件和最後一次不成功的登錄
messages從syslog中記錄信息(有的鏈接到syslog文件)
sudolog 紀錄使用sudo發出的命令
sulog 紀錄使用su命令的使用
syslog 從syslog中記錄信息(通常鏈接到messages文件)
utmp紀錄當前登錄的每個用戶
wtmp一個用戶每次登錄進入和退出時間的永久紀錄
xferlog 紀錄FTP會話
直接刪除日誌:
1.刪除所有的日誌:find /var -type f -exec rm -v {} \;(最後的分號也是必須命令的一部分)
2.設置/etc/logrotate.d/syslog文件控制日誌文件的大小。
3. 如果實在想自己手工清空某些日誌文件的話, 可以使用命令:> /var/log/message。這個命令的功能是把文件message中的內容清空。 也可以將此命令加入到cron任務中。
linux詳細日誌解析:
unix系統日誌文件通常是存放在"/var/logand /var/adm"目錄下的。通常我們可以查看syslog.conf來看看日誌配置的情況.如:cat /etc/syslog.conf
其中sunos的在/var/log和/var/adm下.還有/usr/adm為/var/adm的鏈接.
redhat的在/var/log 和 /var/run下.
下面的是sun os5.7中的日誌樣本.
# ls /var/adm
acct log messages.1 passwd sulog vold.log
aculog messages messages.2 sa utmp wtmp
lastlog messages.0 messages.3 spellhist utmpx wtmpx
# ls /var/log
authlog syslog syslog.1 syslog.3
sysidconfig.log syslog.0 syslog.2 syslog.4
下面的是redhat6.2中的日誌樣本.
# ls /var/log
boot.log dmesg messages.2 secure uucp
boot.log.1 htmlaccess.logmessages.3 secure.1 wtmp
boot.log.2 httpd messages.4 secure.2 wtmp.1
boot.log.3 lastlog netconf.logsecure.3 xferlog
boot.log.4 mailllog netconf.log.1secure.4 xferlog.1
cron maillog netconf.log.2sendmail.st xferlog.2
cron.1 maillog.1 netconf.log.3spooler xferlog.3
cron.2 maillog.2 netconf.log.4spooler.1 xferlog.4
cron.3 maillog.3 news spooler.2
cron.4 maillog.4 normal.log spooler.3
daily.log messagesrealtime.log spooler.4
daily.sh messages.1 samba transfer.log
# ls /var/run
atd.pid gpm.pid klogd.pid random-seed treemenu.cache
crond.pid identd.pid netreport runlevel.dir utmp
ftp.pids-allinetd.pid news syslogd.pid
一般我們要清除的日誌有
lastlog
utmp(utmpx)
wtmp(wtmpx)
messages
syslog
⑵ linux下如何查看ftp的目錄
我們通過tree命令(需要安裝,方法:sudo apt-get install tree)可以以樹狀圖的方式查看文件目錄,而目錄中不同類型的文件有各自的顏色,如下所示:
白色--普通文件
藍色--目錄
綠色--可執行文件
紅色--壓縮文件
青色--鏈接文件
黃色--設備文件
灰色--其他文件
通過ls命令,查看當前文件夾內的文件;ls -a 查看當前文件夾內的文件,包括隱藏文件;
ls -la 查看當前文件夾內文件的詳細信息,包括隱藏文件,
⑶ linux如何記錄開啟的ftp的進程信息,用腳本的方式輸出到日誌
直接用crontab定時開啟就好了啊,ftp的日誌都記錄在/var/log/xferlog文件裡面
⑷ 如何在linux 伺服器上做FTP。請指教。
linux 下FTP安裝及配置
一、FTP的安裝
1、檢測是否安裝了FTP :[root@localhost ~]# rpm -q vsftpd
如果安裝了會顯示版本信息:
[root@localhost ~]# vsftpd-2.0.5-16.el5_5.1
否則顯示:[root@localhost ~]# package vsftpd is not installed
2、如果沒安裝FTP,運行yum install vsftpd命令
具體的細節如下:(如果無法更新,你先配置能訪問互聯網,我有文檔叫 CentOS 在 VMware下,如何聯網到Internet的解決辦法 可以解決無法上網的問題)
[root@localhost ~]# yum install vsftpd
[root@localhost ~]#
3、完成ftp安裝後,將 /etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root這一行注釋掉
# root
4、執行以下命令
# setsebool -P ftpd_disable_trans=1
修改/etc/vsftpd/vsftpd.conf,在最後一行處添加local_root=/
5、重啟ftp進程 #service vsftpd restart
註:每次修改過ftp相關的配置文件,都需要重啟ftp進程來生效。
ftp伺服器就可以使用了。
*********************************************************************
二、vsftpd的配置文件說明:
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。
vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。
(1)用戶登錄控制
anonymous_enable=YES,允許匿名用戶登錄。
no_anon_password=YES,匿名用戶登錄時不需要輸入密碼。
local_enable=YES,允許本地用戶登錄。
deny_email_enable=YES,可以創建一個文件保存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單保存路徑(默認為/etc/vsftpd.banned_emails)。
(2)用戶許可權控制
write_enable=YES,開啟全局上傳許可權。
local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022)。
anon_upload_enable=YES,允許匿名用戶具有上傳許可權,很明顯,必須啟用write_enable=YES,才可以使用此項。同時我們還必須建立一個允許ftp用戶可以讀寫的目錄(前面說過,ftp是匿名用戶的映射用戶賬號)。
anon_mkdir_write_enable=YES,允許匿名用戶有創建目錄的權利。
chown_uploads=YES,啟用此項,匿名上傳文件的屬主用戶將改為別的用戶賬戶,注意,這里建議不要指定root賬號為匿名上傳文件的屬主用戶!
chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替。
chroot_list_enable=YES,可以用一個列表限定哪些本地用戶只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的用戶是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一個安全用戶賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立用戶。這是vsftpd系統推薦選項。
async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!
ascii_upload_enable=YES;ascii_download_enable=YES,默認情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。
注意:啟用ascii_download_enable選項會讓惡意遠程用戶們在ASCⅡ模式下用「SIZE/big/file」這樣的指令大量消耗FTP伺服器的I/O資源。
這些ASCⅡ模式的設置選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導致崩潰),而不會遭受拒絕服務攻擊的危險。
(3)用戶連接和超時選項
idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出。
data_connection_timeout=120,設定默認的數據連接超時時間。
(4)伺服器日誌和歡迎信息
dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容。
ftpd_banner=Welcome to blah FTP service,可以自定義FTP用戶登錄到伺服器所看到的歡迎信息。
xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。
xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log。
anonymous_enable=YES 允許匿名登錄local_enable=YES 允許本地用戶登錄
write_enable=YES 開放本地用戶寫許可權
local_umask=022 設置本地用戶生成文件的掩碼為022
#anon_upload_enable=YES 此項設置允許匿名用戶上傳文件
#anon_mkdir_write_enable=YES 開啟匿名用戶的寫和創建目錄的許可權
dirmessage_enable=YES 當切換到目錄時,顯示該目錄下的.message隱藏文件的內容
xferlog_enable=YES 激活上傳和下載日誌
connect_from_port_20=YES 啟用FTP數據埠的連接請求
#chown_uploads=YES 是否具有上傳許可權. 用戶由chown_username參數指定。
#chown_username=whoever 指定擁有上傳文件許可權的用戶。此參數與chown_uploads聯用。
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES 使用標準的ftpd xferlog日誌格式
#idle_session_timeout=600 此設置將在用戶會話空閑10分鍾後被中斷
#data_connection_timeout=120 將在數據連接空閑2分鍾後被中斷
#ascii_upload_enable=YES 啟用上傳的ASCII傳輸方式
#ascii_download_enable=YES 啟用下載的ASCII傳輸方式
#ftpd_banner=Welcome to blah FTP service 設置用戶連接伺服器後顯示消息
#deny_email_enable=NO 此參數默認值為NO。當值為YES時,拒絕使用banned_email_file參數指定文件中所列出的e-mail地址用戶登錄。
#banned_email_file=/etc/vsftpd.banned_emails 指定包含拒絕的e-mail地址的文件.
#chroot_list_enable=YES 設置本地用戶登錄後不能切換到自家目錄以外的別的目錄
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
pam_service_name=vsftpd 設置PAM認證服務的配置文件名稱,該文件存放在/etc/pam.d/
userlist_enable=YES 此項配置/etc/vsftpd.user_list中指定的用戶也不能訪問伺服器,若添加userlist_deny=No,則僅僅/etc/vsftpd.user_list文件中的用戶可以訪問,其他用戶都不可以訪問伺服器。如過userlist_enable=NO,userlist_deny=YES,則指定使文件/etc/vsftpd.user_list中指定的用戶不可以訪問伺服器,其他本地用戶可以訪問伺服器。
listen=YES 指明VSFTPD以獨立運行方式啟動
tcp_wrappers=YES 在VSFTPD中使用TCP_Wrappers遠程訪問控制機制,默認值為YES
三、舉例建立一個名為test的賬戶並進行配置
根據實際情況對FTP進行配置後,下面舉例介紹建立一個FTP賬戶並進行簡單的配置:
1、創建一個賬號為test的賬戶:
#mkdir /tmp/test //首先創建好目錄
#adser -d /tmp/test -g ftp -s /sbin/nologin test //-s /sbin/nologin是讓其不能登陸系統,-d 是指定用戶目錄為/opt/srsman ,即該賬戶只能登陸ftp,卻不能用做登陸系統用。
#passwd test
Changing password for user beinan.//接下來會出現讓你設置新的密碼
New password:
Retype new password:
passwd: all authentication tokens updated successfully
創建賬戶成功!
2、限制用戶目錄,不得改變目錄到上級
修改/etc/vsftpd/vsftpd.conf
將這兩行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注釋去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增一個文件: /etc/vsftpd/chroot_list
內容寫需要限制的用戶名:
test
重新啟動vsftpd
# service vsftpd restart
3、最後為了防止伺服器由於斷電、重啟等現象發生,導致ftp進程在開機後未啟動,將其添加到開機啟動文件中:
(1)找到/etc/rc.local文件
(2)打開該文件,在最後一行添加:service vsftpd start
(3)保存,退出
4、通過在「我的電腦」中輸入ftp://192.168.179.30(填該ftp伺服器ip地址)進入ftp伺服器,輸入設置好的賬戶登陸即可。
5、CMD-》ftp 192.168.1.2
Cd /soft
Put c:\sss.log //這樣可以成功上傳, VSFTP不支持絕對目錄上傳,只能夠到當前目錄下上傳
⑸ linux中ftp用戶上傳或下載的記錄如何存放到文件中
看看那個記錄是用什麼命令生成的,然後在那個命令後面加一個輸出重定向命令,再加上一個需要輸出的目標文件就行了!比如(做個不恰當的例子): etho url >\/home\/name\/log!就可以把本來輸出到終端的信息重定向到log文件中~!
⑹ 如何在linux下開啟FTP服務
Linux下ftp服務可以通過搭建vsftpd服務來實現,以CentOS為例,首先查看系統中是否安裝了vsftpd,可以通過執行命令rpm -qa |grepvsftpd來查看是否安裝相應的包,如果沒有安裝那麼可以執行yum-yinstallvsftpd來安裝,安裝之後首先創建ftp用戶,比如ftp_test,命令如下:
useradd-s/sbin/nologin-d/home/ftp_testftp_test
目錄盡量不要選擇根目錄下,這里是/home/ftp_test,並且ftp_test這個目錄不要手動創建,否則許可權會有問題,執行命令的時候會自動創建,
現在可以看到上面的路徑是一個/,對於ftp用戶來說也就是根目錄了,只能在這個目錄下操作,而無法跳出這個目錄
以上就是vsftpd服務的基本搭建過程,實際使用時可以分配多個用戶
⑺ linux下用ftp命令連接到ftp伺服器應該如何查看伺服器上的目錄文件數
1.Linux下啟動ftp
ls -l 普通文件就是以 - 開頭,文件夾以 d 開頭,grep 後面接正則表達式:^- 以 - 開頭的匹配。
(7)linux記錄ftp擴展閱讀:
1.查看當前目錄下的文件數量(不包含子目錄中的文件):
ls -l|grep "^-"| wc -l
2. 查看當前目錄下的文件數量(包含子目錄中的文件):
ls -lR|grep "^-"| wc -l
3.查看當前目錄下的文件夾目錄個數,(不包含子目錄中的目錄):
ls -l|grep "^d"| wc -l
4.查詢當前路徑下的指定前綴名的目錄下的所有文件數量 例如:統計所有以「20161124」開頭的目錄下的全部文件數量:
ls -lR 20161124*/|grep "^-"| wc -l