linux 安全相關命令

risingsunczl發表於2009-05-05
linux 安全相關命令[@more@]LINUX命令

查詢作業系統型別
cat /etc/issue
cat /etc/redhat-release
查詢作業系統核心版本
cat /proc/version
查詢伺服器資訊
uname -a
查詢伺服器name
hostname
檢視文字行數、字數、位元組數
wc(ls -l|wc)
輸出資訊中只顯示某一行
awk
ls -l|awd '{print $2}'
替換文字中的字串
sed -e 's/newstring/oldstring/g' < oldfile > newfile
ssh racpub1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
顯示某目錄佔用磁碟大小
du -sh /oracle
過慮掉重複word
sort -u
查詢歷史命令
history
查詢使用者操作歷史記錄
#! /bin/ksh
for user in 'cat /etc/passwd|cut -d ':' -f1'
do
echo *************
cat -$user/.sh_history
echo *************
done
修改shell,直接寫shell名稱
ksh
bash
umask的實際許可權應該等於777減去顯示的許可權,例如umask 002 ,實際是777-002=775
列出當前cpu消耗時間最多的10個程式
ps -ef|sort +6|tail
ps auxgw|sort +2|tail
殺掉難處理的程式
kill -9 pid
cat /dev/null > /dev/ttyname kill -9 pid
建立ssh關係的作業系統間檔案copy
scp -P 7522 zzx1.dmp oracle9i@192.168.8.159:/home1/oracle9i/
檢視oracle監聽的埠
lsnrctl
stat
find常用命令
find /home1/oracle9i -name cman*
find / -name access_log 2>/dev/null
這個方法是把查詢錯誤提示轉移到特定的目錄中去。系統執行這個命令後,遇到錯誤的資訊就直接輸送到stderrstream 2 中,access_log 2就是表明系統將把錯誤資訊輸送到stderrstream 2中,/dev/null是一個特殊的檔案,表明空的或者錯誤的資訊,這樣查詢到的錯誤資訊將被轉移了,不會再顯示了
find / -amin -10 # 查詢在系統中最後10分鐘訪問的檔案
find / -atime -2 # 查詢在系統中最後48小時訪問的檔案
find / -empty # 查詢在系統中為空的檔案或者資料夾
find / -group cat # 查詢在系統中屬於 groupcat的檔案
find / -mmin -5 # 查詢在系統中最後5分鐘裡修改過的檔案
find / -mtime -1 #查詢在系統中最後24小時裡修改過的檔案
find / -nouser #查詢在系統中屬於作廢使用者的檔案
find / -user fred #查詢在系統中屬於FRED這個使用者的檔案
find結果的處理方法:
find /data/backup -mtime +5 | xargs rm -rf
rm -rf `find /data/backup/ -mtime +5`
find /data/backupp -mtime+5 -exec rm -rf "{}" ";"
find /data/backupp -mtime+5 -exec rm -rf {} ;
find /data/backupp -mtime+5 -maxdepth 1 -exec cp {} /home/zzx ; //-maxdepth表示目錄的最大深度,1表示當前目錄
find /etc -name aaa -exec CMD1 {}; -exec CMD2 {}; //一次查詢後針對返回結果執行多條命令
以上命令基本等效。其中
"{}" <= result
";" <= end of command
find -exec 是每次匹配成功就執行rm 一次。假如有500個匹配項,shell就要fork 500次去執行rm。
xargs在命令列長度允許的情況下會累積到一定程度去rm幾十個檔案,這樣就能減少rm執行的次數。在匹配項較多的情況下,效能相對較好好。


ftp啟動、停止命令
/sbin/service vsftpd start|stop|restart
ftp引數設定:
/etc/vsftpd/vsftpd.conf
ftp修改埠:
/etc/vsftpd/vsftpd.conf中增加listen_port=2121
檢視ftp服務是否啟動:
ps auxgw|grep ftp

設定系統時間
若以加號作為開頭,則表示要設定時間,而時間格式為 MMDDhhmm[CC]YY][.ss],其 MM 為月份,DD 為日,hh 為時,mm 為分鐘,CC 為年份前兩位數字,YY 為年份後兩位數字,ss 為秒數
[root@wdb_test oracle]# date 113012002004
Tue Nov 30 12:00:00 CST 2004

和時鐘伺服器校正時間
rdate -s ip --直接校正
rdate -p ip --列印伺服器時間

linux下啟動telnet服務過程
root登陸
vi /etc/xinetd.d/telnet
將disable=yes加#註釋掉
/etc/rc.d/init.d/xinetd restart
預設是不能以root登陸的,如果要一定以root登陸,修改
/etc/pam.d/login檔案
將auth required pam_securetty.so加#註釋掉

檢視本機監聽的埠
可以使用命令:netstat -lnp來察看系統當前監聽的埠。其中l選項表示顯示正在被監聽(listen)的埠;n選項表示直接顯示埠數字而不是透過察看/etc/service來轉換為埠名;p選項表示列出監聽的程式。
檢視作業系統安全日誌
dmseg檢視系統故障
more /var/log/secure*檢視所有安全日誌
強制使用者登陸時修改口令
chage -d 0 username(linux)
passwd -f username(solaris)

強制使用者下次登陸時修改密碼,並且設定密碼最低有效期0和最高有限期90,提前15天發警報提示
chage -d 0 -m 0 -M 90 -W 15 htang(linux)
passwd -f -n 0 -x 90 -w 15 htang(solaris)
檢視某個使用者的密碼設定情況
chage -l username
修改密碼配置檔案
vi /etc/login.defs
ntsysv 檢視啟動的服務
啟動某個服務
/etc/init.d/network restart
service network restart

在/etc/resolv.conf中加入域名伺服器進行域名解析
例如:nameserver 202.106.196.115
vi特殊指令
:$跳到文件最後一行
ctrl + f 向後翻頁
ctrl + b 向前翻頁
H 跳到當前文件第一行
M 跳到當前文件中間行
L 跳到當前文件最後行
vncserver啟動桌面選項(gnome和kde)
P32>cat xstartup
#!/bin/sh
#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
#startkde &(如果使用kde就去掉註釋)
gnome-session

在整個檔案或某幾行中在行首或行尾加一些字串
vi file
:3,$s/^/some string /
在檔案的第一行至最後一行的行首前插入some string
:%s/$/ some string/g 在整個檔案每一行的行尾新增 some string
:%s/string1/string2/g 在整個檔案中替換string1成string2
:3,7s/string1/string2/ 僅替換檔案中的第三到七行中的string1成string2
Note: s為substitute,%表示所有行,g表示global
掃描192.168.5中啟動伺服器的ip
nmap -sP 192.168.5.0/24
增加ip
ifconfig eth0 192.168.0.12 netmask 255.255.255.0
同時修改/etc/sysconfig/network-scripts下的etho文件,修改例子:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.160.12
NETMASK=255.255.255.0
GATEWAY=192.168.160.1
solaris下修改ip:
1.ifconfig iprb1 plumb
2.ifconfig iprb1 192.168.165.15 netmask 255.255.255.0 up
3./etc/hostname.iprb1 --&gt192.168.165.15
增加路由:
161的機器想要訪問160的機器,需要增加路由:
linux:route add -net 192.168.160.0 netmask 255.255.255.0 gw 192.168.161.1
solaris:route add net 192.168.160.0 192.168.161.1
kill某個使用者的全部程式
pkill -9 -u username
kill掉所有的oralce應用session
ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCAL=NO|awk '{print $2}'|kill -9

刪除數量比較多的檔案
ls | xargs -n 20 rm -fr
ls當然是輸出所有的檔名(用空格分割)
xargs就是將ls的輸出,每20個為一組(以空格為分隔符),作為rm -rf的引數
也就是說將所有檔名20個為一組,由rm -rf刪除,這樣就不會超過命令列的長度了

Soure RPM的簡易安裝步驟:
1.先取得Source RPM, 通常Source RPM的檔案會有個src.rpm來辨別, ex:freetds-0.62.1-1.src.rpm
2.rpm -i xxx-xxx.src.rpm ex: rpm -i freetds-0.62.1-1.src.rpm
3.cd /usr/src/redhat/SPECS
4.可以看到xxx.spec ex: freetds.spec
5.進階User可以去編輯它, 初輯User就可以不用理, 直接rpmbuild -bb xxx.spec ex: rpmbuild -bb freetds.spec
6.cd /usr/src/redhat/RPMS 此為產生好的rpm最後放置的地方
7.cd i386 通常一般package都會放在i386
8.將所產生的rpm安裝 rpm -i xxx-xxx.rpm, ex: rpm -i freetds-0.62.1-1.i386.rpm
其實大多時候我們都不需要自己Build Source RPM, 因為大都有現成for各個平臺的RPM, 但有時現成RPM的東西可能不合你用, 像我會去Build freetds是因為現成的freetds的RPM只有freetds, freetds-devel, 沒有freetds-unixodbc, 所以就直接抓Source RPM, 而且freetds的Source RPM還貼心的幫我設好, 我也不用改就可以直接build了.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/653579/viewspace-1021728/,如需轉載,請註明出處,否則將追究法律責任。

相關文章