第五节 suid/ sgid /sbit /which /locate / find /stat / ln / uname -a
復(fù)習(xí)上節(jié)課內(nèi)容(重點(diǎn)記錄)
1、chown -R 遞歸修改目錄下包含子目錄和子目錄下的文件的屬組
2、chmod -R 遞歸修改目錄下包含子目錄和子目錄下的文件的權(quán)限
============================================================
其實(shí)在UNIX的實(shí)現(xiàn)中,文件權(quán)限用12個(gè)二進(jìn)制位表示,如果該位置上的值是1,表示有相應(yīng)的權(quán)限,如果是0則沒有相應(yīng)權(quán)限
第11位為SUID位,第10位為SGID位,第9位為sticky位,第8-0位對(duì)應(yīng)于上面的三組rwx位
11 10 9 8 7 6 5 4 3 2 1 0
S G T r w x r w x r w x
chmod u+s filename 設(shè)置SUID位
chmod u-s filename 去掉SUID設(shè)置
chmod g+s filename 設(shè)置SGID位
chmod g-s filename 去掉SGID設(shè)置
-rwsrwxswt ======>出現(xiàn)了t,t的作用在內(nèi)存中盡量保存a.txt,節(jié)省系統(tǒng)再加載的時(shí)間.
從s和S中我們可以看出在設(shè)置su前,腳本相應(yīng)的執(zhí)行權(quán)限有沒有被設(shè)置(有則s,沒有則S)。
對(duì)于sgid的設(shè)置時(shí)也類似。粘性位則用t和T表示,但其中包含的意義是一樣的。
rwsrw-r– 表示有setuid標(biāo)志
rwxrwsrw- 表示有setgid標(biāo)志
rwxrw-rwt 表示有sticky標(biāo)志
chmod 4777 //是設(shè)sid
chmod 2777 //是設(shè)置gid
chmod 1777 //是設(shè)sticky-- t 該位可以理解為防刪除位. 一個(gè)文件是否可以被>某用戶刪除,主要取決于
該文件所屬的組是否對(duì)該用戶具有寫權(quán)限. 如果沒有寫權(quán)限, 則這個(gè)目錄下的所有文件都不
能被刪除, 同時(shí)也不能添加新的文件. 如果希望用戶能夠添加文件但同時(shí)不能刪除文件, 則
可以對(duì)文件使用sticky bit位
0: 不設(shè)置特殊權(quán)限
1: 只設(shè)置sticky
2 : 只設(shè)置SGID
3: 只設(shè)置SGID和sticky
4 : 只設(shè)置SUID
5 : 只設(shè)置SUID和sticky
6 : 只設(shè)置SUID和SGID
7 : 設(shè)置3種權(quán)限
1、設(shè)置特殊權(quán)限 SUID、SGID詳解 參考:http://www.cnblogs.com/fhefh/archive/2011/09/20/2182155.html
SUID : Set User ID (find / -perm -04000 -type f -ls查找設(shè)置SUID的程序)
作用:臨時(shí)賦予用戶二進(jìn)制文檔的擁有者的權(quán)限(主要用于讓普通用戶可以使用某些特殊命令)
語法1:chmod u+s file(增加s權(quán)限)
語法2:chmod u-s file(減去s權(quán)限)
使用限制與環(huán)境:
1、僅對(duì)于二進(jìn)制文件有效;
2、執(zhí)行者必須對(duì)文件擁有x權(quán)限(否則即使設(shè)置了SUID,由于你對(duì)文件根本無法執(zhí)行SUID此時(shí)也無效,此時(shí)權(quán)限位顯示S);
3、權(quán)限只是在執(zhí)行過程中擁有。
PS:例如passwd命令,路徑/usr/bin/passwd,權(quán)限為"-rwsr-xr-x"。(passwd命令會(huì)修改"/etc/shadow")
PS:SUID只可用于二進(jìn)制文件,不可用于shell script文件。
SGID : Set Group ID:
對(duì)于文件
作用:臨時(shí)賦予用戶二進(jìn)制文檔的擁有組的權(quán)限(多用于讓普通用戶可以使用某些特殊命令,和suid類似)
語法1:chmod g+s file(增加s權(quán)限)
語法2:chmod g-s file(減去s權(quán)限)
使用限制與環(huán)境:
1、僅對(duì)于二進(jìn)制文件有效;
2、執(zhí)行者必須對(duì)文件擁有x權(quán)限(否則根本無法執(zhí)行文件,更別談SGID賦予權(quán)限,此時(shí)權(quán)限位顯示S);
3、權(quán)限只是在執(zhí)行過程中擁有。
PS:例如locate命令,路徑/usr/bin/locate,權(quán)限為"rwx--s--x"。
(locate命令會(huì)讀取"/var/lib/mlocate/mlocate.db")
對(duì)于目錄
作用:臨時(shí)將用戶的effective group修改成該目錄的的群組
語法1:chmod g+s dir(增加s權(quán)限)
語法2:chmod g-s dir(減去s權(quán)限)
使用限制與環(huán)境:
1、使用者必須對(duì)該目錄擁有x權(quán)限(否則無法進(jìn)入,更別談SUID賦予權(quán)限,此時(shí)權(quán)限位顯示S);
2、若用戶對(duì)此目錄擁有w權(quán)限,由于effective group被修改成該目錄的group,所以用戶在此目錄下創(chuàng)建任何文件,屬組該目錄的用戶組。
SBIT
作用:限制目錄下不同用戶之間對(duì)于其他用戶文檔或目錄的編輯權(quán)限。
語法1:chmod o+t dir(增加t權(quán)限)
語法2:chmod o-t dir(減去t權(quán)限)
使用限制與環(huán)境
1、只能針對(duì)目錄;
2、必須有x和w權(quán)限(否則無法進(jìn)入和編輯,更不用談sbit權(quán)限,此時(shí)權(quán)限位顯示T);
3、用戶自身創(chuàng)建的文檔和目錄,只有自己和root可以編輯(重命名、修改內(nèi)容、復(fù)制、刪除等)
2、查詢文件類型與文件位置命令
file
作用:查看文件類型(linux下的文件類型不以后綴名區(qū)分)
語法舉例:
[root@web01 ~]# file passwd
passwd: ASCII text 《——ASCII文本文檔
[root@web01 ~]# file 123
123: directory 《——目錄文檔
[root@web01 ~]# file /var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db: data 《——data文檔
[root@web01 ~]# file /bin/ls
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped 《——可執(zhí)行文檔(包含suid設(shè)置、兼容的cpu硬件平臺(tái),lib庫,linux內(nèi)核等)
which
作用:搜索命令用
語法:which 命令名稱
參數(shù):-a 不僅僅是第一個(gè)被找到的命令,所有被搜索到的命令都會(huì)列出。
PS:只是在系統(tǒng)定義的PATH路徑下搜索。
[root@web01 ~]# type cd
cd is a shell builtin 《——cd是一個(gè)內(nèi)置命令,不在PATH內(nèi),所以下面的which搜索不到cd。
[root@web01 ~]# which cd
/usr/bin/which: no cd in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
whereis
作用:在特定的多個(gè)文件夾里搜索文件(/bin:/sbin:/usr/bin:/usr/sbin:man文檔的相關(guān)文件夾等)
語法:whereis 參數(shù) 關(guān)鍵字
參數(shù):
-b 只找 binary 格式的文件;
-m 只找在說明手冊(cè)文件manual 路徑下的文件;
-s 只找 source 來源的文件;
-u 查找不在上述三個(gè)參數(shù)中的其他特殊文件。
locate
作用:從特定資料庫里查詢文件
語法:locate keywords
PS:安裝方法,yum install -y mlocate,安裝完成后需要用updatedb命令更新一下數(shù)據(jù)庫
PS:系統(tǒng)每天凌晨4點(diǎn)自動(dòng)updatedb
PS:資料庫文件路徑/var/lib/mlocate/mlocat.db
find
說明:最強(qiáng)大的查詢工具。
語法: find [PATH] [option] [action]
參數(shù):-mtime 以改變文件內(nèi)容時(shí)間為搜索條件查詢文件
我們事先約定,從現(xiàn)在時(shí)間開始往前推24小時(shí)為第1天,n=1。以此類推第一天再往前推24小時(shí)是第2天,n=2...
-mtime n :n為數(shù)字,意為查詢第n+1天當(dāng)天24小時(shí)內(nèi)改動(dòng)過內(nèi)容的文件;
-mtime +n :意為查詢 n+1天之前(不含n+1天本身)被改動(dòng)過內(nèi)容的文件;
-mtime -n :列出在 n 天之內(nèi)(含 n 天本身)被改動(dòng)過內(nèi)容的文件;
-newer file :file 為一個(gè)已存文件,列出比 file被改動(dòng)內(nèi)容更早之前的文件。
?
-mtime 4 是查詢第5天改動(dòng)過內(nèi)容的文件;
-mtime +4 是查詢5天前改動(dòng)過內(nèi)容的文件;
-mtime -4 是查詢4天內(nèi)改動(dòng)過內(nèi)容的文件。
參數(shù):-mmin 同-mtime,只是n不代表天數(shù),代表分鐘。
參數(shù):-type 以文件類型為搜索條件查詢文件
-type TN :TN=f (普通文件),d(目錄文件), l(鏈接文件),s(套接字),p(管道),c(字符文件)和b(塊設(shè)備)等。
參數(shù):-i 忽略查詢條件的大小寫
參數(shù):-inum 以文件的inode號(hào)為查詢條件查詢文件。
可用于刪除文件名亂碼的文件。find 路徑 -inum inode號(hào) | xargs rm
find擴(kuò)展執(zhí)行命令
參數(shù)xargs(execute arguments 用于執(zhí)行的參數(shù))
作用:
find ***|xargs -i mv {} {}.bak (參數(shù)-i 代表把前面的信息一條一條分批的處理)
PS:find ***|xargs -i rm
stat
作用:查看三個(gè)時(shí)間
語法:stat file/dir
PS:更改ctime不一定更改mtime
PS:更改mtime一定會(huì)改動(dòng)ctime
3、軟連接與硬鏈接
ln 硬鏈接
作用:主要用于安全備份
語法:ln source destination
原理:
普通文件的inode里存取了文件權(quán)限、歸屬、時(shí)間等信息及文件資料存取的block號(hào),block里存取的是實(shí)際文件的數(shù)據(jù)。
然而對(duì)于目錄文件,它的inode也存取了該文件夾的權(quán)限、歸屬、時(shí)間等信息及指向的inode號(hào),而其block里存取的是一個(gè)儲(chǔ)存了inode與其對(duì)應(yīng)的文件名稱的列表清單。類似于下表
?
做完硬鏈接之后,實(shí)際文件的inode相當(dāng)于有了兩個(gè)入口,而這些入口都是寫在目錄文件的block里邊的,這兩個(gè)入口擁有同樣的inode號(hào),只是文件名稱不一樣,正因?yàn)槿绱?#xff0c;所以硬鏈接是不額外產(chǎn)生inode號(hào)的,只是相當(dāng)于給源文件做了一層安全保護(hù),防止被誤刪。
PS:硬鏈接不產(chǎn)生新的inode
PS:不能跨分區(qū)做硬鏈接
PS:不能對(duì)目錄做硬鏈接
ln -s 軟連接
作用:可以用于不同分區(qū)之間“容量共享”和“inode共享”
語法:ln -s source destination
原理:
軟鏈接和硬鏈接不同,軟鏈接是由系統(tǒng)新分配了一個(gè)inode和block,block里存的是源文件的名稱等信息。
鏈接文件inode
block:存了源文件的信息
------>
源文件inode
block:實(shí)際文件資料
基于此原理,所以軟連接會(huì)產(chǎn)生新的inode,也可以對(duì)目錄做軟連接(硬鏈接不可以是因?yàn)橛锌赡軙?huì)產(chǎn)生目錄回環(huán))
PS:盡量寫絕對(duì)路徑
PS:軟連接的大小和連接的文件名稱長(zhǎng)短有關(guān)
額外知識(shí)點(diǎn)
vim安裝方法
方法1:yum install -y vim-enhanced
方法2:yum install -y vim*
查看系統(tǒng)信息
[root@web01 123]# uname -a
Linux web01 2.6.32-431.el6.i686 #1 SMP Fri Nov 22 00:26:36 UTC 2013 i686 i686 i386 GNU/Linux
?
轉(zhuǎn)載于:https://www.cnblogs.com/LinuxSuDa/p/4308814.html
總結(jié)
以上是生活随笔為你收集整理的第五节 suid/ sgid /sbit /which /locate / find /stat / ln / uname -a的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MagicalRecord使用中的注意事
- 下一篇: 过年后的小计划