您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關chmod+find如何批量授權,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
這兩張圖是test 這個文件夾下的目錄結構圖以及權限圖。那么接下來我要將test這個目錄以及子目錄的所有.sh 的文件設置為只有可執行權限要怎么設置呢?執行以下命令后會發現 tesh.sh 和./test1/test1.sh 的權限已經變成---x--x--x 而其它保持不變
find . -name "*.sh" -exec chmod 111 {} \;
total 0 drwxr-xr-x 2 root root 38 Sep 29 10:31 test1 drwxr-xr-x 2 root root 6 Sep 29 10:13 test2 -rw-r--r-- 1 root root 0 Sep 29 10:38 test.bash ---x--x--x 1 root root 0 Sep 29 10:22 test.sh -rw-r--r-- 1 root root 0 Sep 29 10:38 test.tx
find . -name "*.sh" 與 find . -name *.sh 的區別是少了個雙引號,結果就是一個遞歸,一個不遞歸。
有人會說了 chmod 有個 -R 參數就可以實現遞歸了。 但是chmod -R 實現的是無差別攻擊所以并不適用,以上授權命令還可以寫成這樣。效果上是一樣的。
把 文件里面.txt 改成執行權限
[root@oracle1 test]# chmod 111 `find . -name "*.txt"` [root@oracle1 test]# ll total 0 d--x--x--x 2 root root 38 Sep 29 10:31 test1 d--x--x--x 2 root root 6 Sep 29 10:13 test2 -rw-r--r-- 1 root root 0 Sep 29 10:38 test.bash ---x--x--x 1 root root 0 Sep 29 10:22 test.sh ---x--x--x 1 root root 0 Sep 29 10:38 test.txt
那么問題又來了 我一個目錄下要是只有文件與文件夾的區別呢? 好的 ,這個時候你就可以用 find 命令的 -type 參數了 type 后面 d代表目錄,f 代表 文件
給文件設置為只有可執行權限
[root@oracle1 test]# chmod 111 `find . -type f` [root@oracle1 test]# ll total 0 d--x--x--x 2 root root 38 Sep 29 10:31 test1 d--x--x--x 2 root root 6 Sep 29 10:13 test2 ---x--x--x 1 root root 0 Sep 29 10:38 test.bash ---x--x--x 1 root root 0 Sep 29 10:22 test.sh ---x--x--x 1 root root 0 Sep 29 10:38 test.txt
給目錄設置為755權限
[root@oracle1 test]# chmod 755 `find . -type d` [root@oracle1 test]# ll total 0 drwxr-xr-x 2 root root 38 Sep 29 10:31 test1 drwxr-xr-x 2 root root 6 Sep 29 10:13 test2 ---x--x--x 1 root root 0 Sep 29 10:38 test.bash ---x--x--x 1 root root 0 Sep 29 10:22 test.sh ---x--x--x 1 root root 0 Sep 29 10:38 test.txt
關于“chmod+find如何批量授權”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。