rm 遞歸刪除 特定文件夾
使用規則:
rm -rf 目錄名字
-r 向下遞歸,不管有多少級目錄,一並刪除
-f 直接強行刪除,沒有任何提示
linux下遞歸刪除目錄下所有指定的文件
find . -name '*.*' -type f -print -exec rm -rf {} ;
(1) "." 表示從當前目錄開始遞歸查找
(2) 「 -name '*.*' "根據名稱來查找,要查找所有以.*結尾的文件夾或者文件
(3) " -type f "查找的類型為文件
(4) "-print" 輸出查找的文件目錄名
(5) exec選項後邊跟著一個所要執行的命令,表示將find出來的文件或目錄執行該命令。《Linux就該這么學》 一起學習更多linux知識。
exec選項後面跟隨著所要執行的命令或腳本,然後是一對兒{},一個空格和一個,最後是一個分號
⑵ linux怎麼清除防火牆規則
設置防火牆規則的步驟如下:
一、區域網內共享的天網防火牆設置
1、首先保證在沒有裝防火牆的情況下區域網內是可以相互通訊的(如果你連這個都不能保障那麼就不是防火牆的問題了)
2、在防火牆的系統設置裡面按刷新,設置好本地區域網的IP地址
3、在自定義IP規則的TCP協議里把其中『允許區域網內的機器進行連接和傳輸』打上勾,並且保存規則
4、訪問網路
如果共享列印機不能使用的,那就要開放對應的連接埠就可以了
二、設置規則開放WEB服務的步驟
1、進入防火牆自定義IP規則,增加規則
2、輸入名稱、說明 (可任意輸入,以便查閱)
3、設置數據包方向——接收和發送,對方IP地址——任何地址
4、設置TCP本地埠80到80,對方埠0到0,TCP標志位為SYN,當滿足上面條件時「通行」,確定
5、在IP規則列表中把該規則上移到TCP協議的第一條,並選上勾再保存
三、設置規則開放FTP服務的步驟
1、進入防火牆自定義IP規則,增加規則
2、輸入名稱、說明 (可任意輸入,以便查閱)
3、設置數據包方向——接收和發送,對方IP地址——任何地址
4、設置TCP本地埠20到21,對方埠0到0,TCP標志位為SYN,當滿足上面條件時「通行」,確定
5、在IP規則列表中把該規則上移到TCP協議的第一條,並選上勾再保存
其它埠的開放設置方法類似
四、關閉或開放特定埠
例,關閉TCP 139埠
1、進入防火牆自定義IP規則,增加規則
2、輸入名稱、說明 (可任意輸入,以便查閱)
3、設置數據包方向——接收或發送,對方IP地址——任何地址
4、設置TCP本地埠139到139,對方埠0到0,TCP標志位為SYN,當滿足上面條件時『攔截』,確定;同時還:記錄、警告、發聲(視個人設置喜好,可選擇若干方式)
5、在IP規則列表中把該新規則上移到TCP協議的第一條,並選上勾再保存
其它埠的關閉設置方法類似;如要開放埠的,設置後把『攔截』改為『通行』就可以了。
五、設置規則屏蔽或開放IP的步驟
1、進入防火牆自定義IP規則,增加規則
2、輸入名稱、說明 (可任意輸入,以便查閱)
3、設置數據包方向——接收和發送,對方IP地址——指定地址
4、選擇IP協議,當滿足上面條件時「攔截」,確定
5、在IP規則列表中把該規則上移到IP協議的第一條,並把新規則和IP規則選上勾再保存
屏蔽IP的方法如上;但如果要開放指定IP的,設置後把『攔截』改為『通行』就可以了。
⑶ linux中iptables防火牆怎麼設置
一,安裝並啟動防火牆
[root@linux ~]# /etc/init.d/iptables start
當我們用iptables添加規則,保存後,這些規則以文件的形勢存在磁碟上的,以CentOS為例,文件地址是/etc/sysconfig/iptables,我們可以通過命令的方式去添加,修改,刪除規則,也可以直接修改/etc/sysconfig/iptables這個文件就行了。
1.載入模塊
/sbin/modprobe ip_tables
2.查看規則
iptables -L -n -v
3.設置規則
#清除已經存在的規則
iptables -F
iptables -X
iptables -Z
#默認拒絕策略(盡量不要這樣設置,雖然這樣配置安全性高,但同時會拒絕包括lo環路在內的所#有網路介面,導致出現其他問題。建議只在外網介面上做相應的配置)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#ssh 規則
iptables -t filter -A INPUT -i eth0 -p tcp –dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp –sport 22 -j ACCEPT
#本地還回及tcp握手處理
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
#www-dns 規則
iptables -I INPUT -p tcp –sport 53 -j ACCEPT
iptables -I INPUT -p udp –sport 53 -j ACCEPT
iptables -t filter -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -o eth0 -p tcp –sport 80 -j ACCEPT
#ICMP 規則
iptables -A INPUT -p icmp –icmp-type echo-request-j ACCEPT
iptables -A INPUT -p icmp –icmp-type echo-reply -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp –icmp-type echo-reply -j ACCEPT
二,添加防火牆規則
1,添加filter表
1.[root@linux ~]# iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT //開放21埠
出口我都是開放的iptables -P OUTPUT ACCEPT,所以出口就沒必要在去開放埠了。
2,添加nat表
1.[root@linux ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
將源地址是 192.168.10.0/24 的數據包進行地址偽裝
3,-A默認是插入到尾部的,可以-I來插入到指定位置
1.[root@linux ~]# iptables -I INPUT 3 -p tcp -m tcp --dport 20 -j ACCEPT
2.[root@linux ~]# iptables -L -n --line-number
3.Chain INPUT (policy DROP)
4.num target prot opt source destination
5.1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
6.2 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8
7.3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 //-I指定位置插的
8.4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
9.5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
10.6 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
11.7 DROP all -- 0.0.0.0/0 0.0.0.0/0 state INVALID,NEW
12.8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 //-A默認插到最後
13.Chain FORWARD (policy ACCEPT)
14.num target prot opt source destination
15.Chain OUTPUT (policy ACCEPT)
16.num target prot opt source destination
三,查下iptable規則
1,查看filter表
1.[root@linux ~]# iptables -L -n --line-number |grep 21 //--line-number可以顯示規則序號,在刪除的時候比較方便
2.5 ACCEPT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp dpt:21
如果不加-t的話,默認就是filter表,查看,添加,刪除都是的
2,查看nat表
1.[root@linux ~]# iptables -t nat -vnL POSTROUTING --line-number
2.Chain POSTROUTING (policy ACCEPT 38 packets, 2297 bytes)
3.num pkts bytes target prot opt in out source destination
4.1 0 0 MASQUERADE all -- * * 192.168.10.0/24 0.0.0.0/0
四,修改規則
1.[root@linux ~]# iptables -R INPUT 3 -j DROP //將規則3改成DROP
五,刪除iptables規則
1.[root@linux ~]# iptables -D INPUT 3 //刪除input的第3條規則
2.[root@linux ~]# iptables -t nat -D POSTROUTING 1 //刪除nat表中postrouting的第一條規則
3.[root@linux ~]# iptables -F INPUT //清空 filter表INPUT所有規則
4.[root@linux ~]# iptables -F //清空所有規則
5.[root@linux ~]# iptables -t nat -F POSTROUTING //清空nat表POSTROUTING所有規則
六,設置默認規則
1.[root@linux ~]# iptables -P INPUT DROP //設置filter表INPUT默認規則是 DROP
所有添加,刪除,修改後都要保存起來,/etc/init.d/iptables save.上面只是一些最基本的操作,要想靈活運用,還要一定時間的實際操作。
iptables配置常規映射及軟路由
作用:虛擬化雲平台伺服器網段192.168.1.0/24 通過一台linux伺服器(eth0:192.168.1.1、eth1:10.0.0.5)做軟路由達到訪問10.0.0.5能訪問的網路范圍,並且通過iptables的NAT映射提供服務。
NAT 映射網路埠:
效果: 10.0.0.5:2222 —-》 192.168.1.2:22
命令:iptable -t nat -A PREROUTING -D 10.0.0.5 -p tcp –dport 2222 -j DNAT –to-destination 192.168.1.2:22
service iptables save
service iptables restart
注意:1.在192.168.1.2的網路配置上需要將NAT主機的內網ip即192.168.1.1作為默認網關,如果10.0.0.5具有公網訪問許可權,dns則設置成公網對應dns
2. echo 1 》 /proc/sys/net/ip_forward 在NAT 主機上需要開啟轉發才能生效
軟路由192.168.1.0/24通過10.0.0.5訪問外網:
命令:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT –to-source 10.0.0.5
service iptables save
service iptables restart
⑷ Linux添加/刪除用戶和用戶組
Linux添加/刪除用戶和用戶組
本文總結了Linux添加或者刪除用戶和用戶組時常用的一些命令和參數。
1、建用戶:adser phpq //新建phpq用戶passwd phpq //給phpq用戶設置密碼
2、建工作組groupadd test //新建test工作組
3、新建用戶同時增加工作組useradd -g test phpq //新建phpq用戶並增加到test工作組
註::-g 所屬組 -d 家目錄 -s 所用的SHELL
4、給已有的用戶增加工作組usermod -G groupname username
或者:gpasswd -a user group
5、臨時關閉:在/etc/shadow文件中屬於該用戶的行的第二個欄位(密碼)前面加上*就可以了。想恢復該用戶,去掉*即可。
或者使用如下命令關閉用戶賬號:passwd peter –l
重新釋放:passwd peter –u
6、永久性刪除用戶賬號userdel peter
groupdel peter
usermod –G peter peter(強制刪除該用戶的主目錄和主目錄下的所有文件和子目錄)
7、從組中刪除用戶編輯/etc/group 找到GROUP1那一行,刪除 A或者用命令gpasswd -d A GROUP
8、顯示用戶信息id usercat /etc/passwd
更詳細的用戶和用戶組的解說請參考Linux用戶和用戶組詳細解說本文主要講述在Linux 系統中用戶(user)和用戶組(group)管理相應的概念;用戶(user)和用戶組(group)相關命令的列舉;其中也對單用戶多任務,多用戶多任務也做以解說。
本篇文章來源於PHP資訊 原文鏈接: http://www.phpq.net/linux/linux-add-delete-user-group.html
Linux用戶(user)和用戶組(group)管理概述
、理解Linux的單用戶多任務,多用戶多任務概念;Linux是一個多用戶、多任務的操作系統;我們應該了解單用戶多任務和多用戶多任務的概念;
1、Linux 的單用戶多任務; 單用戶多任務;比如我們以beinan 登錄系統,進入系統後,我要打開gedit 來寫文檔,但在寫文檔的過程中,我感覺少點音樂,所以又打開xmms 來點音樂;當然聽點音樂還不行,MSN 還得打開,想知道幾個弟兄現在正在做什麼,這樣一樣,我在用beinan 用戶登錄時,執行了gedit 、xmms以及msn等,當然還有輸入法fcitx ;這樣說來就有點簡單了,一個beinan用戶,為了完成工作,執行了幾個任務;當然beinan這個用戶,其它的人還能以遠程登錄過來,也能做其它的工作。
2、Linux 的多用戶、多任務;
有時可能是很多用戶同時用同一個系統,但並不所有的用戶都一定都要做同一件事,所以這就有多用戶多任務之說;
舉個例子,比如LinuxSir.Org 伺服器,上面有FTP 用戶、系統管理員、web 用戶、常規普通用戶等,在同一時刻,可能有的弟兄正在訪問論壇;有的可能在上傳軟體包管理子站,比如luma 或Yuking 兄在管理他們的主頁系統和FTP ;在與此同時,可能還會有系統管理員在維護系統;瀏覽主頁的用的是nobody 用戶,大家都用同一個,而上傳軟體包用的是FTP用戶;管理員的對系統的維護或查看,可能用的是普通帳號或超級許可權root帳號; 不同用戶所具有的許可權也不同,要完成不同的任務得需要不同的用戶 ,也可以說 不同的用戶,可能完成的工作也不一樣 ;
值得注意的是:多用戶多任務並不是大家同時擠到一接在一台機器的的鍵盤和顯示器前來操作機器,多用戶可能通過遠程登錄來進行,比如對伺服器的遠程式控制制,只要有用戶許可權任何人都是可以上去操作或訪問的;
3、用戶的角色區分;
用戶在系統中是分角色的,在Linux 系統中,由於角色不同,許可權和所完成的任務也不同;值得注意的是用戶的角色是通過UID和識別的,特別是UID;在系統管理中,系統管理員一定要堅守UID 唯一的特性;
root用戶:系統唯一,是真實的,可以登錄系統,可以操作系統任何文件和命令,擁有最高許可權;虛擬用戶:這類用戶也被稱之為偽用戶或假用戶,與真實用戶區分開來,這類用戶不具有登錄系統的能力,但卻是系統運行不可缺少的用戶,比如bin、daemon、adm、ftp、mail等;這類用戶都系統自身擁有的,而非後來添加的,當然我們也可以添加虛擬用戶;普通真實用戶:這類用戶能登錄系統,但只能操作自己家目錄的內容;許可權有限;這類用戶都是系統管理員自行添加的;
4、多用戶操作系統的安全;
多用戶系統從事實來說對系統管理更為方便。從安全形度來說,多用戶管理的系統更為安全,比如beinan用戶下的某個文件不想讓其它用戶看到,只是設置一下文件的許可權,只有beinan一個用戶可讀可寫可編輯就行了,這樣一來只有beinan一個用戶可以對其私有文件進行操作,Linux 在多用戶下表現最佳,Linux能很好的保護每個用戶的安全,但我們也得學會Linux 才是,再安全的系統,如果沒有安全意識的管理員或管理技術,這樣的系統也不是安全的。
從伺服器角度來說,多用戶的下的系統安全性也是最為重要的,我們常用的Windows 操作系統,它在系紡許可權管理的能力只能說是一般般,根本沒有沒有辦法和Linux或Unix 類系統相比;
二、用戶(user)和用戶組(group)概念; 1、用戶(user)的概念; 通過前面對Linux 多用戶的理解,我們明白Linux 是真正意義上的多用戶操作系統,所以我們能在Linux系統中建若干用戶(user)。比如我們的同事想用我的計算機,但我不想讓他用我的用戶名登錄,因為我的用戶名下有不想讓別人看到的資料和信息(也就是隱私內容)這時我就可以給他建一個新的用戶名,讓他用我所開的用戶名去折騰,這從計算機安全形度來說是符合操作規則的;
當然用戶(user)的概念理解還不僅僅於此,在Linux系統中還有一些用戶是用來完成特定任務的,比如nobody和ftp 等,我們訪問LinuxSir.Org 的網頁程序,就是nobody用戶;我們匿名訪問ftp 時,會用到用戶ftp或nobody ;如果您想了解Linux系統的一些帳號,請查看 /etc/passwd ;
2、用戶組(group)的概念; 用戶組(group)就是具有相同特徵的用戶(user)的集合體;比如有時我們要讓多個用戶具有相同的許可權,比如查看、修改某一文件或執行某個命令,這時我們需要用戶組,我們把用戶都定義到同一用戶組,我們通過修改文件或目錄的許可權,讓用戶組具有一定的操作許可權,這樣用戶組下的用戶對該文件或目錄都具有相同的許可權,這是我們通過定義組和修改文件的許可權來實現的;
舉例:我們為了讓一些用戶有許可權查看某一文檔,比如是一個時間表,而編寫時間表的人要具有讀寫執行的許可權,我們想讓一些用戶知道這個時間表的內容,而不讓他們修改,所以我們可以把這些用戶都劃到一個組,然後來修改這個文件的許可權,讓用戶組可讀,這樣用戶組下面的每個用戶都是可讀的; 用戶和用戶組的對應關系是:一對一、多對一、一對多或多對多; 一對一:某個用戶可以是某個組的唯一成員;多對一:多個用戶可以是某個唯一的組的成員,不歸屬其它用戶組;比如beinan和linuxsir兩個用戶只歸屬於beinan用戶組;一對多:某個用戶可以是多個用戶組的成員;比如beinan可以是root組成員,也可以是linuxsir用戶組成員,還可以是adm用戶組成員;多對多:多個用戶對應多個用戶組,並且幾個用戶可以是歸屬相同的組;其實多對多的關系是前面三條的擴展;理解了上面的三條,這條也能理解;
三、用戶(user)和用戶組(group)相關的配置文件、命令或目錄; 1、與用戶(user)和用戶組(group)相關的配置文件;
1)與用戶(user)相關的配置文件;
/etc/passwd註:用戶(user)的配置文件;/etc/shadow註:用戶(user)影子口令文件;
2)與用戶組(group)相關的配置文件; /etc/group註:用戶組(group)配置文件;/etc/gshadow註:用戶組(group)的影子文件;
2、管理用戶(user)和用戶組(group)的相關工具或命令; 1)管理用戶(user)的工具或命令;
useradd 註:添加用戶
adser 註:添加用戶
passwd 註:為用戶設置密碼
usermod 註:修改用戶命令,可以通過usermod 來修改登錄名、用戶的家目錄等等;
pwcov 註:同步用戶從/etc/passwd 到/etc/shadow
pwck 註:pwck是校驗用戶配置文件/etc/passwd 和/etc/shadow 文件內容是否合法或完整;
pwunconv 註:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創建/etc/passwd ,然後會刪除 /etc/shadow 文件;
finger 註:查看用戶信息工具
id 註:查看用戶的UID、GID及所歸屬的用戶組
chfn 註:更改用戶信息工具
su 註:用戶切換工具
sudo 註:sudo 是通過另一個用戶來執行命令(execute a command as another user),su 是用來切換用戶,然後通過切換到的用戶來完成相應的任務,但sudo 能後面直接執行命令,比如sudo 不需要root 密碼就可以執行root 賦與的執行只有root才能執行相應的命令;但得通過visudo 來編輯/etc/sudoers來實現;
visudo 註:visodo 是編輯 /etc/sudoers 的命令;也可以不用這個命令,直接用vi 來編輯 /etc/sudoers 的效果是一樣的;
sudoedit 註:和sudo 功能差不多;
2)管理用戶組(group)的工具或命令;
groupadd 註:添加用戶組;
groupdel 註:刪除用戶組;
groupmod 註:修改用戶組信息
groups 註:顯示用戶所屬的用戶組
grpckgrpconv 註:通過/etc/group和/etc/gshadow 的文件內容來同步或創建/etc/gshadow ,如果/etc/gshadow 不存在則創建;
grpunconv 註:通過/etc/group 和/etc/gshadow 文件內容來同步或創建/etc/group ,然後刪除gshadow文件;
3、/etc/skel 目錄; /etc/skel目錄一般是存放用戶啟動文件的目錄,這個目錄是由root許可權控制,當我們添加用戶時,這個目錄下的文件自動復制到新添加的用戶的家目錄下;/etc/skel 目錄下的文件都是隱藏文件,也就是類似.file格式的;我們可通過修改、添加、刪除/etc/skel目錄下的文件,來為用戶提供一個統一、標準的、默認的用戶環境;
[root@localhost beinan]# ls -la /etc/skel/
總用量92
drwxr-xr-x 3 root root 4096 8月 11 23:32 .
drwxr-xr-x 115 root root 12288 10月 14 13:44 ..
-rw-r--r-- 1 root root 24 5月 11 00:15 .bash_logout
-rw-r--r-- 1 root root 191 5月 11 00:15 .bash_profile-rw-r--r-- 1 root root 124 5月 11 00:15 .bashrc
-rw-r--r-- 1 root root 5619 2005-03-08 .canna
-rw-r--r-- 1 root root 438 5月 18 15:23 .emacs
-rw-r--r-- 1 root root 120 5月 23 05:18 .gtkrcd
rwxr-xr-x 3 root root 4096 8月 11 23:16 .kde
-rw-r--r-- 1 root root 658 2005-01-17 .zshrc
/etc/skel目錄下的文件,一般是我們用useradd 和adser 命令添加用戶(user)時,系統自動復制到新添加用戶(user)的家目錄下;如果我們通過修改 /etc/passwd 來添加用戶時,我們可以自己創建用戶的家目錄,然後把/etc/skel 下的文件復制到用戶的家目錄下,然後要用chown 來改變新用戶家目錄的屬主; 4、/etc/login.defs 配置文件; /etc/login.defs文件是當創建用戶時的一些規劃,比如創建用戶時,是否需要家目錄,UID和GID的范圍;用戶的期限等等,這個文件是可以通過root來定義的;
比如Fedora 的 /etc/logins.defs 文件內容;
# *REQUIRED*# Directory where mailboxes reside, _or_ name of file, relative to the# home directory. If you _do_ define both, MAIL_DIR takes precedence.# QMAIL_DIR is for Qmail##QMAIL_DIR MaildirMAIL_DIR /var/spool/mail 註:創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件;#MAIL_FILE .mail# Password aging controls:## PASS_MAX_DAYS Maximum number of days a password may be used.# PASS_MIN_DAYS Minimum number of days allowed between password changes.# PASS_MIN_LEN Minimum acceptable password length.# PASS_WARN_AGE Number of days warning given before a password expires.#PASS_MAX_DAYS 99999 註:用戶的密碼不過期最多的天數;PASS_MIN_DAYS 0 註:密碼修改之間最小的天數;PASS_MIN_LEN 5 註:密碼最小長度;PASS_WARN_AGE 7 註:## Min/max values for automatic uid selection in useradd#UID_MIN 500 註:最小UID為500 ,也就是說添加用戶時,UID 是從500開始的;UID_MAX 60000 註:最大UID為60000;## Min/max values for automatic gid selection in groupadd#GID_MIN 500 註:GID 是從500開始;GID_MAX 60000## If defined, this command is run when removing a user.# It should remove any at/cron/print jobs etc. owned by# the user to be removed (passed as the first argument).##USERDEL_CMD /usr/sbin/userdel_local## If useradd should create home directories for users by default# On RH systems, we do. This option is ORed with the -m flag on# useradd command line.#CREATE_HOME yes 註:是否創用戶家目錄,要求創建;
5、/etc/default/useradd 文件;
通過useradd 添加用戶時的規則文件;
# useradd defaults fileGROUP=100HOME=/home 註:把用戶的家目錄建在/home中;INACTIVE=-1 註:是否啟用帳號過期停權,-1表示不啟用;EXPIRE= 註:帳號終止日期,不設置表示不啟用;SHELL=/bin/bash 註:所用SHELL的類型;SKEL=/etc/skel 註: 默認添加用戶的目錄默認文件存放位置;也就是說,當我們用adser添加用戶時,用戶家目錄下的文件,都是從這個目錄中復制過去的;
後記:
關於用戶(user)和用戶組(group)管理內容大約就是這么多;只要把上面所說的內容了解和掌握,用戶(user)和用戶組(group)管理就差不多了;由於用戶(user)和用戶組(group)是和文件及目錄許可權聯系在一起的,所以文件及目錄許可權的操作也會獨立成文來給大家介紹;
摘自 http://fedora.linuxsir.org/main/?q=node/91
⑸ linux怎麼刪除文件夾下所有文件
在 Linux 下刪除目錄的命令是「rm」,我們可以在終端命令提示符下輸入「rm --help」查看 rm 命令的具體使用方法。
我們常用的幾個參數為「-f -i -r -v」
-i 刪除前逐一詢問確認。這個參數有一個好處,當在刪除大量文件或目錄的時候,可以防止我們誤操作刪除的文件或目錄。
-f 即使原檔案屬性設為唯讀,強制刪除,系統不會逐一讓我們確認。
-r 將目錄及以下之檔案文件一並刪除。注意:如果 rm 不帶此參數,是不能刪除目錄的。
-v或--verbose 顯示指令執行後的結果信息。更多Linux知識可參考書籍《Linux就該這么學》。
⑹ linux防火牆 iptables
iptables命令用於管理防火牆的規則策略,格式為:「iptables [-t 表名] 選項 [鏈名] [條件] [-j 控制類型]」。
表格為讀者總結了幾乎所有常用的iptables參數,如果記不住也沒關系,用時來查就行,看完後來學習下如何組合並使用吧:
參數 作用
-P 設置默認策略:iptables -P INPUT (DROP|ACCEPT)
-F 清空規則鏈
-L 查看規則鏈
-A 在規則鏈的末尾加入新規則
-I num 在規則鏈的頭部加入新規則
-D num 刪除某一條規則
-s 匹配來源地址IP/MASK,加嘆號"!"表示除這個IP外。
-d 匹配目標地址
-i 網卡名稱 匹配從這塊網卡流入的數據
-o 網卡名稱 匹配從這塊網卡流出的數據
-p 匹配協議,如tcp,udp,icmp
--dport num 匹配目標埠號
--sport num 匹配來源埠號
查看已有的規則:
[root@linuxprobe ~]# iptables -L
清空已有的規則:
[root@linuxprobe ~]# iptables -F
將INPUT鏈的默認策略設置為拒絕:
當INPUT鏈默認規則設置為拒絕時,我們需要寫入允許的規則策略。
這個動作的目地是當接收到數據包時,按順序匹配所有的允許規則策略,當全部規則都不匹配時,拒絕這個數據包。
[root@linuxprobe ~]# iptables -P INPUT DROP
允許所有的ping操作:
[root@linuxprobe ~]# iptables -I INPUT -p icmp -j ACCEPT
在INPUT鏈的末尾加入一條規則,允許所有未被其他規則匹配上的數據包:
因為默認規則表就是filter,所以其中的"-t filter"一般省略不寫,效果是一樣的。
[root@linuxprobe ~]# iptables -t filter -A INPUT -j ACCEPT
刪除上面的那條規則:
[root@linuxprobe ~]# iptables -D INPUT 2
既然讀者已經掌握了iptables命令的基本參數,那麼來嘗試解決模擬訓練吧:
模擬訓練A:僅允許來自於192.168.10.0/24域的用戶連接本機的ssh服務。
Iptables防火牆會按照順序匹配規則,請一定要保證「允許」規則是在「拒絕」規則的上面。
[root@linuxprobe ~]# iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT
[root@linuxprobe ~]# iptables -A INPUT -p tcp --dport 22 -j REJECT
模擬訓練B:不允許任何用戶訪問本機的12345埠。
[root@linuxprobe ~]# iptables -I INPUT -p tcp --dport 12345 -j REJECT
[root@linuxprobe ~]# iptables -I INPUT -p udp --dport 12345 -j REJECT
模擬實驗C(答案模式):拒絕其他用戶從"eno16777736"網卡訪問本機http服務的數據包。
答案:[rootlinuxprobe ~]# iptables -I INPUT -i eno16777736 -p tcp --dport 80 -j REJECT
模擬訓練D:禁止用戶訪問www.my133t.org。
[root@linuxprobe ~]# iptables -I FORWARD -d www.my133t.org -j DROP
模擬訓練E:禁止IP地址是192.168.10.10的用戶上網
[root@linuxprobe ~]# iptables -I FORWARD -s 192.168.10.10 -j DROP
iptables命令執行後的規則策略僅當前生效,若想重啟後依然保存規則需執行"service iptables save"。
參考《linux就該這么學》,第7章節 Iptables