[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/linux/git-permission-denied":3,"mdc-89vuzp-key":1086,"mdc-iqfgnu-key":1110,"mdc-lezom5-key":1118,"mdc-6kndrp-key":1134,"mdc--7hz8we-key":1159,"mdc-s566vr-key":1175,"mdc-ria2nf-key":1200,"mdc-vt0yb5-key":1231,"mdc-uczmaz-key":1248,"related-/errors/linux/file-permission-denied,/guides/linux/chmod-chown-basics,/errors/linux/git-not-found":1265},{"id":4,"title":5,"appliesTo":6,"author":9,"body":10,"canonical":1019,"code":29,"createdAt":1020,"description":1021,"difficulty":1022,"draft":1023,"estimatedTime":1024,"extension":1025,"faq":1026,"howToSteps":1039,"howToTotalTime":1055,"image":1019,"keywords":1056,"locale":1067,"meta":1068,"navigation":1069,"path":1070,"platform":1071,"related":1072,"section":1076,"seo":1077,"severity":1078,"stem":1079,"summary":1080,"tags":1081,"twitterCreator":1019,"twitterSite":1019,"type":1084,"updatedAt":1020,"__hash__":1085},"content_ru/errors/linux/git-permission-denied.md","Git permission denied на Linux: 5 способов исправить права доступа",[7,8],"Git 2.0+","Любой дистрибутив Linux (Ubuntu 20.04+, Debian 10+, CentOS 8+, Fedora 35+)","FixPedia Team",{"type":11,"value":12,"toc":1008},"minimark",[13,18,31,107,110,114,179,183,186,311,325,329,335,426,430,433,528,532,535,639,643,653,728,738,741,745,748,913,917,923,997,1004],[14,15,17],"h2",{"id":16},"что-означает-ошибка-eacces","Что означает ошибка EACCES",[19,20,21,22,26,27,30],"p",{},"Ошибка ",[23,24,25],"code",{},"permission denied"," (или ",[23,28,29],{},"EACCES"," в Linux) возникает, когда процесс Git не имеет достаточных прав операционной системы для чтения, записи или выполнения операции с файлом или директорией. Типичные сообщения Git:",[32,33,38],"pre",{"className":34,"code":35,"language":36,"meta":37,"style":37},"language-bash shiki shiki-themes github-light github-dark","fatal: could not create work tree dir 'project' : Permission denied\nerror: unable to create file (Permission denied)\n","bash","",[23,39,40,80],{"__ignoreMap":37},[41,42,45,49,53,56,59,62,65,68,71,74,77],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sScJk","fatal:",[41,50,52],{"class":51},"sZZnC"," could",[41,54,55],{"class":51}," not",[41,57,58],{"class":51}," create",[41,60,61],{"class":51}," work",[41,63,64],{"class":51}," tree",[41,66,67],{"class":51}," dir",[41,69,70],{"class":51}," 'project'",[41,72,73],{"class":51}," :",[41,75,76],{"class":51}," Permission",[41,78,79],{"class":51}," denied\n",[41,81,83,86,89,92,94,97,101,104],{"class":43,"line":82},2,[41,84,85],{"class":47},"error:",[41,87,88],{"class":51}," unable",[41,90,91],{"class":51}," to",[41,93,58],{"class":51},[41,95,96],{"class":51}," file",[41,98,100],{"class":99},"sVt8B"," (Permission ",[41,102,103],{"class":51},"denied",[41,105,106],{"class":99},")\n",[19,108,109],{},"Эта ошибка блокирует все операции Git: клонирование, коммиты, создание веток, проверку статуса. Симптом всегда один — Git сообщает о недостатке прав, но не уточняет, какие именно права отсутствуют.",[14,111,113],{"id":112},"причины-возникновения","Причины возникновения",[115,116,117,129,143,153,159,169],"ol",{},[118,119,120,124,125,128],"li",{},[121,122,123],"strong",{},"Неправильные права на файлы/папки репозитория"," — у вашего пользователя нет прав на запись (",[23,126,127],{},"w",") в директорию репозитория или на изменение файлов.",[118,130,131,134,135,138,139,142],{},[121,132,133],{},"Файлы принадлежат другому пользователю"," — например, вы клонировали репозиторий через ",[23,136,137],{},"sudo",", и все файлы теперь принадлежат ",[23,140,141],{},"root",".",[118,144,145,148,149,152],{},[121,146,147],{},"Родительские каталоги недоступны"," — у вас нет прав на выполнение (",[23,150,151],{},"x",") в одной из родительских папок пути к репозиторию.",[118,154,155,158],{},[121,156,157],{},"Файл заблокирован другим процессом"," — другой экземпляр Git или программа удерживает файл (редко, но возможно).",[118,160,161,164,165,168],{},[121,162,163],{},"Попытка записи в системную/защищённую папку"," — например, попытка создать репозиторий в ",[23,166,167],{},"/usr/share"," без прав администратора.",[118,170,171,178],{},[121,172,173,174,177],{},"Некорректные права на ",[23,175,176],{},".git","-каталог"," — особенно после сбоев или переноса репозитория.",[14,180,182],{"id":181},"способ-1-изменение-прав-доступа-chmod","Способ 1: Изменение прав доступа (chmod)",[19,184,185],{},"Самый частый случай — у вашего пользователя нет прав на запись в папку репозитория.",[115,187,188,197,238,288],{},[118,189,190,193,194,142],{},[121,191,192],{},"Определите проблемную папку"," из текста ошибки. Допустим, это ",[23,195,196],{},"/home/user/projects/myapp",[118,198,199,202,203,220,223,224,232,234,235,237],{},[121,200,201],{},"Проверьте текущие права",":",[32,204,206],{"className":34,"code":205,"language":36,"meta":37,"style":37},"ls -la /home/user/projects/myapp\n",[23,207,208],{"__ignoreMap":37},[41,209,210,213,217],{"class":43,"line":44},[41,211,212],{"class":47},"ls",[41,214,216],{"class":215},"sj4cs"," -la",[41,218,219],{"class":51}," /home/user/projects/myapp\n",[221,222],"br",{},"Пример вывода:",[32,225,230],{"className":226,"code":228,"language":229},[227],"language-text","drwxr--r-- 2 root root 4096 Feb 16 10:00 myapp\n","text",[23,231,228],{"__ignoreMap":37},[221,233],{},"Здесь видно, что владелец — ",[23,236,141],{},", а у группы и остальных нет прав на запись.",[118,239,240,243,244,247,248,266,268,269,272,273],{},[121,241,242],{},"Добавьте права для вашего пользователя"," (предположим, ваш пользователь — ",[23,245,246],{},"user","):",[32,249,251],{"className":34,"code":250,"language":36,"meta":37,"style":37},"chmod -R u+rwx /home/user/projects/myapp\n",[23,252,253],{"__ignoreMap":37},[41,254,255,258,261,264],{"class":43,"line":44},[41,256,257],{"class":47},"chmod",[41,259,260],{"class":215}," -R",[41,262,263],{"class":51}," u+rwx",[41,265,219],{"class":51},[221,267],{},"Флаг ",[23,270,271],{},"-R"," применяет изменения рекурсивно ко всем вложенным файлам и папкам.",[274,275,276,282],"ul",{},[118,277,278,281],{},[23,279,280],{},"u+rwx"," — даёт владельцу права на чтение, запись и выполнение.",[118,283,284,285,142],{},"Если вы работаете в группе, можно добавить ",[23,286,287],{},"g+rwx",[118,289,290,202,293,305,307,308,142],{},[121,291,292],{},"Проверьте результат",[32,294,295],{"className":34,"code":205,"language":36,"meta":37,"style":37},[23,296,297],{"__ignoreMap":37},[41,298,299,301,303],{"class":43,"line":44},[41,300,212],{"class":47},[41,302,216],{"class":215},[41,304,219],{"class":51},[221,306],{},"Теперь владелец должен иметь ",[23,309,310],{},"rwx",[312,313,314],"blockquote",{},[19,315,316,317,320,321,324],{},"⚠️ ",[121,318,319],{},"Важно",": Не давайте права ",[23,322,323],{},"777"," (всем полный доступ) — это угроза безопасности. Всегда ограничивайте права только необходимыми пользователями.",[14,326,328],{"id":327},"способ-2-смена-владельца-файлов-chown","Способ 2: Смена владельца файлов (chown)",[19,330,331,332,334],{},"Если файлы репозитория принадлежат другому пользователю (например, ",[23,333,141],{},"), нужно сменить владельца на текущего.",[115,336,337,356,406],{},[118,338,339,202,342],{},[121,340,341],{},"Определите текущего владельца",[32,343,345],{"className":34,"code":344,"language":36,"meta":37,"style":37},"ls -la /путь/к/репозиторию\n",[23,346,347],{"__ignoreMap":37},[41,348,349,351,353],{"class":43,"line":44},[41,350,212],{"class":47},[41,352,216],{"class":215},[41,354,355],{"class":51}," /путь/к/репозиторию\n",[118,357,358,202,361,386],{},[121,359,360],{},"Измените владельца рекурсивно",[32,362,364],{"className":34,"code":363,"language":36,"meta":37,"style":37},"sudo chown -R $USER:$USER /путь/к/репозиторию\n",[23,365,366],{"__ignoreMap":37},[41,367,368,370,373,375,378,380,383],{"class":43,"line":44},[41,369,137],{"class":47},[41,371,372],{"class":51}," chown",[41,374,260],{"class":215},[41,376,377],{"class":99}," $USER",[41,379,202],{"class":51},[41,381,382],{"class":99},"$USER ",[41,384,385],{"class":51},"/путь/к/репозиторию\n",[274,387,388,394,400],{},[118,389,390,393],{},[23,391,392],{},"$USER"," — автоматически подставляет ваше имя пользователя.",[118,395,396,399],{},[23,397,398],{},":$USER"," — аналогично для группы.",[118,401,402,403,142],{},"Если нужно указать явно: ",[23,404,405],{},"sudo chown -R username:groupname /path",[118,407,408,202,411,423,425],{},[121,409,410],{},"Проверьте",[32,412,413],{"className":34,"code":344,"language":36,"meta":37,"style":37},[23,414,415],{"__ignoreMap":37},[41,416,417,419,421],{"class":43,"line":44},[41,418,212],{"class":47},[41,420,216],{"class":215},[41,422,355],{"class":51},[221,424],{},"Владельцем должен стать ваш пользователь.",[14,427,429],{"id":428},"способ-3-проверка-и-исправление-прав-на-родительских-каталогах","Способ 3: Проверка и исправление прав на родительских каталогах",[19,431,432],{},"Git может не иметь доступа не к самому репозиторию, а к одной из родительских папок в пути.",[115,434,435,477,522],{},[118,436,437,202,440,456,223,458,464,466,467,470,471,473,474,476],{},[121,438,439],{},"Проверьте полный путь",[32,441,443],{"className":34,"code":442,"language":36,"meta":37,"style":37},"namei -l /полный/путь/к/репозиторию\n",[23,444,445],{"__ignoreMap":37},[41,446,447,450,453],{"class":43,"line":44},[41,448,449],{"class":47},"namei",[41,451,452],{"class":215}," -l",[41,454,455],{"class":51}," /полный/путь/к/репозиторию\n",[221,457],{},[32,459,462],{"className":460,"code":461,"language":229},[227],"f: /home/user/projects/myapp\n drwxr-xr-x root root /\n drwxr-xr-x root root home\n drwxr-xr-x user user user\n drwxr-xr-x root root projects\n drwxr--r-- root root myapp\n",[23,463,461],{"__ignoreMap":37},[221,465],{},"Здесь видно, что у папки ",[23,468,469],{},"projects"," владелец ",[23,472,141],{}," и у группы/остальных нет прав на выполнение (",[23,475,151],{},"). Это блокирует доступ.",[118,478,479,482,483,247,485,503,505,506],{},[121,480,481],{},"Исправьте права на проблемный каталог"," (в примере — ",[23,484,469],{},[32,486,488],{"className":34,"code":487,"language":36,"meta":37,"style":37},"sudo chmod 755 /home/user/projects\n",[23,489,490],{"__ignoreMap":37},[41,491,492,494,497,500],{"class":43,"line":44},[41,493,137],{"class":47},[41,495,496],{"class":51}," chmod",[41,498,499],{"class":215}," 755",[41,501,502],{"class":51}," /home/user/projects\n",[221,504],{},"Или, если нужно владение:",[32,507,509],{"className":34,"code":508,"language":36,"meta":37,"style":37},"sudo chown user:user /home/user/projects\n",[23,510,511],{"__ignoreMap":37},[41,512,513,515,517,520],{"class":43,"line":44},[41,514,137],{"class":47},[41,516,372],{"class":51},[41,518,519],{"class":51}," user:user",[41,521,502],{"class":51},[118,523,524,527],{},[121,525,526],{},"Повторите для всех уровней",", где права некорректны.",[14,529,531],{"id":530},"способ-4-работа-в-правильной-директории","Способ 4: Работа в правильной директории",[19,533,534],{},"Иногда ошибка возникает из-за попытки создать репозиторий в системной папке, требующей root-прав.",[115,536,537,554,598],{},[118,538,539,553],{},[121,540,541,542,545,546,545,549,552],{},"Не работайте в ",[23,543,544],{},"/usr",", ",[23,547,548],{},"/opt",[23,550,551],{},"/var"," и подобных"," без необходимости.",[118,555,556,559,560,563,564],{},[121,557,558],{},"Используйте домашнюю директорию"," (",[23,561,562],{},"~/",") или папки с правами на запись:\n",[32,565,567],{"className":34,"code":566,"language":36,"meta":37,"style":37},"cd ~/projects\ngit clone \u003Curl>\n",[23,568,569,577],{"__ignoreMap":37},[41,570,571,574],{"class":43,"line":44},[41,572,573],{"class":215},"cd",[41,575,576],{"class":51}," ~/projects\n",[41,578,579,582,585,589,592,595],{"class":43,"line":82},[41,580,581],{"class":47},"git",[41,583,584],{"class":51}," clone",[41,586,588],{"class":587},"szBVR"," \u003C",[41,590,591],{"class":51},"ur",[41,593,594],{"class":99},"l",[41,596,597],{"class":587},">\n",[118,599,600,603,604],{},[121,601,602],{},"Если репозиторий уже создан в защищённой папке",", переместите его:\n",[32,605,607],{"className":34,"code":606,"language":36,"meta":37,"style":37},"sudo mv /usr/local/repo ~/repo\nsudo chown -R $USER:$USER ~/repo\n",[23,608,609,622],{"__ignoreMap":37},[41,610,611,613,616,619],{"class":43,"line":44},[41,612,137],{"class":47},[41,614,615],{"class":51}," mv",[41,617,618],{"class":51}," /usr/local/repo",[41,620,621],{"class":51}," ~/repo\n",[41,623,624,626,628,630,632,634,636],{"class":43,"line":82},[41,625,137],{"class":47},[41,627,372],{"class":51},[41,629,260],{"class":215},[41,631,377],{"class":99},[41,633,202],{"class":51},[41,635,382],{"class":99},[41,637,638],{"class":51},"~/repo\n",[14,640,642],{"id":641},"способ-5-использование-sudo-с-осторожностью","Способ 5: Использование sudo (с осторожностью)",[19,644,645,646,648,649,652],{},"Если репозиторий действительно должен находиться в системной папке и требует прав root, используйте ",[23,647,137],{}," для операций Git. ",[121,650,651],{},"Но это не рекомендуется"," для повседневной работы, так как создаст проблемы с владельцем файлов.",[115,654,655,697,723],{},[118,656,657,660,661],{},[121,658,659],{},"Выполняйте команды Git с sudo",":\n",[32,662,664],{"className":34,"code":663,"language":36,"meta":37,"style":37},"sudo git commit -m \"message\"\nsudo git push origin main\n",[23,665,666,682],{"__ignoreMap":37},[41,667,668,670,673,676,679],{"class":43,"line":44},[41,669,137],{"class":47},[41,671,672],{"class":51}," git",[41,674,675],{"class":51}," commit",[41,677,678],{"class":215}," -m",[41,680,681],{"class":51}," \"message\"\n",[41,683,684,686,688,691,694],{"class":43,"line":82},[41,685,137],{"class":47},[41,687,672],{"class":51},[41,689,690],{"class":51}," push",[41,692,693],{"class":51}," origin",[41,695,696],{"class":51}," main\n",[118,698,699,702,703],{},[121,700,701],{},"После этого исправьте владельца",", чтобы не зависеть от sudo:\n",[32,704,705],{"className":34,"code":363,"language":36,"meta":37,"style":37},[23,706,707],{"__ignoreMap":37},[41,708,709,711,713,715,717,719,721],{"class":43,"line":44},[41,710,137],{"class":47},[41,712,372],{"class":51},[41,714,260],{"class":215},[41,716,377],{"class":99},[41,718,202],{"class":51},[41,720,382],{"class":99},[41,722,385],{"class":51},[118,724,725,142],{},[121,726,727],{},"В будущем работайте без sudo",[312,729,730],{},[19,731,316,732,734,735,737],{},[121,733,319],{},": Регулярное использование ",[23,736,137],{}," с Git опасно — вы можете случайно изменить системные файлы. Лучше настройте права правильно (Способы 1-3).",[739,740],"in-article-ad",{},[14,742,744],{"id":743},"способ-6-настройка-групповых-прав-для-совместной-работы","Способ 6: Настройка групповых прав для совместной работы",[19,746,747],{},"Если несколько пользователей работают с одним репозиторием (например, на сервере), настройте групповые права.",[115,749,750,801,824,847,888],{},[118,751,752,755,756],{},[121,753,754],{},"Создайте общую группу"," (если нет):\n",[32,757,759],{"className":34,"code":758,"language":36,"meta":37,"style":37},"sudo groupgroup devteam\nsudo usermod -aG devteam user1\nsudo usermod -aG devteam user2\n",[23,760,761,771,787],{"__ignoreMap":37},[41,762,763,765,768],{"class":43,"line":44},[41,764,137],{"class":47},[41,766,767],{"class":51}," groupgroup",[41,769,770],{"class":51}," devteam\n",[41,772,773,775,778,781,784],{"class":43,"line":82},[41,774,137],{"class":47},[41,776,777],{"class":51}," usermod",[41,779,780],{"class":215}," -aG",[41,782,783],{"class":51}," devteam",[41,785,786],{"class":51}," user1\n",[41,788,790,792,794,796,798],{"class":43,"line":789},3,[41,791,137],{"class":47},[41,793,777],{"class":51},[41,795,780],{"class":215},[41,797,783],{"class":51},[41,799,800],{"class":51}," user2\n",[118,802,803,660,806],{},[121,804,805],{},"Установите группу для репозитория",[32,807,809],{"className":34,"code":808,"language":36,"meta":37,"style":37},"sudo chgrp -R devteam /путь/к/репозиторию\n",[23,810,811],{"__ignoreMap":37},[41,812,813,815,818,820,822],{"class":43,"line":44},[41,814,137],{"class":47},[41,816,817],{"class":51}," chgrp",[41,819,260],{"class":215},[41,821,783],{"class":51},[41,823,355],{"class":51},[118,825,826,660,829],{},[121,827,828],{},"Дайте группе права на чтение и запись",[32,830,832],{"className":34,"code":831,"language":36,"meta":37,"style":37},"sudo chmod -R g+rwX /путь/к/репозиторию\n",[23,833,834],{"__ignoreMap":37},[41,835,836,838,840,842,845],{"class":43,"line":44},[41,837,137],{"class":47},[41,839,496],{"class":51},[41,841,260],{"class":215},[41,843,844],{"class":51}," g+rwX",[41,846,355],{"class":51},[118,848,849,852,853],{},[121,850,851],{},"Установите setgid-бит на папки",", чтобы новые файлы наследовали группу:\n",[32,854,856],{"className":34,"code":855,"language":36,"meta":37,"style":37},"sudo find /путь/к/репозиторию -type d -exec chmod g+s {} \\;\n",[23,857,858],{"__ignoreMap":37},[41,859,860,862,865,868,871,874,877,879,882,885],{"class":43,"line":44},[41,861,137],{"class":47},[41,863,864],{"class":51}," find",[41,866,867],{"class":51}," /путь/к/репозиторию",[41,869,870],{"class":215}," -type",[41,872,873],{"class":51}," d",[41,875,876],{"class":215}," -exec",[41,878,496],{"class":51},[41,880,881],{"class":51}," g+s",[41,883,884],{"class":51}," {}",[41,886,887],{"class":215}," \\;\n",[118,889,890,660,892,904,905,908,909,912],{},[121,891,410],{},[32,893,894],{"className":34,"code":344,"language":36,"meta":37,"style":37},[23,895,896],{"__ignoreMap":37},[41,897,898,900,902],{"class":43,"line":44},[41,899,212],{"class":47},[41,901,216],{"class":215},[41,903,355],{"class":51},"\nУ папок должен быть ",[23,906,907],{},"drwxrwsr-x"," (обратите внимание на ",[23,910,911],{},"s"," в группе).",[14,914,916],{"id":915},"профилактика","Профилактика",[19,918,919,920,922],{},"Чтобы избежать ошибки ",[23,921,25],{}," в будущем:",[115,924,925,938,947,967,973,982,991],{},[118,926,927,930,931,545,934,937],{},[121,928,929],{},"Всегда клонируйте репозитории в папки, где у вас есть права"," (домашняя директория, ",[23,932,933],{},"/tmp",[23,935,936],{},"/var/tmp",").",[118,939,940,946],{},[121,941,942,943],{},"Никогда не используйте ",[23,944,945],{},"sudo git clone"," — это создаст проблемы с владельцем.",[118,948,949,952,953],{},[121,950,951],{},"Регулярно проверяйте права"," на важные репозитории:\n",[32,954,956],{"className":34,"code":955,"language":36,"meta":37,"style":37},"ls -la ~/projects/\n",[23,957,958],{"__ignoreMap":37},[41,959,960,962,964],{"class":43,"line":44},[41,961,212],{"class":47},[41,963,216],{"class":215},[41,965,966],{"class":51}," ~/projects/\n",[118,968,969,972],{},[121,970,971],{},"При совместной работе настройте групповые права"," (Способ 6) сразу после создания репозитория.",[118,974,975,978,979,937],{},[121,976,977],{},"Избегайте перемещения репозиториев между разными пользователями"," без смены владельца (",[23,980,981],{},"chown",[118,983,984,990],{},[121,985,986,987],{},"Используйте ",[23,988,989],{},".gitignore"," для исключения системных файлов (например, IDE-конфигов), которые могут иметь странные права.",[118,992,993,996],{},[121,994,995],{},"Обновляйте Git"," — в новых версиях улучшена обработка прав доступа.",[19,998,999,1000,1003],{},"Если проблема возникает repeatedly, проверьте, не запущены ли фоновые процессы (например, антивирус или система контроля версий), которые могли заблокировать файлы. Используйте ",[23,1001,1002],{},"lsof | grep \u003Cфайл>"," для поиска процессов, удерживающих файл.",[1005,1006,1007],"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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":37,"searchDepth":82,"depth":82,"links":1009},[1010,1011,1012,1013,1014,1015,1016,1017,1018],{"id":16,"depth":82,"text":17},{"id":112,"depth":82,"text":113},{"id":181,"depth":82,"text":182},{"id":327,"depth":82,"text":328},{"id":428,"depth":82,"text":429},{"id":530,"depth":82,"text":531},{"id":641,"depth":82,"text":642},{"id":743,"depth":82,"text":744},{"id":915,"depth":82,"text":916},null,"2026-02-16 13:15:15","Ошибка 'permission denied' в Git на Linux блокирует работу с репозиторием? Разбираем причины и даём пошаговые решения. Исправьте проблему за 5-10 минут с проверенными методами.","easy",false,"5-10 мин","md",[1027,1030,1033,1036],{"question":1028,"answer":1029},"Почему в Git возникает ошибка 'permission denied' даже при использовании sudo?","Если вы используете `sudo` для некоторых команд Git, файлы репозитория могут стать владельцем root. Затем обычные команды без sudo не смогут их изменять. Решение: либо работайте всегда от одного пользователя, либо исправьте права через `sudo chown`.",{"question":1031,"answer":1032},"Можно ли отключить проверку прав доступа в Git?","Нет, это невозможно и небезопасно. Права доступа — фундаментальная часть безопасности Linux. Вместо этого нужно правильно настроить права на файлы репозитория.",{"question":1034,"answer":1035},"Что делать, если chmod не помогает?","Возможно, проблема не в правах доступа, а в том, что родительская папка не доступна для записи. Проверьте права на все каталоги в пути до репозитория командой `ls -la /путь/до/родителя`.",{"question":1037,"answer":1038},"Как предотвратить ошибку permission denied при совместной работе над репозиторием?","Настройте групповые права: `chmod -R g+rwX репозиторий` и установите setgid-бит на папки (`chmod g+s`). Убедитесь, что у всех участников одинаковый group ID.",[1040,1043,1046,1049,1052],{"name":1041,"text":1042},"Определите проблемный файл или папку","Внимательно прочитайте полный текст ошибки Git. Обычно он указывает, к какому файлу или директории нет доступа. Например: `fatal: could not create work tree dir 'project' : Permission denied`.",{"name":1044,"text":1045},"Проверьте текущие права доступа","Выполните `ls -la /путь/к/проблемному/файлу` или `ls -la /путь/к/папке/репозитория`. Обратите внимание на владельца (столбец 3) и права (столбцы с rwx).",{"name":1047,"text":1048},"Измените права доступа (chmod)","Если у вашего пользователя нет прав на запись, добавьте их: `chmod u+rwx /путь/к/файлу` для файла или `chmod -R u+rwx /путь/к/папке` для папки (рекурсивно). Для группового доступа используйте `g+rwx`.",{"name":1050,"text":1051},"Измените владельца файлов (chown)","Если файлы принадлежат другому пользователю (например, root), измените владельца: `sudo chown -R $USER:$USER /путь/к/репозиторию`. Это сделает вас владельцем всех файлов.",{"name":1053,"text":1054},"Проверьте родительские каталоги","Убедитесь, что у вашего пользователя есть права на выполнение (x) для всех каталогов в пути. Команда: `namei -l /полный/путь/к/файлу` покажет права на каждый уровень.","PT10M",[1057,1058,1059,1060,1061,1062,1063,1064,1065,1066],"git permission denied linux","ошибка permission denied в git","как исправить permission denied git","git нет прав доступа ubuntu","chmod для репозитория git","fatal: could not create work tree dir","git ошибка 13","права доступа git linux","изменить владельца git папки","sudo git permission denied","ru_RU",{},true,"/errors/linux/git-permission-denied","linux",[1073,1074,1075],"/errors/linux/file-permission-denied","/guides/linux/chmod-chown-basics","/errors/linux/git-not-found","Ошибки Git",{"title":5,"description":1021},"medium","errors/linux/git-permission-denied","Статья объясняет, почему в Git на Linux возникает ошибка 'permission denied' и как её устранить. Вы узнаете, как правильно настроить права доступа к файлам и папкам репозитория с помощью chmod, chown и других инструментов.",[581,1071,1082,25,1083,257,981],"ошибки","права доступа","error","zoYdee6Z8oTDLsyqzJCrZxs5ppqizQRg92ZZven_bVc",{"data":1087,"body":1088},{},{"type":141,"children":1089},[1090],{"type":1091,"tag":19,"props":1092,"children":1093},"element",{},[1094,1096,1101,1103,1109],{"type":229,"value":1095},"Если вы используете ",{"type":1091,"tag":23,"props":1097,"children":1099},{"className":1098},[],[1100],{"type":229,"value":137},{"type":229,"value":1102}," для некоторых команд Git, файлы репозитория могут стать владельцем root. Затем обычные команды без sudo не смогут их изменять. Решение: либо работайте всегда от одного пользователя, либо исправьте права через ",{"type":1091,"tag":23,"props":1104,"children":1106},{"className":1105},[],[1107],{"type":229,"value":1108},"sudo chown",{"type":229,"value":142},{"data":1111,"body":1112},{},{"type":141,"children":1113},[1114],{"type":1091,"tag":19,"props":1115,"children":1116},{},[1117],{"type":229,"value":1032},{"data":1119,"body":1120},{},{"type":141,"children":1121},[1122],{"type":1091,"tag":19,"props":1123,"children":1124},{},[1125,1127,1133],{"type":229,"value":1126},"Возможно, проблема не в правах доступа, а в том, что родительская папка не доступна для записи. Проверьте права на все каталоги в пути до репозитория командой ",{"type":1091,"tag":23,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":229,"value":1132},"ls -la /путь/до/родителя",{"type":229,"value":142},{"data":1135,"body":1136},{},{"type":141,"children":1137},[1138],{"type":1091,"tag":19,"props":1139,"children":1140},{},[1141,1143,1149,1151,1157],{"type":229,"value":1142},"Настройте групповые права: ",{"type":1091,"tag":23,"props":1144,"children":1146},{"className":1145},[],[1147],{"type":229,"value":1148},"chmod -R g+rwX репозиторий",{"type":229,"value":1150}," и установите setgid-бит на папки (",{"type":1091,"tag":23,"props":1152,"children":1154},{"className":1153},[],[1155],{"type":229,"value":1156},"chmod g+s",{"type":229,"value":1158},"). Убедитесь, что у всех участников одинаковый group ID.",{"data":1160,"body":1161},{},{"type":141,"children":1162},[1163],{"type":1091,"tag":19,"props":1164,"children":1165},{},[1166,1168,1174],{"type":229,"value":1167},"Внимательно прочитайте полный текст ошибки Git. Обычно он указывает, к какому файлу или директории нет доступа. Например: ",{"type":1091,"tag":23,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":229,"value":1173},"fatal: could not create work tree dir 'project' : Permission denied",{"type":229,"value":142},{"data":1176,"body":1177},{},{"type":141,"children":1178},[1179],{"type":1091,"tag":19,"props":1180,"children":1181},{},[1182,1184,1190,1192,1198],{"type":229,"value":1183},"Выполните ",{"type":1091,"tag":23,"props":1185,"children":1187},{"className":1186},[],[1188],{"type":229,"value":1189},"ls -la /путь/к/проблемному/файлу",{"type":229,"value":1191}," или ",{"type":1091,"tag":23,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":229,"value":1197},"ls -la /путь/к/папке/репозитория",{"type":229,"value":1199},". Обратите внимание на владельца (столбец 3) и права (столбцы с rwx).",{"data":1201,"body":1202},{},{"type":141,"children":1203},[1204],{"type":1091,"tag":19,"props":1205,"children":1206},{},[1207,1209,1215,1217,1223,1225,1230],{"type":229,"value":1208},"Если у вашего пользователя нет прав на запись, добавьте их: ",{"type":1091,"tag":23,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":229,"value":1214},"chmod u+rwx /путь/к/файлу",{"type":229,"value":1216}," для файла или ",{"type":1091,"tag":23,"props":1218,"children":1220},{"className":1219},[],[1221],{"type":229,"value":1222},"chmod -R u+rwx /путь/к/папке",{"type":229,"value":1224}," для папки (рекурсивно). Для группового доступа используйте ",{"type":1091,"tag":23,"props":1226,"children":1228},{"className":1227},[],[1229],{"type":229,"value":287},{"type":229,"value":142},{"data":1232,"body":1233},{},{"type":141,"children":1234},[1235],{"type":1091,"tag":19,"props":1236,"children":1237},{},[1238,1240,1246],{"type":229,"value":1239},"Если файлы принадлежат другому пользователю (например, root), измените владельца: ",{"type":1091,"tag":23,"props":1241,"children":1243},{"className":1242},[],[1244],{"type":229,"value":1245},"sudo chown -R $USER:$USER /путь/к/репозиторию",{"type":229,"value":1247},". Это сделает вас владельцем всех файлов.",{"data":1249,"body":1250},{},{"type":141,"children":1251},[1252],{"type":1091,"tag":19,"props":1253,"children":1254},{},[1255,1257,1263],{"type":229,"value":1256},"Убедитесь, что у вашего пользователя есть права на выполнение (x) для всех каталогов в пути. Команда: ",{"type":1091,"tag":23,"props":1258,"children":1260},{"className":1259},[],[1261],{"type":229,"value":1262},"namei -l /полный/путь/к/файлу",{"type":229,"value":1264}," покажет права на каждый уровень.",[1266,1979,2941],{"id":1267,"title":1268,"appliesTo":1269,"author":9,"body":1274,"canonical":1019,"code":29,"createdAt":1926,"description":1927,"difficulty":1022,"draft":1023,"estimatedTime":1024,"extension":1025,"faq":1928,"howToSteps":1941,"howToTotalTime":1055,"image":1019,"keywords":1956,"locale":1067,"meta":1967,"navigation":1069,"path":1073,"platform":1071,"related":1968,"section":1972,"seo":1973,"severity":1078,"stem":1974,"summary":1975,"tags":1976,"twitterCreator":1019,"twitterSite":1019,"type":1084,"updatedAt":1926,"__hash__":1978},"content_ru/errors/linux/file-permission-denied.md","Permission Denied в Linux: причины и быстрые решения",[1270,1271,1272,1273],"Ubuntu 20.04+","CentOS 7+","Debian 10+","Fedora 35+",{"type":11,"value":1275,"toc":1913},[1276,1280,1293,1295,1298,1374,1378,1383,1386,1400,1407,1410,1425,1428,1442,1448,1463,1471,1475,1481,1497,1507,1524,1527,1543,1546,1550,1555,1570,1573,1598,1611,1615,1618,1636,1653,1656,1680,1683,1687,1690,1704,1714,1731,1734,1754,1757,1769,1779,1783,1789,1801,1811,1828,1831,1833,1835,1840,1910],[14,1277,1279],{"id":1278},"что-означает-ошибка-permission-denied","Что означает ошибка Permission Denied",[19,1281,21,1282,1285,1286,1289,1290,1292],{},[121,1283,1284],{},"Permission denied"," (отказ в доступе) — это стандартное системное сообщение Linux, которое появляется, когда процесс, запущенный от имени текущего пользователя, пытается получить доступ к файлу, каталогу, сокету или другому ресурсу, но у него недостаточно прав для выполнения операции. Полный текст ошибки зависит от контекста: в терминале это может быть ",[23,1287,1288],{},"bash: /путь/файл: Permission denied",", в логах приложений — аналогичные записи. Ошибка не является \"кодом\" в традиционном понимании, но в системных вызовах Linux соответствует коду ",[23,1291,29],{}," (ошибка доступа).",[14,1294,113],{"id":112},[19,1296,1297],{},"Ошибка возникает по следующим распространенным причинам:",[115,1299,1300,1316,1322,1340,1346,1360],{},[118,1301,1302,1305,1306,1309,1310,1312,1313,1315],{},[121,1303,1304],{},"Недостаточные права доступа",": У пользователя нет необходимых разрешений (чтение ",[23,1307,1308],{},"r",", запись ",[23,1311,127],{},", выполнение ",[23,1314,151],{},") для файла или каталога. Например, попытка запустить скрипт без права на выполнение.",[118,1317,1318,1321],{},[121,1319,1320],{},"Неправильный владелец или группа",": Файл принадлежит другому пользователю или группе, и текущий пользователь не входит в список тех, кому предоставлен доступ.",[118,1323,1324,1327,1328,1331,1332,1335,1336,1339],{},[121,1325,1326],{},"Файловая система смонтирована с ограничениями",": Раздел может быть смонтирован с опциями, запрещающими выполнение (",[23,1329,1330],{},"noexec","), изменение (",[23,1333,1334],{},"nodev",") или работу с setuid (",[23,1337,1338],{},"nosuid","). Часто встречается для внешних носителей или сетевых файловых систем.",[118,1341,1342,1345],{},[121,1343,1344],{},"Активированные механизмы безопасности",": SELinux (в CentOS, RHEL, Fedora) или AppArmor (в Ubuntu, Debian) могут блокировать доступ на уровне политик, даже если стандартные права настроены правильно.",[118,1347,1348,1351,1352,1355,1356,1359],{},[121,1349,1350],{},"Установленный атрибут immutable",": Файл имеет флаг ",[23,1353,1354],{},"i"," (установлен через ",[23,1357,1358],{},"chattr +i","), который делает его неизменяемым для всех, включая root.",[118,1361,1362,1365,1366,1191,1368,1370,1371,1373],{},[121,1363,1364],{},"Отсутствие права на выполнение для каталога",": Для доступа к содержимому каталога (например, ",[23,1367,573],{},[23,1369,212],{},") необходимо право на выполнение (",[23,1372,151],{},") для этого каталога.",[14,1375,1377],{"id":1376},"способы-решения","Способы решения",[1379,1380,1382],"h3",{"id":1381},"способ-1-проверьте-и-измените-права-доступа-с-помощью-chmod","Способ 1: Проверьте и измените права доступа с помощью chmod",[19,1384,1385],{},"Это самый частый способ. Сначала определите файл или каталог, вызывающий ошибку, и проверьте текущие права:",[32,1387,1389],{"className":34,"code":1388,"language":36,"meta":37,"style":37},"ls -l /путь/к/проблемному/файлу\n",[23,1390,1391],{"__ignoreMap":37},[41,1392,1393,1395,1397],{"class":43,"line":44},[41,1394,212],{"class":47},[41,1396,452],{"class":215},[41,1398,1399],{"class":51}," /путь/к/проблемному/файлу\n",[19,1401,1402,1403,1406],{},"Пример вывода: ",[23,1404,1405],{},"-rw-r--r-- 1 user group 1024 Feb 16 10:00 файл",". Первые 9 символов — права для владельца, группы и остальных.",[19,1408,1409],{},"Чтобы добавить право на выполнение для владельца файла:",[32,1411,1413],{"className":34,"code":1412,"language":36,"meta":37,"style":37},"chmod u+x /путь/к/файлу\n",[23,1414,1415],{"__ignoreMap":37},[41,1416,1417,1419,1422],{"class":43,"line":44},[41,1418,257],{"class":47},[41,1420,1421],{"class":51}," u+x",[41,1423,1424],{"class":51}," /путь/к/файлу\n",[19,1426,1427],{},"Для добавления прав на чтение и запись для группы:",[32,1429,1431],{"className":34,"code":1430,"language":36,"meta":37,"style":37},"chmod g+rw /путь/к/файлу\n",[23,1432,1433],{"__ignoreMap":37},[41,1434,1435,1437,1440],{"class":43,"line":44},[41,1436,257],{"class":47},[41,1438,1439],{"class":51}," g+rw",[41,1441,1424],{"class":51},[19,1443,1444,1445,1447],{},"Для каталога обязательно установите право на выполнение (",[23,1446,151],{},"), иначе доступ к его содержимому будет запрещен:",[32,1449,1451],{"className":34,"code":1450,"language":36,"meta":37,"style":37},"chmod +x /путь/к/каталогу\n",[23,1452,1453],{"__ignoreMap":37},[41,1454,1455,1457,1460],{"class":43,"line":44},[41,1456,257],{"class":47},[41,1458,1459],{"class":51}," +x",[41,1461,1462],{"class":51}," /путь/к/каталогу\n",[312,1464,1465],{},[19,1466,1467,1468,1470],{},"⚠️ Важно: Не назначайте права ",[23,1469,323],{}," (полный доступ для всех) без необходимости, особенно для системных файлов. Это серьезная уязвимость безопасности.",[1379,1472,1474],{"id":1473},"способ-2-смените-владельца-файла-с-помощью-chown","Способ 2: Смените владельца файла с помощью chown",[19,1476,1477,1478,1480],{},"Если файл принадлежит другому пользователю (например, ",[23,1479,141],{},"), и у вас есть права sudo, измените владельца:",[32,1482,1484],{"className":34,"code":1483,"language":36,"meta":37,"style":37},"sudo chown новый_пользователь:новая_группа /путь/к/файлу\n",[23,1485,1486],{"__ignoreMap":37},[41,1487,1488,1490,1492,1495],{"class":43,"line":44},[41,1489,137],{"class":47},[41,1491,372],{"class":51},[41,1493,1494],{"class":51}," новый_пользователь:новая_группа",[41,1496,1424],{"class":51},[19,1498,1499,1500,1503,1504,202],{},"Пример: сделать пользователя ",[23,1501,1502],{},"alex"," владельцем файла ",[23,1505,1506],{},"script.sh",[32,1508,1510],{"className":34,"code":1509,"language":36,"meta":37,"style":37},"sudo chown alex:alex /home/alex/script.sh\n",[23,1511,1512],{"__ignoreMap":37},[41,1513,1514,1516,1518,1521],{"class":43,"line":44},[41,1515,137],{"class":47},[41,1517,372],{"class":51},[41,1519,1520],{"class":51}," alex:alex",[41,1522,1523],{"class":51}," /home/alex/script.sh\n",[19,1525,1526],{},"Если нужно изменить только группу:",[32,1528,1530],{"className":34,"code":1529,"language":36,"meta":37,"style":37},"sudo chgrp группа /путь/к/файлу\n",[23,1531,1532],{"__ignoreMap":37},[41,1533,1534,1536,1538,1541],{"class":43,"line":44},[41,1535,137],{"class":47},[41,1537,817],{"class":51},[41,1539,1540],{"class":51}," группа",[41,1542,1424],{"class":51},[19,1544,1545],{},"Это полезно при совместной работе в группе.",[1379,1547,1549],{"id":1548},"способ-3-используйте-sudo-для-выполнения-команды","Способ 3: Используйте sudo для выполнения команды",[19,1551,1552,1553,202],{},"Если операция требует повышенных прав (например, изменение системного файла), выполните команду с ",[23,1554,137],{},[32,1556,1558],{"className":34,"code":1557,"language":36,"meta":37,"style":37},"sudo команда аргументы\n",[23,1559,1560],{"__ignoreMap":37},[41,1561,1562,1564,1567],{"class":43,"line":44},[41,1563,137],{"class":47},[41,1565,1566],{"class":51}," команда",[41,1568,1569],{"class":51}," аргументы\n",[19,1571,1572],{},"Например:",[32,1574,1576],{"className":34,"code":1575,"language":36,"meta":37,"style":37},"sudo apt update\nsudo rm /var/log/старый_лог\n",[23,1577,1578,1588],{"__ignoreMap":37},[41,1579,1580,1582,1585],{"class":43,"line":44},[41,1581,137],{"class":47},[41,1583,1584],{"class":51}," apt",[41,1586,1587],{"class":51}," update\n",[41,1589,1590,1592,1595],{"class":43,"line":82},[41,1591,137],{"class":47},[41,1593,1594],{"class":51}," rm",[41,1596,1597],{"class":51}," /var/log/старый_лог\n",[312,1599,1600],{},[19,1601,1602,1603,1606,1607,1610],{},"💡 Совет: Настройте файл ",[23,1604,1605],{},"/etc/sudoers"," через ",[23,1608,1609],{},"visudo",", чтобы разрешить выполнение конкретных команд без пароля для надежных пользователей, но делайте это осторожно.",[1379,1612,1614],{"id":1613},"способ-4-проверьте-параметры-монтирования-файловой-системы","Способ 4: Проверьте параметры монтирования файловой системы",[19,1616,1617],{},"Иногда проблема в том, что раздел смонтирован с опциями, ограничивающими доступ. Узнайте, как смонтирован раздел, содержащий проблемный файл:",[32,1619,1621],{"className":34,"code":1620,"language":36,"meta":37,"style":37},"mount | grep /путь/к/файлу\n",[23,1622,1623],{"__ignoreMap":37},[41,1624,1625,1628,1631,1634],{"class":43,"line":44},[41,1626,1627],{"class":47},"mount",[41,1629,1630],{"class":587}," |",[41,1632,1633],{"class":47}," grep",[41,1635,1424],{"class":51},[19,1637,1638,1639,1642,1643,545,1645,1191,1647,1649,1650,1652],{},"Или проверьте ",[23,1640,1641],{},"/etc/fstab"," для постоянных монтирований. Если в опциях есть ",[23,1644,1330],{},[23,1646,1338],{},[23,1648,1334],{},", это может блокировать выполнение или изменение файлов. Например, внешние USB-накопители часто монтируются с ",[23,1651,1330],{}," по умолчанию.",[19,1654,1655],{},"Для временного решения (требует sudo) перемонтируйте раздел без запрещающих опций:",[32,1657,1659],{"className":34,"code":1658,"language":36,"meta":37,"style":37},"sudo mount -o remount,exec /dev/sdXY /точка/монтирования\n",[23,1660,1661],{"__ignoreMap":37},[41,1662,1663,1665,1668,1671,1674,1677],{"class":43,"line":44},[41,1664,137],{"class":47},[41,1666,1667],{"class":51}," mount",[41,1669,1670],{"class":215}," -o",[41,1672,1673],{"class":51}," remount,exec",[41,1675,1676],{"class":51}," /dev/sdXY",[41,1678,1679],{"class":51}," /точка/монтирования\n",[19,1681,1682],{},"Но учтите, что это может нарушить безопасность. Лучше скопируйте файл на внутренний раздел, если возможно.",[1379,1684,1686],{"id":1685},"способ-5-проверьте-и-настройте-selinuxapparmor","Способ 5: Проверьте и настройте SELinux/AppArmor",[19,1688,1689],{},"На дистрибутивах с SELinux (CentOS, RHEL, Fedora) проверьте контекст безопасности файла:",[32,1691,1693],{"className":34,"code":1692,"language":36,"meta":37,"style":37},"ls -Z /путь/к/файлу\n",[23,1694,1695],{"__ignoreMap":37},[41,1696,1697,1699,1702],{"class":43,"line":44},[41,1698,212],{"class":47},[41,1700,1701],{"class":215}," -Z",[41,1703,1424],{"class":51},[19,1705,1706,1707,1191,1710,1713],{},"Если контекст не соответствует ожидаемому (например, для исполняемого файла должен быть ",[23,1708,1709],{},"bin_t",[23,1711,1712],{},"usr_t","), восстановите стандартный контекст:",[32,1715,1717],{"className":34,"code":1716,"language":36,"meta":37,"style":37},"sudo restorecon -v /путь/к/файлу\n",[23,1718,1719],{"__ignoreMap":37},[41,1720,1721,1723,1726,1729],{"class":43,"line":44},[41,1722,137],{"class":47},[41,1724,1725],{"class":51}," restorecon",[41,1727,1728],{"class":215}," -v",[41,1730,1424],{"class":51},[19,1732,1733],{},"Или установите вручную:",[32,1735,1737],{"className":34,"code":1736,"language":36,"meta":37,"style":37},"sudo chcon -t тип /путь/к/файлу\n",[23,1738,1739],{"__ignoreMap":37},[41,1740,1741,1743,1746,1749,1752],{"class":43,"line":44},[41,1742,137],{"class":47},[41,1744,1745],{"class":51}," chcon",[41,1747,1748],{"class":215}," -t",[41,1750,1751],{"class":51}," тип",[41,1753,1424],{"class":51},[19,1755,1756],{},"Для AppArmor (Ubuntu, Debian) проверьте активные профили:",[32,1758,1760],{"className":34,"code":1759,"language":36,"meta":37,"style":37},"sudo apparmor_status\n",[23,1761,1762],{"__ignoreMap":37},[41,1763,1764,1766],{"class":43,"line":44},[41,1765,137],{"class":47},[41,1767,1768],{"class":51}," apparmor_status\n",[19,1770,1771,1772,1191,1775,1778],{},"Логи AppArmor находятся в ",[23,1773,1774],{},"/var/log/kern.log",[23,1776,1777],{},"/var/log/syslog",". Если профиль блокирует доступ, вы можете его отключить или настроить.",[1379,1780,1782],{"id":1781},"способ-6-удалите-атрибут-immutable","Способ 6: Удалите атрибут immutable",[19,1784,1785,1786,1788],{},"Файл может быть защищен флагом ",[23,1787,1354],{}," (immutable), который предотвращает любые изменения, даже от root. Проверьте атрибуты:",[32,1790,1792],{"className":34,"code":1791,"language":36,"meta":37,"style":37},"lsattr /путь/к/файлу\n",[23,1793,1794],{"__ignoreMap":37},[41,1795,1796,1799],{"class":43,"line":44},[41,1797,1798],{"class":47},"lsattr",[41,1800,1424],{"class":51},[19,1802,1803,1804,1806,1807,1810],{},"Если в выводе есть ",[23,1805,1354],{}," (например, ",[23,1808,1809],{},"----i-------- файл","), снимите атрибут:",[32,1812,1814],{"className":34,"code":1813,"language":36,"meta":37,"style":37},"sudo chattr -i /путь/к/файлу\n",[23,1815,1816],{"__ignoreMap":37},[41,1817,1818,1820,1823,1826],{"class":43,"line":44},[41,1819,137],{"class":47},[41,1821,1822],{"class":51}," chattr",[41,1824,1825],{"class":215}," -i",[41,1827,1424],{"class":51},[19,1829,1830],{},"После этого попробуйте выполнить операцию снова. Этот флаг часто используется для критических системных файлов или логов.",[739,1832],{},[14,1834,916],{"id":915},[19,1836,1837,1838,202],{},"Чтобы минимизировать возникновение ошибки ",[121,1839,1284],{},[115,1841,1842,1862,1877,1886,1892,1904],{},[118,1843,1844,1850,1851,1191,1854,1857,1858,1861],{},[121,1845,1846,1847],{},"Настраивайте ",[23,1848,1849],{},"umask",": Установите соответствующую маску umask в ",[23,1852,1853],{},"/etc/profile",[23,1855,1856],{},"~/.bashrc",", чтобы новые файлы создавались с правильными правами по умолчанию (например, ",[23,1859,1860],{},"022"," для чтения/выполнения всеми, но без записи).",[118,1863,1864,1867,1868,1871,1872,1874,1875,937],{},[121,1865,1866],{},"Следите за владельцем и группой",": При создании файлов в многопользовательских каталогах (например, ",[23,1869,1870],{},"/var/www",") сразу назначайте правильного владельца через ",[23,1873,981],{}," или используйте setgid на каталоге (",[23,1876,1156],{},[118,1878,1879,1882,1883,1885],{},[121,1880,1881],{},"Избегайте рутинного использования sudo",": Выполняйте команды от обычного пользователя, прибегая к ",[23,1884,137],{}," только для административных задач. Это снижает риски случайных изменений системных файлов.",[118,1887,1888,1891],{},[121,1889,1890],{},"Регулярно обновляйте систему",": Обновления безопасности часто включают исправления для SELinux/AppArmor и других компонентов, связанных с доступом.",[118,1893,1894,1897,1898,545,1901,1903],{},[121,1895,1896],{},"Проверяйте монтирование критических разделов",": Убедитесь, что системные разделы (например, ",[23,1899,1900],{},"/",[23,1902,544],{},") смонтированы без излишних ограничений, если это не требуется по политике безопасности.",[118,1905,1906,1909],{},[121,1907,1908],{},"Обучайте пользователей",": Если вы администрируете сервер или рабочую станцию, объясните базовые принципы прав доступа (chmod, chown) и безопасного использования sudo.",[1005,1911,1912],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":37,"searchDepth":82,"depth":82,"links":1914},[1915,1916,1917,1925],{"id":1278,"depth":82,"text":1279},{"id":112,"depth":82,"text":113},{"id":1376,"depth":82,"text":1377,"children":1918},[1919,1920,1921,1922,1923,1924],{"id":1381,"depth":789,"text":1382},{"id":1473,"depth":789,"text":1474},{"id":1548,"depth":789,"text":1549},{"id":1613,"depth":789,"text":1614},{"id":1685,"depth":789,"text":1686},{"id":1781,"depth":789,"text":1782},{"id":915,"depth":82,"text":916},"2026-02-16 14:06:32","Узнайте, как решить ошибку 'Permission denied' в Linux. Пошаговые инструкции для Ubuntu, CentOS, Debian. Изменение прав, использование sudo и другие методы. Решите проблему за 5 минут!",[1929,1932,1935,1938],{"question":1930,"answer":1931},"Что означает ошибка 'Permission denied' в Linux?","Эта ошибка указывает, что у текущего пользователя или процесса нет необходимых прав для доступа к файлу, каталогу или ресурсу.",{"question":1933,"answer":1934},"Как исправить Permission Denied без прав администратора?","Попробуйте изменить права доступа с помощью `chmod`, если у вас есть права на файл, или обратитесь к администратору для смены владельца.",{"question":1936,"answer":1937},"Почему возникает Permission Denied даже при использовании sudo?","Возможно, файловая система смонтирована с опциями `noexec` или `nosuid`, или активны правила SELinux/AppArmor, блокирующие доступ.",{"question":1939,"answer":1940},"Как предотвратить ошибку Permission Denied в будущем?","Настраивайте правильные права и владельца для файлов и каталогов, избегайте запуска команд от root без необходимости и регулярно проверяйте монтирование разделов.",[1942,1944,1947,1950,1953],{"name":1044,"text":1943},"Используйте команду `ls -l` для просмотра прав доступа к файлу или каталогу, который вызывает ошибку.",{"name":1945,"text":1946},"Измените права доступа","Примените команду `chmod` для предоставления необходимых прав, например, `chmod u+x файл` для добавления права выполнения.",{"name":1948,"text":1949},"Используйте sudo для повышения прав","Если у вас есть права на использование sudo, выполните команду с `sudo`, но убедитесь в безопасности операции.",{"name":1951,"text":1952},"Проверьте владельца файла","С помощью `ls -l` убедитесь, что вы являетесь владельцем файла или входите в группу, имеющую доступ.",{"name":1954,"text":1955},"Проверьте монтирование файловой системы","Убедитесь, что файловая система не смонтирована с опциями, запрещающими доступ, например, `noexec` или `nosuid`.",[1957,1958,1959,1960,1961,1962,1963,1964,1965,1966],"ошибка permission denied linux","как исправить permission denied в linux","права доступа linux","команда chmod","использование sudo","permission denied ubuntu","ошибка доступа к файлу","изменить права файла linux","linux файл недоступен","permission denied centos",{},[1969,1970,1971],"/errors/linux/file-not-found","/guides/linux/chmod-command","/errors/linux/permission-denied-sudo","Ошибки Linux",{"title":1268,"description":1927},"errors/linux/file-permission-denied","Статья подробно разбирает ошибку 'Permission Denied' в Linux, объясняет её причины и предлагает несколько рабочих способов исправить, от простого изменения прав до более сложных настроек.",[1977,1083,25,257,137,1071],"ошибки linux","JWmVFZ2Xsj-Jv9vF3kNX5ciKYYwe8g1Mg-rDxHFKiSY",{"id":1980,"title":1981,"appliesTo":1982,"author":9,"body":1984,"canonical":1019,"code":1019,"createdAt":2892,"description":2893,"difficulty":1022,"draft":1023,"estimatedTime":1024,"extension":1025,"faq":2894,"howToSteps":2907,"howToTotalTime":1055,"image":1019,"keywords":2918,"locale":1067,"meta":2926,"navigation":1069,"path":1074,"platform":1071,"related":2927,"section":2931,"seo":2932,"severity":1019,"stem":2933,"summary":2934,"tags":2935,"twitterCreator":1019,"twitterSite":1019,"type":2939,"updatedAt":2892,"__hash__":2940},"content_ru/guides/linux/chmod-chown-basics.md","chmod и chown в Linux: базовые команды управления правами",[1270,1272,1271,1983],"Linux в целом",{"type":11,"value":1985,"toc":2861},[1986,1990,2006,2010,2031,2055,2059,2066,2080,2082,2088,2094,2149,2157,2161,2167,2181,2185,2202,2214,2218,2234,2243,2247,2266,2272,2288,2292,2304,2308,2311,2328,2344,2353,2356,2400,2404,2407,2410,2429,2431,2484,2487,2491,2494,2525,2529,2533,2547,2557,2561,2595,2605,2609,2627,2630,2637,2644,2659,2672,2674,2678,2681,2695,2698,2710,2713,2717,2721,2730,2754,2761,2771,2795,2799,2821,2825,2841,2845,2858],[14,1987,1989],{"id":1988},"введение-зачем-это-нужно","Введение / Зачем это нужно",[19,1991,1992,1993,1996,1997,1999,2000,2002,2003,2005],{},"В Linux каждая файловая система имеет строгую модель безопасности: каждый файл и директория имеют ",[121,1994,1995],{},"владельца"," (пользователя и группу) и ",[121,1998,1083],{}," (что может делать каждый: читать, писать, выполнять). Команды ",[23,2001,981],{}," (change owner) и ",[23,2004,257],{}," (change mode) — это основные инструменты для управления этими настройками. Без них вы не сможете корректно настраивать доступ к файлам, запускать скрипты или защищать конфиденциальные данные. Этот гайд научит вас использовать эти команды на практике.",[14,2007,2009],{"id":2008},"требования-подготовка","Требования / Подготовка",[115,2011,2012,2015,2018,2028],{},[118,2013,2014],{},"Доступ к терминалу Linux (Ubuntu, Debian, CentOS или любая другая дистрибутив).",[118,2016,2017],{},"Базовое понимание структуры файловой системы (что такое файл, директория, путь).",[118,2019,2020,2021,2023,2024,2027],{},"Для изменения владельца (",[23,2022,981],{},") или прав на файлы, принадлежащие другим пользователям, потребуются права ",[121,2025,2026],{},"суперпользователя"," (sudo). Если вы работаете со своими файлами — sudo не нужен.",[118,2029,2030],{},"Рекомендуется создать тестовую директорию и файлы, чтобы экспериментировать без риска:",[32,2032,2034],{"className":34,"code":2033,"language":36,"meta":37,"style":37},"mkdir ~/test_permissions\ntouch ~/test_permissions/file1.txt ~/test_permissions/script.sh\n",[23,2035,2036,2044],{"__ignoreMap":37},[41,2037,2038,2041],{"class":43,"line":44},[41,2039,2040],{"class":47},"mkdir",[41,2042,2043],{"class":51}," ~/test_permissions\n",[41,2045,2046,2049,2052],{"class":43,"line":82},[41,2047,2048],{"class":47},"touch",[41,2050,2051],{"class":51}," ~/test_permissions/file1.txt",[41,2053,2054],{"class":51}," ~/test_permissions/script.sh\n",[14,2056,2058],{"id":2057},"шаг-1-проверка-текущих-прав-и-владельца","Шаг 1: Проверка текущих прав и владельца",[19,2060,2061,2062,2065],{},"Прежде чем что-то менять, нужно понять текущее состояние. Используйте команду ",[23,2063,2064],{},"ls -l"," (long list).",[32,2067,2069],{"className":34,"code":2068,"language":36,"meta":37,"style":37},"ls -l ~/test_permissions/\n",[23,2070,2071],{"__ignoreMap":37},[41,2072,2073,2075,2077],{"class":43,"line":44},[41,2074,212],{"class":47},[41,2076,452],{"class":215},[41,2078,2079],{"class":51}," ~/test_permissions/\n",[19,2081,223],{},[32,2083,2086],{"className":2084,"code":2085,"language":229},[227],"-rw-r--r-- 1 alex users 0 Feb 16 12:00 file1.txt\n-rw-r--r-- 1 alex users 0 Feb 16 12:00 script.sh\n",[23,2087,2085],{"__ignoreMap":37},[19,2089,2090,2091,202],{},"Разберем строку для ",[23,2092,2093],{},"file1.txt",[274,2095,2096,2106,2112,2118,2123,2129,2134,2140,2146],{},[118,2097,2098,2101,2102,2105],{},[23,2099,2100],{},"-"," — тип (дефис = обычный файл, ",[23,2103,2104],{},"d"," = директория).",[118,2107,2108,2111],{},[23,2109,2110],{},"rw-"," — права владельца (alex): чтение (r), запись (w), выполнение (x).",[118,2113,2114,2117],{},[23,2115,2116],{},"r--"," — права группы (users): только чтение.",[118,2119,2120,2122],{},[23,2121,2116],{}," — права остальных: только чтение.",[118,2124,2125,2128],{},[23,2126,2127],{},"1"," — количество жестких ссылок.",[118,2130,2131,2133],{},[23,2132,1502],{}," — владелец (пользователь).",[118,2135,2136,2139],{},[23,2137,2138],{},"users"," — группа-владелец.",[118,2141,2142,2145],{},[23,2143,2144],{},"0"," — размер в байтах.",[118,2147,2148],{},"Далее — дата, время, имя.",[19,2150,2151,2154,2155,142],{},[121,2152,2153],{},"Запомните",": 9 символов прав делятся на три триады: владелец (user), группа (group), остальные (others). Каждая триада — это биты rwx (чтение, запись, выполнение), где отсутствующая возможность заменяется на ",[23,2156,2100],{},[14,2158,2160],{"id":2159},"шаг-2-изменение-владельца-chown","Шаг 2: Изменение владельца (chown)",[19,2162,2163,2164,2166],{},"Команда ",[23,2165,981],{}," меняет пользователя и/или группу-владельца файла. Синтаксис:",[32,2168,2170],{"className":34,"code":2169,"language":36,"meta":37,"style":37},"sudo chown [пользователь][:группа] файл\n",[23,2171,2172],{"__ignoreMap":37},[41,2173,2174,2176,2178],{"class":43,"line":44},[41,2175,137],{"class":47},[41,2177,372],{"class":51},[41,2179,2180],{"class":99}," [пользователь][:группа] файл\n",[1379,2182,2184],{"id":2183},"пример-1-изменить-только-владельца","Пример 1: Изменить только владельца",[32,2186,2188],{"className":34,"code":2187,"language":36,"meta":37,"style":37},"sudo chown bob file1.txt\n",[23,2189,2190],{"__ignoreMap":37},[41,2191,2192,2194,2196,2199],{"class":43,"line":44},[41,2193,137],{"class":47},[41,2195,372],{"class":51},[41,2197,2198],{"class":51}," bob",[41,2200,2201],{"class":51}," file1.txt\n",[19,2203,2204,2205,2207,2208,2211,2212,142],{},"После этого владельцем ",[23,2206,2093],{}," станет пользователь ",[23,2209,2210],{},"bob",", группа останется ",[23,2213,2138],{},[1379,2215,2217],{"id":2216},"пример-2-изменить-владельца-и-группу-одновременно","Пример 2: Изменить владельца и группу одновременно",[32,2219,2221],{"className":34,"code":2220,"language":36,"meta":37,"style":37},"sudo chown bob:devs file1.txt\n",[23,2222,2223],{"__ignoreMap":37},[41,2224,2225,2227,2229,2232],{"class":43,"line":44},[41,2226,137],{"class":47},[41,2228,372],{"class":51},[41,2230,2231],{"class":51}," bob:devs",[41,2233,2201],{"class":51},[19,2235,2236,2237,2239,2240,142],{},"Теперь владелец — ",[23,2238,2210],{},", группа — ",[23,2241,2242],{},"devs",[1379,2244,2246],{"id":2245},"пример-3-рекурсивно-изменить-владельца-для-директории-и-всего-содержимого","Пример 3: Рекурсивно изменить владельца для директории и всего содержимого",[32,2248,2250],{"className":34,"code":2249,"language":36,"meta":37,"style":37},"sudo chown -R alice:developers /home/alice/project\n",[23,2251,2252],{"__ignoreMap":37},[41,2253,2254,2256,2258,2260,2263],{"class":43,"line":44},[41,2255,137],{"class":47},[41,2257,372],{"class":51},[41,2259,260],{"class":215},[41,2261,2262],{"class":51}," alice:developers",[41,2264,2265],{"class":51}," /home/alice/project\n",[19,2267,2268,2269,2271],{},"Ключ ",[23,2270,271],{}," (recursive) применяет изменение ко всем вложенным файлам и поддиректориям.",[312,2273,2274],{},[19,2275,316,2276,2278,2279,2281,2282,545,2285,2287],{},[121,2277,319],{},": Будьте осторожны с рекурсивным ",[23,2280,981],{}," на системных директориях (",[23,2283,2284],{},"/etc",[23,2286,544],{},"). Это может нарушить работу системы. Всегда проверяйте путь.",[14,2289,2291],{"id":2290},"шаг-3-изменение-прав-доступа-chmod","Шаг 3: Изменение прав доступа (chmod)",[19,2293,2163,2294,2296,2297,2300,2301,142],{},[23,2295,257],{}," меняет права (rwx). Есть два основных способа: ",[121,2298,2299],{},"числовой (octal)"," и ",[121,2302,2303],{},"символьный",[1379,2305,2307],{"id":2306},"числовой-метод-octal","Числовой метод (octal)",[19,2309,2310],{},"Каждой тройке прав (rwx) соответствует число от 0 до 7, где:",[274,2312,2313,2318,2323],{},[118,2314,2315,2317],{},[23,2316,1308],{}," = 4",[118,2319,2320,2322],{},[23,2321,127],{}," = 2",[118,2324,2325,2327],{},[23,2326,151],{}," = 1\nСуммируем нужные биты.",[19,2329,2330,2331,2333,2334,2336,2337,2340,2341,2343],{},"Пример: ",[23,2332,310],{}," = 4+2+1 = 7, ",[23,2335,2110],{}," = 4+2+0 = 6, ",[23,2338,2339],{},"r-x"," = 4+0+1 = 5, ",[23,2342,2116],{}," = 4.",[19,2345,2346,2349,2350],{},[121,2347,2348],{},"Команда",": ",[23,2351,2352],{},"chmod [число] файл",[19,2354,2355],{},"Примеры:",[32,2357,2359],{"className":34,"code":2358,"language":36,"meta":37,"style":37},"chmod 755 script.sh   # Владелец: rwx (7), группа и остальные: r-x (5)\nchmod 644 file1.txt   # Владелец: rw- (6), группа и остальные: r-- (4)\nchmod 777 temp.log   # Все: rwx (используйте с осторожностью!)\n",[23,2360,2361,2374,2387],{"__ignoreMap":37},[41,2362,2363,2365,2367,2370],{"class":43,"line":44},[41,2364,257],{"class":47},[41,2366,499],{"class":215},[41,2368,2369],{"class":51}," script.sh",[41,2371,2373],{"class":2372},"sJ8bj","   # Владелец: rwx (7), группа и остальные: r-x (5)\n",[41,2375,2376,2378,2381,2384],{"class":43,"line":82},[41,2377,257],{"class":47},[41,2379,2380],{"class":215}," 644",[41,2382,2383],{"class":51}," file1.txt",[41,2385,2386],{"class":2372},"   # Владелец: rw- (6), группа и остальные: r-- (4)\n",[41,2388,2389,2391,2394,2397],{"class":43,"line":789},[41,2390,257],{"class":47},[41,2392,2393],{"class":215}," 777",[41,2395,2396],{"class":51}," temp.log",[41,2398,2399],{"class":2372},"   # Все: rwx (используйте с осторожностью!)\n",[1379,2401,2403],{"id":2402},"символьный-метод","Символьный метод",[19,2405,2406],{},"Более гибкий: вы добавляете/убираете/устанавливаете права для конкретной категории (u=user, g=group, o=others, a=all).",[19,2408,2409],{},"Операторы:",[274,2411,2412,2418,2423],{},[118,2413,2414,2417],{},[23,2415,2416],{},"+"," — добавить право.",[118,2419,2420,2422],{},[23,2421,2100],{}," — убрать право.",[118,2424,2425,2428],{},[23,2426,2427],{},"="," — точно задать (остальные сбросятся).",[19,2430,2355],{},[32,2432,2434],{"className":34,"code":2433,"language":36,"meta":37,"style":37},"chmod u+x script.sh          # Добавить выполнение (x) владельцу (u)\nchmod go-w file1.txt         # Убрать запись (w) у группы (g) и остальных (o)\nchmod a=r file1.txt          # Все (a) получили только чтение (r)\nchmod ug=rwx,o= script.sh    # Владелец и группа: rwx, остальные: никаких\n",[23,2435,2436,2447,2459,2471],{"__ignoreMap":37},[41,2437,2438,2440,2442,2444],{"class":43,"line":44},[41,2439,257],{"class":47},[41,2441,1421],{"class":51},[41,2443,2369],{"class":51},[41,2445,2446],{"class":2372},"          # Добавить выполнение (x) владельцу (u)\n",[41,2448,2449,2451,2454,2456],{"class":43,"line":82},[41,2450,257],{"class":47},[41,2452,2453],{"class":51}," go-w",[41,2455,2383],{"class":51},[41,2457,2458],{"class":2372},"         # Убрать запись (w) у группы (g) и остальных (o)\n",[41,2460,2461,2463,2466,2468],{"class":43,"line":789},[41,2462,257],{"class":47},[41,2464,2465],{"class":51}," a=r",[41,2467,2383],{"class":51},[41,2469,2470],{"class":2372},"          # Все (a) получили только чтение (r)\n",[41,2472,2474,2476,2479,2481],{"class":43,"line":2473},4,[41,2475,257],{"class":47},[41,2477,2478],{"class":51}," ug=rwx,o=",[41,2480,2369],{"class":51},[41,2482,2483],{"class":2372},"    # Владелец и группа: rwx, остальные: никаких\n",[19,2485,2486],{},"Символьный метод удобен для точечных изменений, числовой — для быстрой установки стандартных наборов.",[14,2488,2490],{"id":2489},"шаг-4-часто-используемые-комбинации-прав","Шаг 4: Часто используемые комбинации прав",[19,2492,2493],{},"Знайте эти «магические» числа:",[274,2495,2496,2502,2508,2514,2519],{},[118,2497,2498,2501],{},[23,2499,2500],{},"755"," — стандарт для исполняемых файлов и скриптов (владелец может всё, остальные — чтение и выполнение).",[118,2503,2504,2507],{},[23,2505,2506],{},"644"," — стандарт для обычных файлов (владелец читает/пишет, остальные только читают).",[118,2509,2510,2513],{},[23,2511,2512],{},"700"," — только владелец имеет полный доступ (для конфиденциальных файлов).",[118,2515,2516,2518],{},[23,2517,323],{}," — полный доступ всем (опасно, используйте только для временных общих ресурсов).",[118,2520,2521,2524],{},[23,2522,2523],{},"750"," — владелец: всё, группа: чтение/выполнение, остальные: ничего.",[14,2526,2528],{"id":2527},"шаг-5-практические-примеры","Шаг 5: Практические примеры",[1379,2530,2532],{"id":2531},"пример-1-сделать-скрипт-исполняемым","Пример 1: Сделать скрипт исполняемым",[32,2534,2536],{"className":34,"code":2535,"language":36,"meta":37,"style":37},"chmod +x script.sh\n",[23,2537,2538],{"__ignoreMap":37},[41,2539,2540,2542,2544],{"class":43,"line":44},[41,2541,257],{"class":47},[41,2543,1459],{"class":51},[41,2545,2546],{"class":51}," script.sh\n",[19,2548,2549,2550,2553,2554,142],{},"Или числовым: ",[23,2551,2552],{},"chmod 755 script.sh",". Теперь скрипт можно запустить как ",[23,2555,2556],{},"./script.sh",[1379,2558,2560],{"id":2559},"пример-2-разрешить-группе-запись-в-общую-директорию","Пример 2: Разрешить группе запись в общую директорию",[32,2562,2564],{"className":34,"code":2563,"language":36,"meta":37,"style":37},"sudo chown :developers /shared_folder   # Меняем группу-владельца на developers\nsudo chmod 775 /shared_folder           # Владелец и группа: rwx, остальные: r-x\n",[23,2565,2566,2581],{"__ignoreMap":37},[41,2567,2568,2570,2572,2575,2578],{"class":43,"line":44},[41,2569,137],{"class":47},[41,2571,372],{"class":51},[41,2573,2574],{"class":51}," :developers",[41,2576,2577],{"class":51}," /shared_folder",[41,2579,2580],{"class":2372},"   # Меняем группу-владельца на developers\n",[41,2582,2583,2585,2587,2590,2592],{"class":43,"line":82},[41,2584,137],{"class":47},[41,2586,496],{"class":51},[41,2588,2589],{"class":215}," 775",[41,2591,2577],{"class":51},[41,2593,2594],{"class":2372},"           # Владелец и группа: rwx, остальные: r-x\n",[19,2596,2597,2598,2601,2602,142],{},"Теперь все пользователи из группы ",[23,2599,2600],{},"developers"," могут создавать/удалять файлы в ",[23,2603,2604],{},"/shared_folder",[1379,2606,2608],{"id":2607},"пример-3-забрать-у-остальных-право-на-чтение-конфиденциального-файла","Пример 3: Забрать у остальных право на чтение конфиденциального файла",[32,2610,2612],{"className":34,"code":2611,"language":36,"meta":37,"style":37},"chmod 640 config.ini   # Владелец: rw-, группа: r--, остальные: ---\n",[23,2613,2614],{"__ignoreMap":37},[41,2615,2616,2618,2621,2624],{"class":43,"line":44},[41,2617,257],{"class":47},[41,2619,2620],{"class":215}," 640",[41,2622,2623],{"class":51}," config.ini",[41,2625,2626],{"class":2372},"   # Владелец: rw-, группа: r--, остальные: ---\n",[19,2628,2629],{},"Остальные (не входящие в группу) не увидят файл.",[1379,2631,2633,2634,2636],{"id":2632},"пример-4-установить-sticky-bit-для-общей-директории-например-tmp","Пример 4: Установить sticky bit для общей директории (например, ",[23,2635,933],{},")",[19,2638,2639,2640,2643],{},"Sticky bit (бит ",[23,2641,2642],{},"t",") заставляет файлы удалять только их владельца, даже если директория доступна на запись всем.",[32,2645,2647],{"className":34,"code":2646,"language":36,"meta":37,"style":37},"chmod +t /shared_folder\n",[23,2648,2649],{"__ignoreMap":37},[41,2650,2651,2653,2656],{"class":43,"line":44},[41,2652,257],{"class":47},[41,2654,2655],{"class":51}," +t",[41,2657,2658],{"class":51}," /shared_folder\n",[19,2660,2661,2662,2665,2666,2668,2669,2671],{},"Права изменятся на ",[23,2663,2664],{},"drwxrwxrwt"," (виден символ ",[23,2667,2642],{}," вместо ",[23,2670,151],{}," для остальных).",[739,2673],{},[14,2675,2677],{"id":2676},"проверка-результата","Проверка результата",[19,2679,2680],{},"После каждого изменения проверяйте:",[32,2682,2684],{"className":34,"code":2683,"language":36,"meta":37,"style":37},"ls -l файл_или_директория\n",[23,2685,2686],{"__ignoreMap":37},[41,2687,2688,2690,2692],{"class":43,"line":44},[41,2689,212],{"class":47},[41,2691,452],{"class":215},[41,2693,2694],{"class":51}," файл_или_директория\n",[19,2696,2697],{},"Убедитесь, что:",[274,2699,2700,2705],{},[118,2701,2702,2703,937],{},"Владелец и группа изменились (после ",[23,2704,981],{},[118,2706,2707,2708,937],{},"Правые 9 символов соответствуют ожидаемым (после ",[23,2709,257],{},[19,2711,2712],{},"Для директорий с рекурсивными изменениями проверьте несколько вложенных файлов.",[14,2714,2716],{"id":2715},"возможные-проблемы","Возможные проблемы",[1379,2718,2720],{"id":2719},"проблема-1-operation-not-permitted-при-chownchmod","Проблема 1: «Operation not permitted» при chown/chmod",[19,2722,2723,2726,2727,202],{},[121,2724,2725],{},"Причина",": Вы не владелец файла и не используете sudo, либо пытаетесь изменить права на файл, который вы не владеете, а у вас нет прав CAP_CHOWN (обычно только у root).\n",[121,2728,2729],{},"Решение",[274,2731,2732,2737,2743],{},[118,2733,2734,2735,937],{},"Для своих файлов: убедитесь, что вы владелец (",[23,2736,2064],{},[118,2738,2739,2740,2742],{},"Для чужих/системных файлов: используйте ",[23,2741,137],{}," (если у вас есть права sudo) или обратитесь к администратору.",[118,2744,2745,2746,545,2749,545,2751,2753],{},"Не меняйте владельца/права на системные файлы (",[23,2747,2748],{},"/bin",[23,2750,2284],{},[23,2752,544],{},") без крайней необходимости.",[1379,2755,2757,2758],{"id":2756},"проблема-2-скрипт-не-выполняется-хотя-стоит-x","Проблема 2: Скрипт не выполняется, хотя стоит ",[23,2759,2760],{},"+x",[19,2762,2763,2765,2766,2768,2769,202],{},[121,2764,2725],{},": Возможно, на файловой системе, где лежит скрипт, не поддерживается выполнение (например, смонтирована с опцией ",[23,2767,1330],{},"), или в первой строке скрипта указан неверный интерпретатор (shebang).\n",[121,2770,2729],{},[274,2772,2773,2781,2788],{},[118,2774,2775,2776,559,2778,937],{},"Проверьте, смонтирована ли файловая система с ",[23,2777,1330],{},[23,2779,2780],{},"mount | grep /путь",[118,2782,2783,2784,2787],{},"Убедитесь, что скрипт начинается с ",[23,2785,2786],{},"#!/bin/bash"," (или другого корректного пути к интерпретатору).",[118,2789,2790,2791,2794],{},"Запускайте скрипт явно: ",[23,2792,2793],{},"bash script.sh"," (если нет x-бита).",[1379,2796,2798],{"id":2797},"проблема-3-рекурсивный-chownchmod-затронул-больше-чем-нужно","Проблема 3: Рекурсивный chown/chmod затронул больше, чем нужно",[19,2800,2801,2803,2804,2806,2807,2809,2810,2812,2813,2816,2817,2820],{},[121,2802,2725],{},": Ошибка в пути или забыли про ",[23,2805,271],{}," (или наоборот, использовали ",[23,2808,271],{}," в неправильной директории).\n",[121,2811,2729],{},": Всегда проверяйте путь перед рекурсивной операцией. Для отката можно использовать ",[23,2814,2815],{},"find"," с ",[23,2818,2819],{},"-exec"," или восстановить из бэкапа. Будьте внимательны!",[1379,2822,2824],{"id":2823},"проблема-4-группа-не-меняется-при-chown-пользовательгруппа","Проблема 4: Группа не меняется при chown пользователь:группа",[19,2826,2827,2829,2830,2832,2833,2836,2837,2840],{},[121,2828,2725],{},": Указанной группы не существует в системе.\n",[121,2831,2729],{},": Предварительно создайте группу (",[23,2834,2835],{},"sudo groupadd группа",") или используйте существующую (",[23,2838,2839],{},"getent group"," для просмотра).",[1379,2842,2844],{"id":2843},"проблема-5-после-chmod-777-файл-стал-доступен-всем-но-это-небезопасно","Проблема 5: После chmod 777 файл стал доступен всем, но это небезопасно",[19,2846,2847,2849,2850,2853,2854,2857],{},[121,2848,2729],{},": Немедленно верните разумные права, например, ",[23,2851,2852],{},"chmod 755 файл"," для исполняемых или ",[23,2855,2856],{},"chmod 644 файл"," для обычных. Избегайте 777 на постоянной основе.",[1005,2859,2860],{},"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 .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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":37,"searchDepth":82,"depth":82,"links":2862},[2863,2864,2865,2866,2871,2875,2876,2883,2884],{"id":1988,"depth":82,"text":1989},{"id":2008,"depth":82,"text":2009},{"id":2057,"depth":82,"text":2058},{"id":2159,"depth":82,"text":2160,"children":2867},[2868,2869,2870],{"id":2183,"depth":789,"text":2184},{"id":2216,"depth":789,"text":2217},{"id":2245,"depth":789,"text":2246},{"id":2290,"depth":82,"text":2291,"children":2872},[2873,2874],{"id":2306,"depth":789,"text":2307},{"id":2402,"depth":789,"text":2403},{"id":2489,"depth":82,"text":2490},{"id":2527,"depth":82,"text":2528,"children":2877},[2878,2879,2880,2881],{"id":2531,"depth":789,"text":2532},{"id":2559,"depth":789,"text":2560},{"id":2607,"depth":789,"text":2608},{"id":2632,"depth":789,"text":2882},"Пример 4: Установить sticky bit для общей директории (например, /tmp)",{"id":2676,"depth":82,"text":2677},{"id":2715,"depth":82,"text":2716,"children":2885},[2886,2887,2889,2890,2891],{"id":2719,"depth":789,"text":2720},{"id":2756,"depth":789,"text":2888},"Проблема 2: Скрипт не выполняется, хотя стоит +x",{"id":2797,"depth":789,"text":2798},{"id":2823,"depth":789,"text":2824},{"id":2843,"depth":789,"text":2844},"2026-02-16 18:53:17","Полное руководство по управлению правами доступа и владельцем файлов в Linux. Пошаговая инструкция с примерами для новичков, объяснение чисел 755, 644 и других.",[2895,2898,2901,2904],{"question":2896,"answer":2897},"Как рекурсивно изменить владельца для всей директории и её содержимого?","Используйте ключ `-R` (рекурсивно): `sudo chown -R пользователь:группа /путь/к/директории`.",{"question":2899,"answer":2900},"Чем отличается числовой метод (755) от символьного (u+x) в chmod?","Числовой (755) задает все права разом, символьный (u+x) меняет только указанные (например, добавляет выполнение для владельца). Символьный точечнее, числовой быстрее для стандартных наборов.",{"question":2902,"answer":2903},"Что делать, если при chown/chmod появляется «Operation not permitted»?","Вы не являетесь владельцем файла или не используете sudo. Запустите команду с `sudo` или обратитесь к администратору, если это системный файл.",{"question":2905,"answer":2906},"Как дать права на запись только владельцу, а на чтение — группе и остальным?","Используйте `chmod 644 файл` (влад.: rw-, группа: r--, остальные: r--) или символьный: `chmod u=rw,g=r,o=r файл`.",[2908,2911,2914,2916],{"name":2909,"text":2910},"Проверьте текущие права и владельца","Выполните `ls -l /путь/к/файлу` и обратите внимание на строку, начинающуюся с `-` (файл) или `d` (директория). Первые 9 символов — права, после них идет владелец и группа.",{"name":2912,"text":2913},"Измените владельца файла (chown)","Используйте `sudo chown пользователь:группа файл`. Для директории рекурсивно добавьте `-R`. Пример: `sudo chown -R alice:developers /project`.",{"name":1047,"text":2915},"Числовой метод: `chmod 755 файл` (владелец: rwx, группа и остальные: r-x). Символьный: `chmod u+x файл` (добавить выполнение владельцу) или `chmod go-w файл` (забрать запись у группы и остальных).",{"name":292,"text":2917},"Снова выполните `ls -l` и убедитесь, что владелец/группа и права изменились.",[2919,2920,2921,2922,2923,2924,2925],"chmod linux примеры","изменить владельца файла linux","права доступа linux 755 644","как выдать права на выполнение скрипту","chmod и chown разница","управление правами linux для начинающих","recursive chown chmod",{},[2928,2929,2930],"/guides/linux/file-permissions-deep-dive","/errors/linux/permission-denied","/guides/linux/sudo-basics","Гайды Linux",{"title":1981,"description":2893},"guides/linux/chmod-chown-basics","В этом гайде вы узнаете, как использовать команды chmod и chown для изменения прав доступа и владельца файлов в Linux. Мы разберем числовой и символьный методы, приведем практические примеры и объясним, как избежать распространенных ошибок.",[1071,1083,257,981,2936,2937,2938],"команды linux","базовые команды","управление файлами","guide","wEJlrBGIU73YL3hA7maqTWj60wUqXN1Q0YFhfdzWSmg",{"id":2942,"title":2943,"appliesTo":2944,"author":9,"body":2949,"canonical":1019,"code":37,"createdAt":3709,"description":3710,"difficulty":1022,"draft":1023,"estimatedTime":1024,"extension":1025,"faq":3711,"howToSteps":3724,"howToTotalTime":1055,"image":1019,"keywords":3740,"locale":1067,"meta":3748,"navigation":1069,"path":1075,"platform":1071,"related":3749,"section":1972,"seo":3752,"severity":3753,"stem":3754,"summary":3755,"tags":3756,"twitterCreator":1019,"twitterSite":1019,"type":1084,"updatedAt":3709,"__hash__":3761},"content_ru/errors/linux/git-not-found.md","Git command not found в Linux: причины и 3 способа исправления",[2945,2946,2947,1273,2948],"Ubuntu 22.04+","Debian 11+","CentOS 8+","Arch Linux",{"type":11,"value":2950,"toc":3686},[2951,2958,2978,2981,3014,3017,3037,3039,3093,3097,3100,3104,3128,3132,3148,3160,3164,3181,3185,3188,3200,3205,3211,3220,3399,3415,3419,3426,3518,3520,3575,3577,3581,3592,3615,3619,3633,3641,3656,3660,3683],[14,2952,2954,2955],{"id":2953},"что-означает-ошибка-git-command-not-found","Что означает ошибка ",[23,2956,2957],{},"git: command not found",[19,2959,21,2960,26,2964,2967,2968,2970,2971,2974,2975,2977],{},[121,2961,2962],{},[23,2963,2957],{},[23,2965,2966],{},"bash: git: command not found",") появляется в терминале Linux, когда система не может найти исполняемый файл команды ",[23,2969,581],{}," в каталогах, указанных в переменной окружения ",[23,2972,2973],{},"PATH",". Это означает, что либо Git не установлен в системе, либо установлен, но его путь не добавлен в ",[23,2976,2973],{},", либо есть проблемы с правами доступа.",[19,2979,2980],{},"Обычно ошибка выглядит так:",[32,2982,2984],{"className":34,"code":2983,"language":36,"meta":37,"style":37},"$ git clone https://github.com/user/repo.git\nbash: git: command not found\n",[23,2985,2986,2998],{"__ignoreMap":37},[41,2987,2988,2991,2993,2995],{"class":43,"line":44},[41,2989,2990],{"class":47},"$",[41,2992,672],{"class":51},[41,2994,584],{"class":51},[41,2996,2997],{"class":51}," https://github.com/user/repo.git\n",[41,2999,3000,3003,3006,3009,3011],{"class":43,"line":82},[41,3001,3002],{"class":47},"bash:",[41,3004,3005],{"class":51}," git:",[41,3007,3008],{"class":51}," command",[41,3010,55],{"class":51},[41,3012,3013],{"class":51}," found\n",[19,3015,3016],{},"Или (в Zsh):",[32,3018,3020],{"className":34,"code":3019,"language":36,"meta":37,"style":37},"zsh: command not found: git\n",[23,3021,3022],{"__ignoreMap":37},[41,3023,3024,3027,3029,3031,3034],{"class":43,"line":44},[41,3025,3026],{"class":47},"zsh:",[41,3028,3008],{"class":51},[41,3030,55],{"class":51},[41,3032,3033],{"class":51}," found:",[41,3035,3036],{"class":51}," git\n",[14,3038,113],{"id":112},[115,3040,3041,3047,3061,3067,3076],{},[118,3042,3043,3046],{},[121,3044,3045],{},"Git не установлен"," —最常见ая причина. В чистой установке Linux (особенно минимальных дистрибутивах) Git часто отсутствует по умолчанию.",[118,3048,3049,3054,3055,3058,3059,142],{},[121,3050,3051,3052],{},"Путь к Git не добавлен в ",[23,3053,2973],{}," — Git установлен в нестандартное место (например, в ",[23,3056,3057],{},"/usr/local/bin","), а этот каталог отсутствует в переменной ",[23,3060,2973],{},[118,3062,3063,3066],{},[121,3064,3065],{},"Повреждение установки Git"," — файлы Git были удалены или повреждены частично.",[118,3068,3069,3072,3073,3075],{},[121,3070,3071],{},"Недостаточно прав на выполнение"," — у вашего пользователя нет прав на выполнение файла ",[23,3074,581],{}," (редко, но возможно при ручной установке).",[118,3077,3078,3081,3082,545,3084,1191,3087,3090,3091,142],{},[121,3079,3080],{},"Ошибка в конфигурации оболочки"," — в файлах ",[23,3083,1856],{},[23,3085,3086],{},"~/.profile",[23,3088,3089],{},"~/.zshrc"," есть некорректные изменения, сломавшие ",[23,3092,2973],{},[14,3094,3096],{"id":3095},"способ-1-установка-git-через-менеджер-пакетов-рекомендуется","Способ 1: Установка Git через менеджер пакетов (рекомендуется)",[19,3098,3099],{},"Если Git не установлен, самый простой способ — установить его через встроенный менеджер пакетов вашего дистрибутива.",[1379,3101,3103],{"id":3102},"для-ubuntudebian-и-производных","Для Ubuntu/Debian и производных:",[32,3105,3107],{"className":34,"code":3106,"language":36,"meta":37,"style":37},"sudo apt update\nsudo apt install git\n",[23,3108,3109,3117],{"__ignoreMap":37},[41,3110,3111,3113,3115],{"class":43,"line":44},[41,3112,137],{"class":47},[41,3114,1584],{"class":51},[41,3116,1587],{"class":51},[41,3118,3119,3121,3123,3126],{"class":43,"line":82},[41,3120,137],{"class":47},[41,3122,1584],{"class":51},[41,3124,3125],{"class":51}," install",[41,3127,3036],{"class":51},[1379,3129,3131],{"id":3130},"для-fedorarhelcentos-8","Для Fedora/RHEL/CentOS 8+:",[32,3133,3135],{"className":34,"code":3134,"language":36,"meta":37,"style":37},"sudo dnf install git\n",[23,3136,3137],{"__ignoreMap":37},[41,3138,3139,3141,3144,3146],{"class":43,"line":44},[41,3140,137],{"class":47},[41,3142,3143],{"class":51}," dnf",[41,3145,3125],{"class":51},[41,3147,3036],{"class":51},[19,3149,3150],{},[3151,3152,3153,3154,2668,3157,142],"em",{},"Для CentOS 7 и старше используйте ",[23,3155,3156],{},"yum",[23,3158,3159],{},"dnf",[1379,3161,3163],{"id":3162},"для-arch-linux","Для Arch Linux:",[32,3165,3167],{"className":34,"code":3166,"language":36,"meta":37,"style":37},"sudo pacman -S git\n",[23,3168,3169],{"__ignoreMap":37},[41,3170,3171,3173,3176,3179],{"class":43,"line":44},[41,3172,137],{"class":47},[41,3174,3175],{"class":51}," pacman",[41,3177,3178],{"class":215}," -S",[41,3180,3036],{"class":51},[1379,3182,3184],{"id":3183},"проверка-установки","Проверка установки:",[19,3186,3187],{},"После установки проверьте, что команда доступна:",[32,3189,3191],{"className":34,"code":3190,"language":36,"meta":37,"style":37},"git --version\n",[23,3192,3193],{"__ignoreMap":37},[41,3194,3195,3197],{"class":43,"line":44},[41,3196,581],{"class":47},[41,3198,3199],{"class":215}," --version\n",[19,3201,1402,3202,142],{},[23,3203,3204],{},"git version 2.43.0",[14,3206,3208,3209],{"id":3207},"способ-2-добавление-пути-к-git-в-переменную-path","Способ 2: Добавление пути к Git в переменную ",[23,3210,2973],{},[19,3212,3213,3214,3217,3218,142],{},"Если Git уже установлен (проверьте ",[23,3215,3216],{},"which git","), но команда не находится, скорее всего, его каталог отсутствует в ",[23,3219,2973],{},[115,3221,3222,3277,3286,3354,3375],{},[118,3223,3224,3227,3265,3267,3268,545,3271,1191,3274,142],{},[121,3225,3226],{},"Найдите расположение исполняемого файла git:",[32,3228,3230],{"className":34,"code":3229,"language":36,"meta":37,"style":37},"sudo find / -type f -name git 2>/dev/null | head -10\n",[23,3231,3232],{"__ignoreMap":37},[41,3233,3234,3236,3238,3241,3243,3246,3249,3251,3254,3257,3259,3262],{"class":43,"line":44},[41,3235,137],{"class":47},[41,3237,864],{"class":51},[41,3239,3240],{"class":51}," /",[41,3242,870],{"class":215},[41,3244,3245],{"class":51}," f",[41,3247,3248],{"class":215}," -name",[41,3250,672],{"class":51},[41,3252,3253],{"class":587}," 2>",[41,3255,3256],{"class":51},"/dev/null",[41,3258,1630],{"class":587},[41,3260,3261],{"class":47}," head",[41,3263,3264],{"class":215}," -10\n",[221,3266],{},"Обычно git находится в ",[23,3269,3270],{},"/usr/bin/git",[23,3272,3273],{},"/usr/local/bin/git",[23,3275,3276],{},"/opt/git/bin/git",[118,3278,3279,1806,3284,937],{},[121,3280,3281,3282],{},"Определите каталог, содержащий ",[23,3283,581],{},[23,3285,3057],{},[118,3287,3288,3293,3294],{},[121,3289,3290,3291],{},"Добавьте этот каталог в ",[23,3292,2973],{}," в конфигурационном файле вашей оболочки.",[274,3295,3296,3330],{},[118,3297,3298,3299,3302,3303,660,3305,3324],{},"Для ",[121,3300,3301],{},"Bash"," (стандартная оболочка в большинстве дистрибутивов) отредактируйте ",[23,3304,1856],{},[32,3306,3308],{"className":34,"code":3307,"language":36,"meta":37,"style":37},"echo 'export PATH=\"/usr/local/bin:$PATH\"' >> ~/.bashrc\n",[23,3309,3310],{"__ignoreMap":37},[41,3311,3312,3315,3318,3321],{"class":43,"line":44},[41,3313,3314],{"class":215},"echo",[41,3316,3317],{"class":51}," 'export PATH=\"/usr/local/bin:$PATH\"'",[41,3319,3320],{"class":587}," >>",[41,3322,3323],{"class":51}," ~/.bashrc\n",[3151,3325,3326,3327,3329],{},"Замените ",[23,3328,3057],{}," на ваш каталог.",[118,3331,3298,3332,3335,3336,660,3338],{},[121,3333,3334],{},"Zsh"," отредактируйте ",[23,3337,3089],{},[32,3339,3341],{"className":34,"code":3340,"language":36,"meta":37,"style":37},"echo 'export PATH=\"/usr/local/bin:$PATH\"' >> ~/.zshrc\n",[23,3342,3343],{"__ignoreMap":37},[41,3344,3345,3347,3349,3351],{"class":43,"line":44},[41,3346,3314],{"class":215},[41,3348,3317],{"class":51},[41,3350,3320],{"class":587},[41,3352,3353],{"class":51}," ~/.zshrc\n",[118,3355,3356,3359],{},[121,3357,3358],{},"Примените изменения:",[32,3360,3362],{"className":34,"code":3361,"language":36,"meta":37,"style":37},"source ~/.bashrc   # или source ~/.zshrc\n",[23,3363,3364],{"__ignoreMap":37},[41,3365,3366,3369,3372],{"class":43,"line":44},[41,3367,3368],{"class":215},"source",[41,3370,3371],{"class":51}," ~/.bashrc",[41,3373,3374],{"class":2372},"   # или source ~/.zshrc\n",[118,3376,3377,3380],{},[121,3378,3379],{},"Проверьте:",[32,3381,3383],{"className":34,"code":3382,"language":36,"meta":37,"style":37},"echo $PATH\nwhich git\n",[23,3384,3385,3392],{"__ignoreMap":37},[41,3386,3387,3389],{"class":43,"line":44},[41,3388,3314],{"class":215},[41,3390,3391],{"class":99}," $PATH\n",[41,3393,3394,3397],{"class":43,"line":82},[41,3395,3396],{"class":215},"which",[41,3398,3036],{"class":51},[312,3400,3401],{},[19,3402,3403,3404,3407,3408,3411,3412,3414],{},"💡 ",[121,3405,3406],{},"Совет:"," Убедитесь, что каталог добавлен ",[121,3409,3410],{},"в начало"," ",[23,3413,2973],{}," (как в примере выше), если хотите, чтобы ваша версия git имела приоритет над системной.",[14,3416,3418],{"id":3417},"способ-3-проверка-и-исправление-прав-доступа","Способ 3: Проверка и исправление прав доступа",[19,3420,3421,3422,3425],{},"Если Git установлен в системные каталоги (например, ",[23,3423,3424],{},"/usr/bin","), но команда не работает из-за прав, выполните:",[115,3427,3428,3483,3512],{},[118,3429,3430,3435,3468,223,3470,3476,3478,3479,3482],{},[121,3431,3432,3433,202],{},"Проверьте права на файл ",[23,3434,581],{},[32,3436,3438],{"className":34,"code":3437,"language":36,"meta":37,"style":37},"ls -l $(which git 2>/dev/null || echo \"/usr/bin/git\")\n",[23,3439,3440],{"__ignoreMap":37},[41,3441,3442,3444,3446,3449,3451,3453,3455,3457,3460,3463,3466],{"class":43,"line":44},[41,3443,212],{"class":47},[41,3445,452],{"class":215},[41,3447,3448],{"class":99}," $(",[41,3450,3396],{"class":215},[41,3452,672],{"class":51},[41,3454,3253],{"class":587},[41,3456,3256],{"class":51},[41,3458,3459],{"class":587}," ||",[41,3461,3462],{"class":215}," echo",[41,3464,3465],{"class":51}," \"/usr/bin/git\"",[41,3467,106],{"class":99},[221,3469],{},[32,3471,3474],{"className":3472,"code":3473,"language":229},[227],"-rwxr-xr-x 1 root root 12M Jan 15 12:34 /usr/bin/git\n",[23,3475,3473],{"__ignoreMap":37},[221,3477],{},"Права ",[23,3480,3481],{},"-rwxr-xr-x"," (755) означают, что все пользователи могут выполнять файл.",[118,3484,3485,3491],{},[121,3486,3487,3488,3490],{},"Если нет прав на выполнение (",[23,3489,151],{},"), исправьте:",[32,3492,3494],{"className":34,"code":3493,"language":36,"meta":37,"style":37},"sudo chmod +x $(which git)\n",[23,3495,3496],{"__ignoreMap":37},[41,3497,3498,3500,3502,3504,3506,3508,3510],{"class":43,"line":44},[41,3499,137],{"class":47},[41,3501,496],{"class":51},[41,3503,1459],{"class":51},[41,3505,3448],{"class":99},[41,3507,3396],{"class":215},[41,3509,672],{"class":51},[41,3511,106],{"class":99},[118,3513,3514,3517],{},[121,3515,3516],{},"Если файл принадлежит другому пользователю"," (что маловероятно для системных пакетов), проверьте, не повреждена ли установка. Лучше переустановите Git (Способ 1).",[14,3519,916],{"id":915},[274,3521,3522,3531,3537,3550,3563],{},[118,3523,3524,3527,3528,3530],{},[121,3525,3526],{},"Всегда устанавливайте Git через официальный менеджер пакетов"," вашего дистрибутива. Это гарантирует корректное добавление в ",[23,3529,2973],{}," и управление зависимостями.",[118,3532,3533,3536],{},[121,3534,3535],{},"Не перемещайте и не удаляйте файлы Git вручную"," после установки.",[118,3538,3539,3545,3546,3549],{},[121,3540,3541,3542,3544],{},"При настройке ",[23,3543,2973],{}," вручную"," проверяйте синтаксис и дублирование каталогов. Используйте ",[23,3547,3548],{},"echo $PATH"," для просмотра текущего значения.",[118,3551,3552,3559,3560,3562],{},[121,3553,3554,3555,1900,3557],{},"После изменений в ",[23,3556,1856],{},[23,3558,3089],{}," всегда выполняйте ",[23,3561,3368],{}," или перезапускайте терминал.",[118,3564,3565,3568,3569,545,3572,937],{},[121,3566,3567],{},"Регулярно обновляйте Git"," через менеджер пакетов (",[23,3570,3571],{},"sudo apt upgrade git",[23,3573,3574],{},"sudo dnf update git",[739,3576],{},[14,3578,3580],{"id":3579},"faq","FAQ",[1379,3582,3584,3585,3587,3588,3591],{"id":3583},"что-делать-если-which-git-ничего-не-выводит-но-git-version-работает","Что делать, если ",[23,3586,3216],{}," ничего не выводит, но ",[23,3589,3590],{},"git --version"," работает?",[19,3593,3594,3595,3597,3598,3600,3601,3603,3604,3606,3607,3610,3611,1900,3613,142],{},"Это может означать, что ",[23,3596,581],{}," находится в каталоге, который есть в ",[23,3599,2973],{},", но ",[23,3602,3396],{}," не находит его из-за алиасов или функций. Проверьте, не является ли ",[23,3605,581],{}," алиасом: ",[23,3608,3609],{},"type git",". Если это алиас, настройки находятся в ",[23,3612,1856],{},[23,3614,3089],{},[1379,3616,3618],{"id":3617},"можно-ли-установить-git-только-для-текущего-пользователя","Можно ли установить Git только для текущего пользователя?",[19,3620,3621,3622,3625,3626,3629,3630,3632],{},"Да, можно скомпилировать из исходников и установить в ",[23,3623,3624],{},"~/.local",". Тогда добавьте ",[23,3627,3628],{},"export PATH=\"$HOME/.local/bin:$PATH\""," в ",[23,3631,1856],{},". Но для большинства пользователей проще использовать системный пакетный менеджер.",[1379,3634,3636,3637,3640],{"id":3635},"почему-после-установки-git-через-apt-команда-всё-равно-не-найдена","Почему после установки Git через ",[23,3638,3639],{},"apt"," команда всё равно не найдена?",[19,3642,3643,3644,1191,3646,3648,3649,3651,3652,3655],{},"Такое возможно, если вы используете нестандартную оболочку или сессию без загрузки профиля. Проверьте, загружается ли ",[23,3645,3086],{},[23,3647,1856],{},". Можно добавить путь в ",[23,3650,3086],{}," (который загружается чаще) или в ",[23,3653,3654],{},"/etc/profile.d/git.sh"," для всех пользователей.",[1379,3657,3659],{"id":3658},"как-полностью-удалить-git-и-установить-заново","Как полностью удалить Git и установить заново?",[274,3661,3662,3668,3674],{},[118,3663,3664,3665],{},"Ubuntu/Debian: ",[23,3666,3667],{},"sudo apt purge git && sudo apt install git",[118,3669,3670,3671],{},"Fedora: ",[23,3672,3673],{},"sudo dnf remove git && sudo dnf install git",[118,3675,3676,3677,3680,3681,142],{},"Arch: ",[23,3678,3679],{},"sudo pacman -Rns git && sudo pacman -S git","\nПосле переустановки проверьте ",[23,3682,3590],{},[1005,3684,3685],{},"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 .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 .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":37,"searchDepth":82,"depth":82,"links":3687},[3688,3690,3691,3697,3699,3700,3701],{"id":2953,"depth":82,"text":3689},"Что означает ошибка git: command not found",{"id":112,"depth":82,"text":113},{"id":3095,"depth":82,"text":3096,"children":3692},[3693,3694,3695,3696],{"id":3102,"depth":789,"text":3103},{"id":3130,"depth":789,"text":3131},{"id":3162,"depth":789,"text":3163},{"id":3183,"depth":789,"text":3184},{"id":3207,"depth":82,"text":3698},"Способ 2: Добавление пути к Git в переменную PATH",{"id":3417,"depth":82,"text":3418},{"id":915,"depth":82,"text":916},{"id":3579,"depth":82,"text":3580,"children":3702},[3703,3705,3706,3708],{"id":3583,"depth":789,"text":3704},"Что делать, если which git ничего не выводит, но git --version работает?",{"id":3617,"depth":789,"text":3618},{"id":3635,"depth":789,"text":3707},"Почему после установки Git через apt команда всё равно не найдена?",{"id":3658,"depth":789,"text":3659},"2026-02-15 19:16:45","Ошибка 'git: command not found' в терминале Linux? Узнайте, как быстро исправить проблему: установите Git, проверьте PATH или права доступа. Пошаговая инструкция за 5-10 минут.",[3712,3715,3718,3721],{"question":3713,"answer":3714},"Почему возникает ошибка 'git: command not found', если Git уже установлен?","Чаще всего это означает, что путь к исполняемому файлу git не добавлен в переменную окружения PATH. Проверьте, где установлен git (`which git`), и убедитесь, что этот каталог есть в PATH.",{"question":3716,"answer":3717},"Как проверить, установлен ли Git в системе?","Выполните команду `which git` или `git --version`. Если вы увидите путь (например, `/usr/bin/git`) или версию — Git установлен. Если команда ничего не вывела или ошибку — Git не установлен или не найден в PATH.",{"question":3719,"answer":3720},"Нужно ли перезагружать систему после установки Git?","Обычно нет. После установки через менеджер пакетов команда git становится доступна сразу. Если вы вручную добавляли путь в PATH, перезапустите терминал или выполните `source ~/.bashrc` (или `~/.zshrc` для Zsh).",{"question":3722,"answer":3723},"Можно ли использовать Git без установки в систему?","Да, можно использовать portable-версию, скачав бинарный файл с официального сайта и запуская его через полный путь. Но для повседневной работы проще установить Git через менеджер пакетов.",[3725,3728,3731,3734,3737],{"name":3726,"text":3727},"Определите причину ошибки","Выполните `which git`. Если команда ничего не вывела — Git не установлен или не в PATH. Если вывела путь — проблема в PATH. Также проверьте `git --version`.",{"name":3729,"text":3730},"Установите Git через менеджер пакетов","Используйте системный пакетный менеджер (apt, dnf, yum, pacman). Это самый простой и надёжный способ.",{"name":3732,"text":3733},"Добавьте путь к Git в переменную PATH","Если Git установлен, но не в PATH, найдите его расположение (`find /usr -name git 2>/dev/null`) и добавьте каталог в `~/.bashrc` или `~/.profile`.",{"name":3735,"text":3736},"Проверьте права доступа к файлам Git","Убедитесь, что у вашего пользователя есть права на выполнение файла git (`ls -l $(which git)`). При необходимости измените права через `sudo chmod +x`.",{"name":3738,"text":3739},"Перезапустите терминал или обновите оболочку","После изменений в конфигурационных файлах выполните `source ~/.bashrc` (или соответствующего файла) или откройте новое окно терминала.",[3741,2966,3742,3743,3744,3745,3746,3747],"git command not found linux","установка git на linux","исправить ошибку git not found","git не найден в терминале","как добавить git в path linux","ошибка git в ubuntu/debian","git команда не работает",{},[3750,3751,2929],"/errors/linux/package-not-found","/guides/linux/setup-git-on-ubuntu",{"title":2943,"description":3710},"high","errors/linux/git-not-found","Статья поможет решить распространённую ошибку 'git: command not found' в Linux. Вы узнаете, почему система не находит команду git, и получите три проверенных способа исправить проблему: от простой установки до настройки переменных окружения.",[581,3757,1071,36,3758,3759,3760],"ошибка","command-line","разработка","devops","_J8oeZxBF4ywBdQMaWrqn7pFMK0Msisc5jlDQZsx1mo"]