[{"data":1,"prerenderedAt":1345},["ShallowReactive",2],{"guide-unix-permissions-reference":3},{"id":4,"title":5,"body":6,"date":1333,"description":1334,"extension":1335,"meta":1336,"navigation":653,"path":1340,"readingTime":1341,"seo":1342,"stem":1343,"__hash__":1344},"guides\u002Fguides\u002Funix-permissions-reference.md","Unix Permissions Reference: Numeric, Symbolic, and ACL Formats",{"type":7,"value":8,"toc":1310},"minimark",[9,14,18,21,25,28,166,169,182,189,193,196,218,225,229,422,426,429,516,520,523,528,539,543,614,621,625,712,716,719,740,743,747,750,754,851,855,869,873,1096,1100,1158,1162,1246,1250,1270,1274,1286,1290,1306],[10,11,13],"h2",{"id":12},"permission-format-overview","Permission Format Overview",[15,16,17],"p",{},"Unix systems represent file permissions in several formats. The two most common are numeric (octal) and symbolic notation. Access Control Lists (ACLs) provide a finer-grained extension when the basic owner-group-others model is not enough.",[15,19,20],{},"Knowing how to convert between these formats saves time and prevents mistakes when configuring servers, writing deployment scripts, or auditing file security.",[10,22,24],{"id":23},"numeric-to-symbolic-conversion","Numeric to Symbolic Conversion",[15,26,27],{},"Each octal digit maps directly to three permission bits. The digit is the sum of read (4), write (2), and execute (1).",[29,30,31,50],"table",{},[32,33,34],"thead",{},[35,36,37,41,44,47],"tr",{},[38,39,40],"th",{},"Octal",[38,42,43],{},"Binary",[38,45,46],{},"Symbolic",[38,48,49],{},"Meaning",[51,52,53,68,82,96,110,124,138,152],"tbody",{},[35,54,55,59,62,65],{},[56,57,58],"td",{},"0",[56,60,61],{},"000",[56,63,64],{},"---",[56,66,67],{},"No access",[35,69,70,73,76,79],{},[56,71,72],{},"1",[56,74,75],{},"001",[56,77,78],{},"--x",[56,80,81],{},"Execute only",[35,83,84,87,90,93],{},[56,85,86],{},"2",[56,88,89],{},"010",[56,91,92],{},"-w-",[56,94,95],{},"Write only (rarely useful alone)",[35,97,98,101,104,107],{},[56,99,100],{},"3",[56,102,103],{},"011",[56,105,106],{},"-wx",[56,108,109],{},"Write and execute",[35,111,112,115,118,121],{},[56,113,114],{},"4",[56,116,117],{},"100",[56,119,120],{},"r--",[56,122,123],{},"Read only",[35,125,126,129,132,135],{},[56,127,128],{},"5",[56,130,131],{},"101",[56,133,134],{},"r-x",[56,136,137],{},"Read and execute",[35,139,140,143,146,149],{},[56,141,142],{},"6",[56,144,145],{},"110",[56,147,148],{},"rw-",[56,150,151],{},"Read and write",[35,153,154,157,160,163],{},[56,155,156],{},"7",[56,158,159],{},"111",[56,161,162],{},"rwx",[56,164,165],{},"Full access",[15,167,168],{},"To convert a three-digit mode like 755, map each digit independently:",[170,171,172,176,179],"ul",{},[173,174,175],"li",{},"7 = rwx (owner)",[173,177,178],{},"5 = r-x (group)",[173,180,181],{},"5 = r-x (others)",[15,183,184,185],{},"Result: ",[186,187,188],"code",{},"rwxr-xr-x",[10,190,192],{"id":191},"symbolic-to-numeric-conversion","Symbolic to Numeric Conversion",[15,194,195],{},"Read each triplet and add the values for permissions that are present:",[170,197,198,203,208,213],{},[173,199,200,202],{},[186,201,162],{}," = 4 + 2 + 1 = 7",[173,204,205,207],{},[186,206,134],{}," = 4 + 0 + 1 = 5",[173,209,210,212],{},[186,211,148],{}," = 4 + 2 + 0 = 6",[173,214,215,217],{},[186,216,120],{}," = 4 + 0 + 0 = 4",[15,219,220,221,224],{},"Example: ",[186,222,223],{},"rw-r-----"," becomes 640.",[10,226,228],{"id":227},"complete-permission-mode-reference","Complete Permission Mode Reference",[29,230,231,252],{},[32,232,233],{},[35,234,235,238,240,243,246,249],{},[38,236,237],{},"Mode",[38,239,46],{},[38,241,242],{},"Owner",[38,244,245],{},"Group",[38,247,248],{},"Others",[38,250,251],{},"Typical Use",[51,253,254,270,287,304,321,338,354,371,388,405],{},[35,255,256,259,261,263,265,267],{},[56,257,258],{},"755",[56,260,188],{},[56,262,162],{},[56,264,134],{},[56,266,134],{},[56,268,269],{},"Directories, executable scripts",[35,271,272,275,278,280,282,284],{},[56,273,274],{},"644",[56,276,277],{},"rw-r--r--",[56,279,148],{},[56,281,120],{},[56,283,120],{},[56,285,286],{},"Regular files",[35,288,289,292,295,297,299,301],{},[56,290,291],{},"700",[56,293,294],{},"rwx------",[56,296,162],{},[56,298,64],{},[56,300,64],{},[56,302,303],{},"Private directories",[35,305,306,309,312,314,316,318],{},[56,307,308],{},"600",[56,310,311],{},"rw-------",[56,313,148],{},[56,315,64],{},[56,317,64],{},[56,319,320],{},"SSH keys, secret config",[35,322,323,326,329,331,333,335],{},[56,324,325],{},"750",[56,327,328],{},"rwxr-x---",[56,330,162],{},[56,332,134],{},[56,334,64],{},[56,336,337],{},"Group-shared directories",[35,339,340,343,345,347,349,351],{},[56,341,342],{},"640",[56,344,223],{},[56,346,148],{},[56,348,120],{},[56,350,64],{},[56,352,353],{},"Group-readable files",[35,355,356,359,362,364,366,368],{},[56,357,358],{},"775",[56,360,361],{},"rwxrwxr-x",[56,363,162],{},[56,365,162],{},[56,367,134],{},[56,369,370],{},"Collaborative directories",[35,372,373,376,379,381,383,385],{},[56,374,375],{},"664",[56,377,378],{},"rw-rw-r--",[56,380,148],{},[56,382,148],{},[56,384,120],{},[56,386,387],{},"Collaborative files",[35,389,390,393,396,398,400,402],{},[56,391,392],{},"777",[56,394,395],{},"rwxrwxrwx",[56,397,162],{},[56,399,162],{},[56,401,162],{},[56,403,404],{},"Temporary directories (avoid elsewhere)",[35,406,407,410,413,415,417,419],{},[56,408,409],{},"400",[56,411,412],{},"r--------",[56,414,120],{},[56,416,64],{},[56,418,64],{},[56,420,421],{},"Read-only secrets",[10,423,425],{"id":424},"special-permission-modes","Special Permission Modes",[15,427,428],{},"Include a leading digit for setuid (4), setgid (2), or sticky bit (1). Combine by adding: setuid + setgid = 6, setgid + sticky = 3, all three = 7.",[29,430,431,445],{},[32,432,433],{},[35,434,435,437,439,442],{},[38,436,237],{},[38,438,46],{},[38,440,441],{},"Special Bits",[38,443,444],{},"Effect",[51,446,447,461,475,489,503],{},[35,448,449,452,455,458],{},[56,450,451],{},"4755",[56,453,454],{},"rwsr-xr-x",[56,456,457],{},"setuid",[56,459,460],{},"Execute as owner",[35,462,463,466,469,472],{},[56,464,465],{},"2755",[56,467,468],{},"rwxr-sr-x",[56,470,471],{},"setgid",[56,473,474],{},"Execute as group \u002F inherit group on dirs",[35,476,477,480,483,486],{},[56,478,479],{},"1755",[56,481,482],{},"rwxr-xr-t",[56,484,485],{},"sticky",[56,487,488],{},"Only owner can delete in directory",[35,490,491,494,497,500],{},[56,492,493],{},"6755",[56,495,496],{},"rwsr-sr-x",[56,498,499],{},"setuid + setgid",[56,501,502],{},"Run as owner and group",[35,504,505,508,511,513],{},[56,506,507],{},"2770",[56,509,510],{},"rwxrws---",[56,512,471],{},[56,514,515],{},"Shared group workspace",[10,517,519],{"id":518},"access-control-lists-acls","Access Control Lists (ACLs)",[15,521,522],{},"Traditional Unix permissions limit you to one owner, one group, and one set of \"other\" permissions. ACLs break through this limitation by letting you grant specific users or groups access without changing the file's ownership.",[524,525,527],"h3",{"id":526},"when-to-use-acls","When to Use ACLs",[170,529,530,533,536],{},[173,531,532],{},"Multiple teams need different access levels to the same directory",[173,534,535],{},"A single user outside the file's group needs read access",[173,537,538],{},"You want to avoid creating extra groups for simple access rules",[524,540,542],{"id":541},"viewing-acls","Viewing ACLs",[544,545,550],"pre",{"className":546,"code":547,"language":548,"meta":549,"style":549},"language-bash shiki shiki-themes github-light github-dark","getfacl project.conf\n# file: project.conf\n# owner: alice\n# group: developers\n# user::rw-\n# user:bob:r--\n# group::rw-\n# mask::rw-\n# other::r--\n","bash","",[186,551,552,565,572,578,584,590,596,602,608],{"__ignoreMap":549},[553,554,557,561],"span",{"class":555,"line":556},"line",1,[553,558,560],{"class":559},"sScJk","getfacl",[553,562,564],{"class":563},"sZZnC"," project.conf\n",[553,566,568],{"class":555,"line":567},2,[553,569,571],{"class":570},"sJ8bj","# file: project.conf\n",[553,573,575],{"class":555,"line":574},3,[553,576,577],{"class":570},"# owner: alice\n",[553,579,581],{"class":555,"line":580},4,[553,582,583],{"class":570},"# group: developers\n",[553,585,587],{"class":555,"line":586},5,[553,588,589],{"class":570},"# user::rw-\n",[553,591,593],{"class":555,"line":592},6,[553,594,595],{"class":570},"# user:bob:r--\n",[553,597,599],{"class":555,"line":598},7,[553,600,601],{"class":570},"# group::rw-\n",[553,603,605],{"class":555,"line":604},8,[553,606,607],{"class":570},"# mask::rw-\n",[553,609,611],{"class":555,"line":610},9,[553,612,613],{"class":570},"# other::r--\n",[15,615,616,617,620],{},"The ",[186,618,619],{},"user:bob:r--"," entry grants user Bob read access, regardless of group membership.",[524,622,624],{"id":623},"setting-acls","Setting ACLs",[544,626,628],{"className":546,"code":627,"language":548,"meta":549,"style":549},"# Give Bob read access\nsetfacl -m u:bob:r project.conf\n\n# Give the qa group read-write access\nsetfacl -m g:qa:rw project.conf\n\n# Remove Bob's entry\nsetfacl -x u:bob project.conf\n\n# Remove all ACLs, revert to standard permissions\nsetfacl -b project.conf\n",[186,629,630,635,649,655,660,671,675,680,692,696,702],{"__ignoreMap":549},[553,631,632],{"class":555,"line":556},[553,633,634],{"class":570},"# Give Bob read access\n",[553,636,637,640,644,647],{"class":555,"line":567},[553,638,639],{"class":559},"setfacl",[553,641,643],{"class":642},"sj4cs"," -m",[553,645,646],{"class":563}," u:bob:r",[553,648,564],{"class":563},[553,650,651],{"class":555,"line":574},[553,652,654],{"emptyLinePlaceholder":653},true,"\n",[553,656,657],{"class":555,"line":580},[553,658,659],{"class":570},"# Give the qa group read-write access\n",[553,661,662,664,666,669],{"class":555,"line":586},[553,663,639],{"class":559},[553,665,643],{"class":642},[553,667,668],{"class":563}," g:qa:rw",[553,670,564],{"class":563},[553,672,673],{"class":555,"line":592},[553,674,654],{"emptyLinePlaceholder":653},[553,676,677],{"class":555,"line":598},[553,678,679],{"class":570},"# Remove Bob's entry\n",[553,681,682,684,687,690],{"class":555,"line":604},[553,683,639],{"class":559},[553,685,686],{"class":642}," -x",[553,688,689],{"class":563}," u:bob",[553,691,564],{"class":563},[553,693,694],{"class":555,"line":610},[553,695,654],{"emptyLinePlaceholder":653},[553,697,699],{"class":555,"line":698},10,[553,700,701],{"class":570},"# Remove all ACLs, revert to standard permissions\n",[553,703,705,707,710],{"class":555,"line":704},11,[553,706,639],{"class":559},[553,708,709],{"class":642}," -b",[553,711,564],{"class":563},[524,713,715],{"id":714},"acl-mask","ACL Mask",[15,717,718],{},"The mask limits the maximum permissions ACL entries can grant. It acts as a ceiling, not an additional restriction. When you set an ACL, the system automatically recalculates the mask.",[544,720,722],{"className":546,"code":721,"language":548,"meta":549,"style":549},"# Set mask to read-only — all ACL entries are capped at r--\nsetfacl -m m::r project.conf\n",[186,723,724,729],{"__ignoreMap":549},[553,725,726],{"class":555,"line":556},[553,727,728],{"class":570},"# Set mask to read-only — all ACL entries are capped at r--\n",[553,730,731,733,735,738],{"class":555,"line":567},[553,732,639],{"class":559},[553,734,643],{"class":642},[553,736,737],{"class":563}," m::r",[553,739,564],{"class":563},[15,741,742],{},"Without understanding the mask, ACL changes can appear to \"not take effect.\"",[10,744,746],{"id":745},"web-server-permission-best-practices","Web Server Permission Best Practices",[15,748,749],{},"Web servers are a frequent target. Misconfigured permissions are one of the most common ways attackers escalate access.",[524,751,753],{"id":752},"recommended-permissions","Recommended Permissions",[29,755,756,769],{},[32,757,758],{},[35,759,760,763,765,767],{},[38,761,762],{},"Path Type",[38,764,237],{},[38,766,242],{},[38,768,245],{},[51,770,771,783,794,806,818,829,840],{},[35,772,773,776,778,781],{},[56,774,775],{},"Document root directory",[56,777,258],{},[56,779,780],{},"root",[56,782,780],{},[35,784,785,788,790,792],{},[56,786,787],{},"Static files (HTML, CSS, JS)",[56,789,274],{},[56,791,780],{},[56,793,780],{},[35,795,796,799,801,804],{},[56,797,798],{},"Upload directory",[56,800,325],{},[56,802,803],{},"www-data",[56,805,803],{},[35,807,808,811,814,816],{},[56,809,810],{},"Upload directory (with sticky)",[56,812,813],{},"1770",[56,815,803],{},[56,817,803],{},[35,819,820,823,825,827],{},[56,821,822],{},"Config files with secrets",[56,824,342],{},[56,826,780],{},[56,828,803],{},[35,830,831,834,836,838],{},[56,832,833],{},"CGI scripts",[56,835,258],{},[56,837,780],{},[56,839,780],{},[35,841,842,845,847,849],{},[56,843,844],{},"Log files",[56,846,342],{},[56,848,780],{},[56,850,803],{},[524,852,854],{"id":853},"key-rules","Key Rules",[170,856,857,860,863,866],{},[173,858,859],{},"The web server should never write to the document root. If it must accept uploads, isolate them in a separate directory.",[173,861,862],{},"Never run the web server as root. Use a dedicated low-privilege account.",[173,864,865],{},"Set the sticky bit on upload directories so users cannot delete each other's files.",[173,867,868],{},"Avoid 777 under all circumstances. If a process needs write access, grant it specifically via ownership or ACLs.",[524,870,872],{"id":871},"deployment-script-example","Deployment Script Example",[544,874,876],{"className":546,"code":875,"language":548,"meta":549,"style":549},"#!\u002Fbin\u002Fbash\nWEBROOT=\"\u002Fvar\u002Fwww\u002Fhtml\"\n\n# Set safe ownership\nsudo chown -R root:root \"$WEBROOT\"\n\n# Directories: 755\nfind \"$WEBROOT\" -type d -exec chmod 755 {} +\n\n# Files: 644\nfind \"$WEBROOT\" -type f -exec chmod 644 {} +\n\n# Upload directory: owned by web server, group writable\nsudo chown -R www-data:www-data \"$WEBROOT\u002Fuploads\"\nsudo chmod 1770 \"$WEBROOT\u002Fuploads\"\n\n# Config with database credentials: root-owned, group-readable\nsudo chmod 640 \"$WEBROOT\u002Fconfig.php\"\nsudo chgrp www-data \"$WEBROOT\u002Fconfig.php\"\n",[186,877,878,883,896,900,905,928,932,937,970,974,979,1005,1010,1016,1035,1051,1056,1062,1079],{"__ignoreMap":549},[553,879,880],{"class":555,"line":556},[553,881,882],{"class":570},"#!\u002Fbin\u002Fbash\n",[553,884,885,889,893],{"class":555,"line":567},[553,886,888],{"class":887},"sVt8B","WEBROOT",[553,890,892],{"class":891},"szBVR","=",[553,894,895],{"class":563},"\"\u002Fvar\u002Fwww\u002Fhtml\"\n",[553,897,898],{"class":555,"line":574},[553,899,654],{"emptyLinePlaceholder":653},[553,901,902],{"class":555,"line":580},[553,903,904],{"class":570},"# Set safe ownership\n",[553,906,907,910,913,916,919,922,925],{"class":555,"line":586},[553,908,909],{"class":559},"sudo",[553,911,912],{"class":563}," chown",[553,914,915],{"class":642}," -R",[553,917,918],{"class":563}," root:root",[553,920,921],{"class":563}," \"",[553,923,924],{"class":887},"$WEBROOT",[553,926,927],{"class":563},"\"\n",[553,929,930],{"class":555,"line":592},[553,931,654],{"emptyLinePlaceholder":653},[553,933,934],{"class":555,"line":598},[553,935,936],{"class":570},"# Directories: 755\n",[553,938,939,942,944,946,949,952,955,958,961,964,967],{"class":555,"line":604},[553,940,941],{"class":559},"find",[553,943,921],{"class":563},[553,945,924],{"class":887},[553,947,948],{"class":563},"\"",[553,950,951],{"class":642}," -type",[553,953,954],{"class":563}," d",[553,956,957],{"class":642}," -exec",[553,959,960],{"class":563}," chmod",[553,962,963],{"class":642}," 755",[553,965,966],{"class":563}," {}",[553,968,969],{"class":563}," +\n",[553,971,972],{"class":555,"line":610},[553,973,654],{"emptyLinePlaceholder":653},[553,975,976],{"class":555,"line":698},[553,977,978],{"class":570},"# Files: 644\n",[553,980,981,983,985,987,989,991,994,996,998,1001,1003],{"class":555,"line":704},[553,982,941],{"class":559},[553,984,921],{"class":563},[553,986,924],{"class":887},[553,988,948],{"class":563},[553,990,951],{"class":642},[553,992,993],{"class":563}," f",[553,995,957],{"class":642},[553,997,960],{"class":563},[553,999,1000],{"class":642}," 644",[553,1002,966],{"class":563},[553,1004,969],{"class":563},[553,1006,1008],{"class":555,"line":1007},12,[553,1009,654],{"emptyLinePlaceholder":653},[553,1011,1013],{"class":555,"line":1012},13,[553,1014,1015],{"class":570},"# Upload directory: owned by web server, group writable\n",[553,1017,1019,1021,1023,1025,1028,1030,1032],{"class":555,"line":1018},14,[553,1020,909],{"class":559},[553,1022,912],{"class":563},[553,1024,915],{"class":642},[553,1026,1027],{"class":563}," www-data:www-data",[553,1029,921],{"class":563},[553,1031,924],{"class":887},[553,1033,1034],{"class":563},"\u002Fuploads\"\n",[553,1036,1038,1040,1042,1045,1047,1049],{"class":555,"line":1037},15,[553,1039,909],{"class":559},[553,1041,960],{"class":563},[553,1043,1044],{"class":642}," 1770",[553,1046,921],{"class":563},[553,1048,924],{"class":887},[553,1050,1034],{"class":563},[553,1052,1054],{"class":555,"line":1053},16,[553,1055,654],{"emptyLinePlaceholder":653},[553,1057,1059],{"class":555,"line":1058},17,[553,1060,1061],{"class":570},"# Config with database credentials: root-owned, group-readable\n",[553,1063,1065,1067,1069,1072,1074,1076],{"class":555,"line":1064},18,[553,1066,909],{"class":559},[553,1068,960],{"class":563},[553,1070,1071],{"class":642}," 640",[553,1073,921],{"class":563},[553,1075,924],{"class":887},[553,1077,1078],{"class":563},"\u002Fconfig.php\"\n",[553,1080,1082,1084,1087,1090,1092,1094],{"class":555,"line":1081},19,[553,1083,909],{"class":559},[553,1085,1086],{"class":563}," chgrp",[553,1088,1089],{"class":563}," www-data",[553,1091,921],{"class":563},[553,1093,924],{"class":887},[553,1095,1078],{"class":563},[10,1097,1099],{"id":1098},"security-considerations","Security Considerations",[170,1101,1102,1109,1119,1129,1135,1141],{},[173,1103,1104,1108],{},[1105,1106,1107],"strong",{},"Minimize write access",": Every writable path is an attack surface. If your web app does not need to write to a directory, make it read-only.",[173,1110,1111,1114,1115,1118],{},[1105,1112,1113],{},"Audit setuid\u002Fsetgid binaries",": Run ",[186,1116,1117],{},"find \u002F -perm -4000 -type f"," regularly. Unexpected setuid binaries are a sign of compromise.",[173,1120,1121,1124,1125,1128],{},[1105,1122,1123],{},"Check world-writable files",": ",[186,1126,1127],{},"find \u002F -perm -o+w -type f"," lists files anyone can modify. Review each one.",[173,1130,1131,1134],{},[1105,1132,1133],{},"Use ACLs for precision",": When you need to grant access to one extra user, an ACL is safer than widening group or other permissions.",[173,1136,1137,1140],{},[1105,1138,1139],{},"Restrict SSH key permissions",": SSH ignores keys that are readable by others. Use mode 600 for private keys and 644 for public keys.",[173,1142,1143,1146,1147,1150,1151,1154,1155,1157],{},[1105,1144,1145],{},"Log permission changes",": For compliance, log all ",[186,1148,1149],{},"chmod",", ",[186,1152,1153],{},"chown",", and ",[186,1156,639],{}," commands via audit rules.",[10,1159,1161],{"id":1160},"format-conversion-quick-reference","Format Conversion Quick Reference",[29,1163,1164,1174],{},[32,1165,1166],{},[35,1167,1168,1171],{},[38,1169,1170],{},"Task",[38,1172,1173],{},"Command",[51,1175,1176,1186,1196,1206,1216,1226,1236],{},[35,1177,1178,1181],{},[56,1179,1180],{},"Numeric to symbolic",[56,1182,1183],{},[186,1184,1185],{},"stat -c %A file",[35,1187,1188,1191],{},[56,1189,1190],{},"Symbolic to numeric",[56,1192,1193],{},[186,1194,1195],{},"stat -c %a file",[35,1197,1198,1201],{},[56,1199,1200],{},"View all permissions + ACLs",[56,1202,1203],{},[186,1204,1205],{},"getfacl file",[35,1207,1208,1211],{},[56,1209,1210],{},"chmod numeric",[56,1212,1213],{},[186,1214,1215],{},"chmod 755 file",[35,1217,1218,1221],{},[56,1219,1220],{},"chmod symbolic",[56,1222,1223],{},[186,1224,1225],{},"chmod u+rwx,go+rx file",[35,1227,1228,1231],{},[56,1229,1230],{},"setuid + numeric",[56,1232,1233],{},[186,1234,1235],{},"chmod 4755 file",[35,1237,1238,1241],{},[56,1239,1240],{},"sticky bit + symbolic",[56,1242,1243],{},[186,1244,1245],{},"chmod +t dir",[10,1247,1249],{"id":1248},"key-takeaways","Key Takeaways",[170,1251,1252,1255,1258,1261,1264,1267],{},[173,1253,1254],{},"Numeric and symbolic formats are interchangeable — each digit maps to an rwx triplet",[173,1256,1257],{},"Special bits (setuid, setgid, sticky) use a leading octal digit: 4, 2, 1",[173,1259,1260],{},"ACLs extend the traditional model with per-user and per-group entries",[173,1262,1263],{},"The ACL mask limits the maximum effective permissions — understand it before using ACLs",[173,1265,1266],{},"Web server permissions should follow the principle of least privilege: 755\u002F644 defaults, isolated upload directories, owned by root where possible",[173,1268,1269],{},"Audit world-writable and setuid files regularly",[10,1271,1273],{"id":1272},"try-it-yourself","Try It Yourself",[15,1275,1276,1277,1282,1283,1285],{},"Use our ",[1278,1279,1281],"a",{"href":1280},"\u002Ftools\u002Fchmod-calculator","chmod calculator"," to convert between numeric and symbolic formats, toggle special bits, and preview the exact ",[186,1284,1149],{}," command before running it.",[10,1287,1289],{"id":1288},"related-guides","Related Guides",[170,1291,1292,1299],{},[173,1293,1294,1298],{},[1278,1295,1297],{"href":1296},"\u002Fguides\u002Fchmod-guide","Chmod Guide"," — detailed walkthrough of chmod command syntax and usage",[173,1300,1301,1305],{},[1278,1302,1304],{"href":1303},"\u002Fguides\u002Flinux-file-permissions","Linux File Permissions"," — owner\u002Fgroup\u002Fothers model, special bits, and umask explained",[1307,1308,1309],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":549,"searchDepth":567,"depth":567,"links":1311},[1312,1313,1314,1315,1316,1317,1323,1328,1329,1330,1331,1332],{"id":12,"depth":567,"text":13},{"id":23,"depth":567,"text":24},{"id":191,"depth":567,"text":192},{"id":227,"depth":567,"text":228},{"id":424,"depth":567,"text":425},{"id":518,"depth":567,"text":519,"children":1318},[1319,1320,1321,1322],{"id":526,"depth":574,"text":527},{"id":541,"depth":574,"text":542},{"id":623,"depth":574,"text":624},{"id":714,"depth":574,"text":715},{"id":745,"depth":567,"text":746,"children":1324},[1325,1326,1327],{"id":752,"depth":574,"text":753},{"id":853,"depth":574,"text":854},{"id":871,"depth":574,"text":872},{"id":1098,"depth":567,"text":1099},{"id":1160,"depth":567,"text":1161},{"id":1248,"depth":567,"text":1249},{"id":1272,"depth":567,"text":1273},{"id":1288,"depth":567,"text":1289},"2026-05-28","Quick reference for converting between numeric, symbolic, and ACL-based permission formats. Includes common modes and web server best practices.","md",{"keywords":1337},[1338,1339],"chmod-calculator","unix-permissions-reference","\u002Fguides\u002Funix-permissions-reference",null,{"title":5,"description":1334},"guides\u002Funix-permissions-reference","mu7dLmuZI1TY0qQfheC3Vg9wSgoeO726T6BADnNVEnQ",1780401328450]