? 在Linux系統(tǒng)中文件除了有讀寫執(zhí)行權(quán)限外,ext2文件系統(tǒng)還支持強(qiáng)制位 (setuid 、setgid)與冒險位(sticky)的特別權(quán)限
10余年的南昌縣網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整南昌縣建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“南昌縣網(wǎng)站設(shè)計”,“南昌縣網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
? 針對文件創(chuàng)建者可以添加強(qiáng)制位(setuid),文件屬組也可以添加強(qiáng)制位 (setgid),針對其它用戶又可以添加冒險位(sticky)
? 強(qiáng)制位與冒險位添加在執(zhí)行權(quán)限(x)的位置上。如果該位置上原已有執(zhí)行權(quán)限,則強(qiáng)制位與冒險位以小寫字母(s或t)的方式表示,否則,以大寫字母(S或T)表示
? 例:如果文件的權(quán)限為”rwx r-- r-x”,那么如果設(shè)置了強(qiáng)制位與冒險位則新的權(quán)限為“rwsr-Sr-t”
? 對創(chuàng)建者設(shè)置強(qiáng)制位setuid,一般針對的是一個 系統(tǒng)中的指令 或 可執(zhí)行文件
? 在默認(rèn)情況下,用戶執(zhí)行一個指令,會以該用戶的身份來運行
? 當(dāng)對一個指令對應(yīng)的可執(zhí)行文件設(shè)置了(setuid),那么任何一個用戶在執(zhí)行這個文件的時候,都會以指令對應(yīng)的可執(zhí)行文件的創(chuàng)建者身份來執(zhí)行這個文件
? 語法:chmod u±s 文件名
? 例:chmod u+s /bin/ls
可以查看到/bin/ls的所有者和所有組都是root。假如現(xiàn)在有一個文件夾是屬于root用戶root組,權(quán)限為-rwx--x--x,也就是除了root用戶,所屬組和其他用戶對這個文件夾除了cd沒有任何權(quán)限。這時隨便切換一個other用戶,發(fā)現(xiàn)在這個文件夾里敲ls會被拒絕。用ll /bin/ls 查看發(fā)現(xiàn)權(quán)限是-rwxr-xr-x,即除了root用戶其他所有用戶有讀和執(zhí)行的權(quán)限(即使將該文件的權(quán)限改成777,other用戶仍然無法在該文件夾里敲ls)。用chmod u+s /bin/ls命令后,再用ll /bin/ls 查看發(fā)現(xiàn)權(quán)限變成了-rwsr-xr-x,說明我使/bin/ls這個命令在被執(zhí)行的時候是按照這個可執(zhí)行文件的創(chuàng)建者,即root來執(zhí)行的,這時敲ls就不會被拒絕了。
bin文件夾和sbin文件夾里都是系統(tǒng)文件,所以即使是root用戶把自己的權(quán)限(文件屬主和屬組)給其他普通用戶,他也不能進(jìn)行u±s操作。但是其他普通文件夾就可以
root用戶賦予普通用戶,普通用戶權(quán)限隨root
如果之后普通用戶權(quán)限賦予root,root用戶也會隨這個普通用戶的權(quán)限
? 對組設(shè)置強(qiáng)制位setgid,一般針對的是一個目錄
? 在默認(rèn)情況下,用戶在某目錄中創(chuàng)建的文件或子目錄的屬組是該用戶的主屬組
? 如果對一個目錄設(shè)置了屬組的強(qiáng)制位,則任何用戶在此目錄中創(chuàng)建的文件或子目錄都會繼承此目錄的屬組(前提:用戶有權(quán)限在目錄中創(chuàng)建文件或子目錄)
? 語法:chmod g±s 目錄
? 例:chmod g+s /dir
即使是root用戶在chmod g+s 目錄下它的所屬組也會變成該文件所屬的組
比如現(xiàn)在有一個文件夾的所屬組為user1組,通過chmod g+s 文件夾進(jìn)行設(shè)置強(qiáng)制位以后,所有在這個文件夾里新創(chuàng)建的文件或文件夾都會為user1組, 舊的文件不會被更改 。
同樣,在chmod g-s 文件夾以后再新建的文件夾沒有s,但是之前繼承的有s的不會被更改。注意,比如有文件夾E,在E文件夾上設(shè)置g+s后,在E文件家里新建了文件夾F,那么F會繼承E的g+s。之后在E文件夾上設(shè)置g-s后,還要在F文件夾上設(shè)置g-s才能把這個s去掉,否則在F文件夾里新建的文件夾還是會繼承
實驗 :
? 對其它用戶設(shè)置冒險位sticky ,一般針對的是一個目錄 ,chmod o+t 目錄
? 在默認(rèn)情況下,如果一個目錄對用戶有r、w和x權(quán)限,則這個用戶可以在此目錄中建立與刪除任何文件
? 一旦在目錄上設(shè)置了冒險位,則表示在此目錄中,只有文件的擁有者、目錄的擁有者與root用戶才可以在目錄中刪除此文件
實驗:
? 用戶可以用chmod指令來為文件設(shè)置強(qiáng)制位與冒險位
? setuid:chmod u+s 文件名
? setgid:chmod g+s 目錄名
? sticky:chmod o+t 目錄名
? 強(qiáng)制位與冒險位也可以通過一個數(shù)字加和,放在讀寫執(zhí)行的三位數(shù)字前來指定
? 4(setuid)
? 2(setgid)
? 1(sticky)
? 例:要為某文件設(shè)置為”rws r-x r-x”的權(quán)限則可以使用下面的指令:chmod 4755 文件名
stat 文件名或者目錄名 即可查看四位權(quán)限
四位權(quán)限位的第一位表示特殊權(quán)限位,即u+s=4,g+s=2,o+t=1
例如一個文件夾權(quán)限為:1777,表示設(shè)置了o+t,并且所有用戶都有讀寫執(zhí)行權(quán)限
?一個文件能不能刪要看這個文件所在的文件夾有沒有w權(quán)限,和它所在的文件夾的上一層文件夾有沒有w權(quán)限沒有關(guān)系。除非用g+s讓文件夾繼承父文件夾權(quán)限
u+s 在文件夾上設(shè)置一點兒意義沒有
g+s 在文件上設(shè)置一點兒意義沒有
o+t 在文件上設(shè)置一點兒意義沒有
權(quán)限管理命令 chmod
英文愿意: change the permissions mode of a file
語法: chmod[{ugoa}{+-=}{rwx}] [文件或目錄]
[mide = 421] [文件或目錄]
-R 遞歸修改
權(quán)限的數(shù)字表示
r -- 4
w -- 2
x -- 1
rwxrw-r-- (4+2+1 = 7)
7 6 4
例子:mkdir /temp 創(chuàng)建了一個目錄
touch /temp/testfile 在該目錄下創(chuàng)建了一個test file文件
chmod 777 /temp 改變了一下該目錄的權(quán)限
名稱: chgrp
英文原意:change file group ownership
語法:chgrp [用戶][文件或目錄]
功能: 改變文件或目錄的所屬租
例子: useradd hl // 添加所有者
groupadd brother // 添加所有組
charp brother text // brother變成了text文件的所屬組
注意:
1、所屬組就是創(chuàng)建這的所屬者的缺省組
2、linux中創(chuàng)建的文件缺少x(可執(zhí)行)為了使系統(tǒng)更加安全
mask
0022
0特殊權(quán)限
022 ugo --- -w- -w-
1、文件搜索命令find
執(zhí)行權(quán)限:find
語法:find[搜索范圍][匹配條件]
功能描述:文件搜索
例子:
find /etc -name init (-iname 不區(qū)分大小寫)
find /home -user(-group) hl
在根目錄下查找所有者(所有組)為hl的文件
在目錄/etc中查找文件init
init init init // 通配符
?init (?匹配單個字符)
find / -size +204800
在跟目錄下查找大于100MB的文件 (100MB = 102400KB = 204800)
+n 大于 -n小于 n等于
find /etc -cmin -5
例子2:
find /etc -size + 163840 -a size -204800
在/etc下查找大于80MB小于100MB的文件
-a兩個條件同時滿足
-o兩個條件滿足任意一個即可
在/etc下查找5分鐘內(nèi)被修改的屬性的文件和目錄
-amin 訪問時間 access
-cmin 文件屬性 change
-mmin 文件內(nèi)容 modify
2、文件搜索指令 locate
命名名稱:locate
執(zhí)行權(quán)限:所有用戶
語法:locate 文件名
功能描述:在文件資料庫中查找文件
例子: $ locate inittab
輸出文件所在位置
locate和find的區(qū)別:
locate的查找速度很快,因為find是在分區(qū)和磁盤上查找,而locate是在資料庫中查找
注意:如果資料庫沒有實時更新,所以locate可能會查不到要查詢的文件。
即:
updatedb (升級文件的資料庫)
loocate -i 文件名 (-i 不區(qū)分大小寫)
3、文件搜索命令:which (更精確呦)
執(zhí)行權(quán)限:所有用戶
功能描述:搜索命令所在目錄及別名信息
例子: which ls
alias(別名)
4、whiereis
執(zhí)行權(quán)限:所有用戶
語法: whereis[命令名稱]
功能描述:搜索命令所在目錄及幫助文檔路徑
例子: whereis ls
5、grep
執(zhí)行權(quán)限:所有用戶
語法:grep -iv[指定字串][文件]
功能描述:在文件中搜索字符串匹配的行并輸出
-i 不區(qū)分大小寫
-v 排除指定字符串
例子 grep mysql /root/install.log
補充: linux中 # 表示注釋
命名名稱:man
英文原意:manual
執(zhí)行權(quán)限:所有用戶
語法:man[命令或配置文件]
功能描述:獲取幫助信息
例子: man ls # 查看ls命令的幫助信息
man services 查看配置文件sevices的幫助信息
補充:man 。。。。后
/-g :查詢與g有關(guān)的信息
空格進(jìn)行翻頁
回車進(jìn)行換行
按n繼續(xù)查找
命令名稱:useradd
執(zhí)行權(quán)限:root
語法:useradd 用戶名
功能描述: 添加新用戶
例子: useradd HF
命令名稱:passwd
執(zhí)行權(quán)限:所有用戶
語法:passwd 用戶名
功能描述: 設(shè)置用戶密碼
例子: passwd HF
命令名稱:who
執(zhí)行權(quán)限:所有用戶
語法:who
功能描述: 查看登錄用戶信息
例子: who
輸出內(nèi)容含義:
登錄用戶名 登錄終端(tty本地登錄、pds表述遠(yuǎn)程終端) 登錄時間 登錄主機(jī)ip地址
命令名稱:w
執(zhí)行權(quán)限:所有用戶
語法:w
功能描述: 查看登錄用戶詳細(xì)信息
例子: w
命令名稱:gzip
英文原意:GNU zip
執(zhí)行權(quán)限:所有用戶
語法:gzip[文件]
功能描述: 壓縮文件
壓縮后文件格式:.gz
解壓縮:gunzip 壓縮文件
注意:gizp只能壓縮文件,不能壓縮目錄
命令名稱:tar
執(zhí)行權(quán)限:所有用戶
語法:tar 選項 [-zcf] [壓縮文件名] [目錄]
-c 打包
-v 顯示詳細(xì)文件
-f 指定文件名
-z 打包同時壓縮
功能描述: 打包目錄
壓縮后文件格式:.tar.gz
命令名稱:zip
執(zhí)行權(quán)限:所有用戶
語法:zip 選項[-r][壓縮后文件名][文件或目錄]
-r 壓縮目錄
功能描述: 壓縮文件或目錄
壓縮后文件格式: zip
注意:zip是window和linux系統(tǒng)中通過用的壓縮格式
命令名稱:bzip2
執(zhí)行權(quán)限:所有用戶
語法:bzip2 選項 [-k] [文件]
-k 產(chǎn)生壓縮文件后保留有源文件
功能描述: 壓縮文件
壓縮后文件格式: .bz2
注意: bzip2的壓縮比例大,適用于壓縮較大的文件
bunzip2解壓縮
對目錄壓縮:tar.bz2
指令名稱:write
指令權(quán)限:所有用戶
語法:write 用戶名
功能描述:給用戶發(fā)消息 ,以ctrl + D保存
例子: write YX
命令名稱:wall
英文原意:write all
執(zhí)行權(quán)限:所有用戶
語法:wall [message]
功能描述: 發(fā)廣播信息
命令名稱:ping
執(zhí)行權(quán)限:所有用戶
語法:ping 選項IP地址
-c 指定發(fā)送次數(shù)
功能描述: 測試網(wǎng)絡(luò)連通性
例子: ping 192.168.1.156
命令名稱:ifcongig
英文原意:interface configure
執(zhí)行權(quán)限:root
語法:ifconfig 網(wǎng)卡名稱 IP地址
功能描述:查看和設(shè)置網(wǎng)卡信息(設(shè)立之臨時IP)
例子: ifconfig etho 192.168.1.156
etch0 本地真實網(wǎng)卡
lo 回環(huán)網(wǎng)卡 (用來本機(jī)通信個測試的)
cncap:。。網(wǎng)絡(luò)名稱是以太網(wǎng)
HWaddr: 16進(jìn)制表示的 48位的 網(wǎng)卡的物理地址
addr:當(dāng)前計算機(jī)IP地址
Bcast:當(dāng)前網(wǎng)絡(luò)地址
Mask:子網(wǎng)掩碼
inet6 addr: 表示的是IPv6的地址信息
RX packets:接受數(shù)據(jù)包的總數(shù)量
TX packets:發(fā)送數(shù)據(jù)包的總數(shù)量
Base addtess: 網(wǎng)卡當(dāng)中的物理位置
命令名稱:mail (郵件命令)
執(zhí)行權(quán)限:所有用戶
語法:mail [用戶名]
功能描述:查看發(fā)送電子郵件
發(fā)送:ctrl + D
查詢: mail
例子: mail root
[圖片上傳中...(-d00bb9-1591253201012-0)]
命令名稱:last
執(zhí)行權(quán)限:所有用戶
語法:last
功能描述:列出目前和過去登入系統(tǒng)的用戶信息
命令名稱:traceroute
執(zhí)行權(quán)限:所有用戶
語法:traceroute
功能描述:顯示數(shù)據(jù)包到主機(jī)的路徑
例子: traceroute
命令名稱:netstat
執(zhí)行權(quán)限:所有用戶
語法:netstat [選項]
功能描述:顯示網(wǎng)絡(luò)相關(guān)信息
選項:
-t : TCP協(xié)議
-u : UDP協(xié)議
-l : 監(jiān)聽
-r : 路由
-n : 顯示IP地址和端口號
例子:
netstat -tlun 查看本機(jī)監(jiān)聽的端口
netstat -an 查看本機(jī)所有網(wǎng)絡(luò)鏈接
netstat -rn 查看本屆路由表
命令名稱:setup
執(zhí)行權(quán)限:root
語法:setup
功能描述:配置網(wǎng)絡(luò)(永久生效)
例子: setup
注意:配置網(wǎng)絡(luò)結(jié)束后要重啟網(wǎng)絡(luò)服務(wù)
service network restart
掛在命令
命令名稱:mount
執(zhí)行權(quán)限:所有用戶
語法:mount[-t 文件系統(tǒng)] 設(shè)備文件
例子: mount -t iso9660/dev/sr0/mnt/cdrom
命令名稱:shutdown
[root@localhost~]#shutdown [選項] 時間
選項:- c : 取消前一個關(guān)機(jī)命令
- h:關(guān)機(jī)
- r :重啟
特點:可以正確的關(guān)閉和保存服務(wù),建議實用
其他關(guān)機(jī)命令
halt
poweroff (直接斷電)
init 0
重啟命令
reboot
init6
補充:init _ 的數(shù)字含義
init0 關(guān)機(jī)
init1 單用戶(啟動最小最核心的服務(wù))
init2 不完全多用戶,不含NFS服務(wù)(network file system 網(wǎng)絡(luò)文件系統(tǒng))
init3 完全多用戶
init4 未分配
init5 圖形界面
init6 重啟
查詢系統(tǒng)運行級別
runlevel
退出登錄命令
logout
linux下ping 命令的用法。
在linux操作系統(tǒng)中,ping命令是常用的網(wǎng)絡(luò)命令,它通常用來測試與目標(biāo)主機(jī)的連通性。
經(jīng)常會說“ping一下某機(jī)器,看是不是開著”、不能打開網(wǎng)頁時會說“你先ping網(wǎng)關(guān)地址192.168.1.1試試”。
它通過發(fā)送ICMP ECHO_REQUEST數(shù)據(jù)包到網(wǎng)絡(luò)主機(jī)(send ICMP ECHO_REQUEST to network hosts),并顯示響應(yīng)情況,這樣我們就可以根據(jù)它輸出的信息來確定目標(biāo)主機(jī)是
否可訪問(但這不是絕對的)。有些服務(wù)器為了防止通過ping探測到,通過防火墻設(shè)置了禁止ping或者在內(nèi)核參數(shù)中禁止ping,這樣就不能通過ping確定該主機(jī)是否還處于
開啟狀態(tài)。
linux下的ping和windows下的ping稍有區(qū)別,linux下ping不會自動終止,需要按ctrl+c終止或者用參數(shù)-c指定要求完成的回應(yīng)次數(shù)。
下面就開始學(xué)習(xí)下這個常用的linux命令吧。
1.命令格式:
ping [參數(shù)] [主機(jī)名或IP地址]
2.命令功能:
ping命令用于:確定網(wǎng)絡(luò)和各外部主機(jī)的狀態(tài);跟蹤和隔離硬件和軟件問題;測試、評估和管理網(wǎng)絡(luò)。如果主機(jī)正在運行并連在網(wǎng)上,它就對回送信號進(jìn)行響應(yīng)。每個回送
信號請求包含一個網(wǎng)際協(xié)議(IP)和 ICMP 頭,后面緊跟一個 tim 結(jié)構(gòu),以及來填寫這個信息包的足夠的字節(jié)。缺省情況是連續(xù)發(fā)送回送信號請求直到接收到中斷信號
(Ctrl-C)。
ping 命令每秒發(fā)送一個數(shù)據(jù)報并且為每個接收到的響應(yīng)打印一行輸出。ping 命令計算信號往返時間和(信息)包丟失情況的統(tǒng)計信息,并且在完成之后顯示一個簡要總結(jié)。
ping 命令在程序超時或當(dāng)接收到 SIGINT 信號時結(jié)束。Host 參數(shù)或者是一個有效的主機(jī)名或者是因特網(wǎng)地址。
3.命令參數(shù):
-d 使用Socket的SO_DEBUG功能。
-f 極限檢測。大量且快速地送網(wǎng)絡(luò)封包給一臺機(jī)器,看它的回應(yīng)。
-n 只輸出數(shù)值。
-q 不顯示任何傳送封包的信息,只顯示最后的結(jié)果。
-r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠(yuǎn)端主機(jī)上。通常是查看本機(jī)的網(wǎng)絡(luò)接口是否有問題。
-R 記錄路由過程。
-v 詳細(xì)顯示指令的執(zhí)行過程。
p-c 數(shù)目:在發(fā)送指定數(shù)目的包后停止。
-i 秒數(shù):設(shè)定間隔幾秒送一個網(wǎng)絡(luò)封包給一臺機(jī)器,預(yù)設(shè)值是一秒送一次。
-I 網(wǎng)絡(luò)界面:使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包。
-l 前置載入:設(shè)置在送出要求信息之前,先行發(fā)出的數(shù)據(jù)包。
-p 范本樣式:設(shè)置填滿數(shù)據(jù)包的范本樣式。
-s 字節(jié)數(shù):指定發(fā)送的數(shù)據(jù)字節(jié)數(shù),預(yù)設(shè)值是56,加上8字節(jié)的ICMP頭,一共是64ICMP數(shù)據(jù)字節(jié)。
-t 存活數(shù)值:設(shè)置存活數(shù)值TTL的大小。
4.使用實例:
實例1:ping的通的情況
復(fù)制代碼代碼示例:
命令:
ping 192.168.120.205
輸出:
[root@localhost ~]# ping 192.168.120.205
PING 192.168.120.205 (192.168.120.205) 56(84) bytes of data.
64 bytes from 192.168.120.205: icmp_seq=1 ttl=64 time=0.720 ms
64 bytes from 192.168.120.205: icmp_seq=2 ttl=64 time=0.181 ms
64 bytes from 192.168.120.205: icmp_seq=3 ttl=64 time=0.191 ms
64 bytes from 192.168.120.205: icmp_seq=4 ttl=64 time=0.188 ms
64 bytes from 192.168.120.205: icmp_seq=5 ttl=64 time=0.189 ms
--- 192.168.120.205 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4000ms
rtt min/avg/max/mdev = 0.181/0.293/0.720/0.214 ms
[root@localhost ~]#
更多Linux知識可以參考《Linux就該這么學(xué)》