linux 文件夹 775,linux - 如何为文件夹及其所有子文件夹和文件设置chmod?
linux - 如何為文件夾及其所有子文件夾和文件設(shè)置chmod?
有沒有辦法為755設(shè)置htdocs及其所有內(nèi)容,包括子文件夾和文件?
此外,在將來,如果我在htdocs內(nèi)創(chuàng)建一個(gè)新文件夾或文件,它的權(quán)限如何自動(dòng)設(shè)置為755?
這有效,但僅適用于此文件夾:
chmod 775 /opt/lampp/htdocs
16個(gè)解決方案
2401 votes
其他答案是正確的,因?yàn)?rw-r--r--會(huì)將這些權(quán)限設(shè)置為樹中的所有文件和子文件夾。 但是為什么你想要呢? 它可能對(duì)目錄有意義,但為什么要在所有文件上設(shè)置執(zhí)行位?
我懷疑你真正想做的是將目錄設(shè)置為755并保留文件或?qū)⑺鼈冊(cè)O(shè)置為644.為此,您可以使用-rw-r--r--命令。 例如:
要將所有目錄更改為755(-rw-r--r--):
find /opt/lampp/htdocs -type d -exec chmod 755 {} \;
要將所有文件更改為644(-rw-r--r--):
find /opt/lampp/htdocs -type f -exec chmod 644 {} \;
WombleGoneBad answered 2019-01-12T18:56:48Z
667 votes
檢查-R選項(xiàng)
chmod -R
將來,您可以通過首先檢查手冊(cè)頁(yè)來節(jié)省大量時(shí)間:
man
所以在這種情況下:
man chmod
Steve Robillard answered 2019-01-12T18:57:29Z
304 votes
如果要將所有文件的權(quán)限設(shè)置為X,將所有目錄設(shè)置為X,并通過完整子目錄樹遞歸執(zhí)行,請(qǐng)使用:
chmod -R a+rX *
X(即大寫X,不小x!)將被忽略文件(除非它們已經(jīng)可供某人使用),但用于目錄。
Pete answered 2019-01-12T18:57:57Z
113 votes
您可以使用-R和chmod進(jìn)行所有文件和子文件夾的遞歸遍歷。
您可能需要sudo,因?yàn)樗Q于當(dāng)前用戶或另一個(gè)用戶安裝的LAMP:
sudo chmod 755 -R /opt/lampp/htdocs
ravi ranjan answered 2019-01-12T18:58:25Z
68 votes
要設(shè)置為所有子文件夾(遞歸),請(qǐng)使用-R
chmod 755 /folder -R
并使用umask將默認(rèn)設(shè)置為新文件夾/文件???? cd /文件夾???? umask 755
Topera answered 2019-01-12T18:58:53Z
48 votes
chmod 755 -R /opt/lampp/htdocs將遞歸設(shè)置權(quán)限。 沒有辦法僅在設(shè)置權(quán)限后創(chuàng)建的此目錄中自動(dòng)設(shè)置文件權(quán)限,但您可以通過設(shè)置umask 022更改系統(tǒng)范圍的默認(rèn)文件權(quán)限。
sleepynate answered 2019-01-12T18:59:16Z
45 votes
正確的遞歸命令是:
sudo chmod 755 -R /opt/lampp/htdocs
-R:更改包含當(dāng)前文件夾的每個(gè)子文件夾
Pramendra Gupta answered 2019-01-12T18:59:43Z
23 votes
您可能想要考慮nik在超級(jí)用戶上給出的答案,并對(duì)所有文件/文件夾使用“one chmod”,如下所示:
chmod 755 $(find /path/to/base/dir -type d)
chmod 644 $(find /path/to/base/dir -type f)
Iam Zesh answered 2019-01-12T19:00:05Z
20 votes
使用:
sudo chmod 755 -R /whatever/your/directory/is
但是,要小心。 如果您更改錯(cuò)誤文件/文件夾的權(quán)限,它真的會(huì)傷害您。
Nate Starner answered 2019-01-12T19:00:29Z
19 votes
這是將目錄設(shè)置為775并將文件設(shè)置為664的另一種方法。
find /opt/lampp/htdocs \
\( -type f -exec chmod ug+rw,o+r {} \; \) , \
\( -type d -exec chmod ug+rwxs,o+rx {} \; \)
它可能看起來很長(zhǎng),但它有三個(gè)原因很酷:
僅掃描文件系統(tǒng)一次而不是兩次。
提供對(duì)文件處理方式與目錄處理方式的更好控制。 這在使用特殊模式(例如粘滯位)時(shí)很有用,您可能希望將其應(yīng)用于目錄而不是文件。
直接使用man find頁(yè)面中的技術(shù)(見下文)。
請(qǐng)注意,我還沒有確認(rèn)此解決方案與僅使用兩個(gè)find命令之間的性能差異(如果有)(如Peter Mortensen的解決方案)。 但是,在手冊(cè)中看到類似的例子令人鼓舞。
示例來自man find頁(yè)面:
find / \
\( -perm -4000 -fprintf /root/suid.txt %#m %u %p\n \) , \
\( -size +100M -fprintf /root/big.txt %-10s %p\n \)
Traverse the filesystem just once, listing setuid files and direc‐
tories into /root/suid.txt and large files into /root/big.txt.
干杯
chrisfargen answered 2019-01-12T19:01:35Z
11 votes
chmod -R 755 directory_name有效,但是如何將新文件保存到755呢? 文件的權(quán)限成為默認(rèn)權(quán)限。
Sanchit Gupta answered 2019-01-12T19:01:56Z
10 votes
您希望確保適當(dāng)?shù)奈募湍夸浭莄hmoded /權(quán)限。 對(duì)于您想要的所有目錄
find /opt/lampp/htdocs -type d -exec chmod 711 {} \;
對(duì)于所有圖像,JavaScript,CSS,HTML ......好吧,你不應(yīng)該執(zhí)行它們。 所以用
chmod 644 img/* js/* html/*
但對(duì)于所有邏輯代碼(例如PHP代碼),您應(yīng)該設(shè)置權(quán)限,以便用戶無法看到該代碼:
chmod 600 file
NikolaiDante answered 2019-01-12T19:02:31Z
7 votes
對(duì)于Mac OS X 10.7(Lion),它是:
chmod -R 755 /directory
是的,正如所有其他人所說,做這件事時(shí)要小心。
wmartin answered 2019-01-12T19:03:01Z
6 votes
我想Adam正在詢問如何為所有在/etc/bashrc目錄上運(yùn)行的進(jìn)程更改umask值。
用戶文件創(chuàng)建模式掩碼(umask)用于確定新創(chuàng)建文件的文件權(quán)限。 它可用于控制新文件的默認(rèn)文件權(quán)限。
因此,如果您使用某種ftp程序?qū)⑽募蟼鞯?etc/bashrc,則需要配置您的ftp服務(wù)器以使用您想要的umask。
如果文件/目錄例如由php創(chuàng)建,則需要修改php代碼
umask(0022);
// other code
?>
如果你要從bash會(huì)話創(chuàng)建新的文件/文件夾,你可以在你的shell配置文件中設(shè)置umask值?/ .bashrc或者,您可以為所有用戶在/etc/bashrc或/etc/profile文件中設(shè)置umask。將以下內(nèi)容添加到文件中:umask 022
Sample umask Values and File Creation Permissions
If umask value set to User permission Group permission Others permission
000 all all all
007 all all none
027 all read / execute none
要更改已創(chuàng)建文件的權(quán)限,您可以使用find。希望這可以幫助。
Viktor answered 2019-01-12T19:03:55Z
4 votes
找到文件并將chmod 755 $(find /path/to/base/dir -type d)應(yīng)用于它們有兩個(gè)答案。 第一個(gè)是-type x文件,并在找到時(shí)應(yīng)用chmod(由@WombleGoneBad建議)。
find /opt/lampp/htdocs -type d -exec chmod 755 {} \;
第二種解決方案是使用chmod 755 $(find /path/to/base/dir -type d)命令生成所有文件的列表,并將此列表提供給-type x命令(由@lamgesh建議)。
chmod 755 $(find /path/to/base/dir -type d)
只要chmod 755 $(find /path/to/base/dir -type d)命令返回的文件數(shù)量很少,這兩個(gè)版本都可以正常工作。 第二個(gè)解決方案看起來很棒,比第一個(gè)解決方案更具可讀性。 如果有大量文件,則第二個(gè)解決方案將返回錯(cuò)誤:-type x
所以我的建議是
如果要一次更改所有文件和目錄的權(quán)限,請(qǐng)使用chmod 755 $(find /path/to/base/dir -type d)。
如果您使用的文件數(shù)量非常大,請(qǐng)使用chmod 755 $(find /path/to/base/dir -type d)。 -type x選項(xiàng)僅搜索特定類型的文件,其中d用于查找目錄,f用于文件,l用于鏈接。
否則請(qǐng)使用chmod 755 $(find /path/to/base/dir -type d)
最好在任何情況下使用第一個(gè)
Prabhu answered 2019-01-12T19:05:02Z
2 votes
這很簡(jiǎn)單。
在終端中轉(zhuǎn)到文件管理器。 例如:sudo nemo。轉(zhuǎn)到/opt/然后單擊屬性→權(quán)限。 其他。 最后,更改為創(chuàng)建和刪除以及文件訪問以進(jìn)行讀取和寫入,然后單擊按鈕應(yīng)用...并且工作。
Debian. answered 2019-01-12T19:05:32Z
總結(jié)
以上是生活随笔為你收集整理的linux 文件夹 775,linux - 如何为文件夹及其所有子文件夹和文件设置chmod?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SLB负载均衡配置
- 下一篇: 蒋勋:知识分子应具备怎样的美学修养