一、Linux文件和目錄權(quán)限操作
每一個文件和目錄的訪問權(quán)限都有三組,每組用三位表示:
(1)文件所屬的用戶具有讀、寫和可執(zhí)行權(quán)限;(2)和文件、目錄所屬的用戶的同組用戶只有讀和寫的權(quán)限;(3)其他用戶具備讀的權(quán)限;
-rwxrw-r-- 1 xiaoru xiaoru 444 Jun 25 07:42 variableShell.sh
修改文件權(quán)限的方法:
其中+/-/=分別代表:增加某個權(quán)限;取消某個權(quán)限;賦值某個權(quán)限其他權(quán)限清除;
修改增加某個權(quán)限:
(1)的權(quán)限:chmod u+r/w/x 文件名;修改(2)的權(quán)限 chmod g+r/w/x 文件名;修改(3)的權(quán)限 chmod o+r/w/x 文件名;
減掉某個權(quán)限:
(1)的權(quán)限:chmod u-r/w/x 文件名;修改(2)的權(quán)限 chmod g-r/w/x 文件名;修改(3)的權(quán)限 chmod o-r/w/x 文件名;
賦值成某個權(quán)限:
(1)的權(quán)限:chmod u=r/w/x 文件名;修改(2)的權(quán)限 chmod g=r/w/x 文件名;修改(3)的權(quán)限 chmod o=r/w/x 文件名;
修改全部的權(quán)限chmod a+r/w/x 文件名;當(dāng)然也可以直接chmod 666(權(quán)限值) 文件名。
二、linux文件和文件夾改變所屬用戶的操作
chown -h 用戶組 文件/目錄;將該文件/目錄所屬用戶組由當(dāng)前用戶組修改為新的用戶組; -rw-rw-r-- 1 xiaoru xiaoru 120 Jun 25 03:07 file.txt執(zhí)行sudo chown -h renyunjun file.txt -rw-rw-r-- 1 renyunjun xiaoru 120 Jun 25 03:07 file.txt
三、liunx下特殊權(quán)限SUID與SGID
1、設(shè)置SGID 使用chmod g+s filename;只要設(shè)置SGID之后該文件將具有所有組用戶的特權(quán),即不論那個用戶只要能夠看到該文件,那么就具備和該文件所屬組相同的權(quán)限,可以任意操作該文件; 例如: 下xiaoru用戶下: -rwxrwxr-x 1 xiaoru xiaoru 444 Jun 25 07:42 variableShell.shchmod u+s filename? chmod g+s filename 執(zhí)行之后 -rwxrwsr-x 1 xiaoru xiaoru 444 Jun 25 07:42 variableShell.sh此時切換到用戶renyunjun; -rwxrwsr-x 1 xiaoru xiaoru 444 Jun 25 07:42 variableShell.sh
便可以執(zhí)行該文件 2、設(shè)置SUID 使用chmod u+s filename ,設(shè)置了SUID之后執(zhí)行者就擁有文件所有者的全部權(quán)限,但是在做實(shí)驗(yàn)的過程中發(fā)現(xiàn)并不是這樣成子,貌似設(shè)置了當(dāng)前用戶的SUID特權(quán)之后只有當(dāng)前用戶才有執(zhí)行權(quán)限; 還存在一定的疑問,希望各位博友高手幫忙解釋
四、文件的查找
find . -name 'commond*' ?-print 查找當(dāng)前目錄下以commond開頭的文件并輸出到shell
find 。 -mtime -1 -print查找更改時間距離今天1天內(nèi)的文件
find . -name 'c*' -mtime -1 -print 查找以c開頭的文件且更改時間距離今天1天內(nèi)的文件
find ?、
sudo find /dev -type b ?-print查找dev下的所有塊設(shè)備文件并顯示
sudo find /run -type p -print 查找/run下的所有管道文件
run/systemd/inhibit/9.ref
/run/systemd/inhibit/8.ref
/run/systemd/inhibit/7.ref
/run/systemd/inhibit/6.ref
/run/systemd/inhibit/1.ref
/run/systemd/sessions/c2.ref
順便咨詢一下什么事管道文件?在linux下的這些文件起到什么作用?
sudo find /run -type p -exec ls -l {} ;exec后面可以跟隨shell下執(zhí)行命令,例如刪除文件等等;
prw------- 1 root root 0 Jun 26 04:44 /run/systemd/inhibit/9.ref
prw------- 1 root root 0 Jun 26 04:44 /run/systemd/inhibit/8.ref
prw------- 1 root root 0 Jun 26 04:44 /run/systemd/inhibit/7.ref
prw------- 1 root root 0 Jun 26 04:44 /run/systemd/inhibit/6.ref
prw------- 1 root root 0 Jun 26 04:34 /run/systemd/inhibit/1.ref
prw------- 1 root root 0 Jun 26 04:44 /run/systemd/sessions/c2.ref
五、文本編輯器
替換文件中的字符:
(1)/word自光標(biāo)位置起向下查找word字符
(2)?word自光標(biāo)位置起向上查找word字符
(3)n1,n2s/word1/word2/g將n1行和n2行之間的word1替換為word2;
(4)1,$s/word1/word2/g將第一行到最后一行所有的word1替換為word2;
vi有倆種模式,一種為編輯模式,另一種為命令模式;