[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page-ru-/errors/linux/permission-denied-debian":3,"mdc--wtaexs-key":577,"mdc-w213it-key":595,"mdc-j5a167-key":603,"mdc-wokq31-key":627,"mdc--ycsmpq-key":643,"mdc--a7xbxw-key":660,"mdc--pem9l1-key":677,"related-/guides/linux/linux-file-permissions,/guides/linux/fix-sudo-not-working,/errors/linux/no-exec-permission-linux":693},{"id":4,"title":5,"appliesTo":6,"author":10,"body":11,"canonical":516,"code":30,"createdAt":517,"description":518,"difficulty":519,"draft":520,"estimatedTime":521,"extension":522,"faq":523,"howToSteps":533,"howToTotalTime":546,"image":516,"keywords":547,"locale":555,"meta":556,"navigation":557,"path":558,"platform":559,"related":560,"section":564,"seo":565,"severity":566,"stem":567,"summary":568,"tags":569,"twitterCreator":516,"twitterSite":516,"type":575,"updatedAt":517,"__hash__":576},"content_ru/errors/linux/permission-denied-debian.md","Исправляем ошибку Permission denied в Debian: пошаговое решение",[7,8,9],"Debian 11 (Bullseye)","Debian 12 (Bookworm)","Debian 13 (Trixie)","FixPedia Team",{"type":12,"value":13,"toc":502},"minimark",[14,19,44,47,51,122,126,131,141,227,239,243,253,282,293,299,305,320,327,356,359,363,371,444,452,456,498],[15,16,18],"h2",{"id":17},"что-означает-ошибка-eacces-permission-denied","Что означает ошибка EACCES (Permission denied)",[20,21,22,23,27,28,31,32,35,36,39,40,43],"p",{},"Ошибка ",[24,25,26],"code",{},"Permission denied"," (системный код ",[24,29,30],{},"EACCES",") сообщает, что ядро Linux заблокировало вашу попытку выполнить операцию с файлом, каталогом или устройством. Полный текст в терминале обычно выглядит так: ",[24,33,34],{},"bash: ./setup.sh: Permission denied",", ",[24,37,38],{},"cp: cannot create regular file '/etc/app.conf': Permission denied"," или ",[24,41,42],{},"ls: cannot open directory '/root': Permission denied",".",[20,45,46],{},"Сообщение появляется сразу после ввода команды, запуска скрипта или попытки открыть файл в графическом интерфейсе. Система проверяет таблицу прав доступа (inode) перед каждым обращением к диску. Если ваша учётная запись не входит в список разрешённых пользователей или групп, операция прерывается мгновенно. Это базовый механизм безопасности Debian, предотвращающий случайное или злонамеренное изменение данных.",[15,48,50],{"id":49},"причины-возникновения","Причины возникновения",[52,53,54,66,85,95,112],"ul",{},[55,56,57,65],"li",{},[58,59,60,61,64],"strong",{},"Отсутствие флага выполнения (",[24,62,63],{},"x",")"," у скачанных скриптов, бинарников или Python-файлов.",[55,67,68,71,72,35,75,35,78,35,81,84],{},[58,69,70],{},"Попытка записать данные в системные директории"," (",[24,73,74],{},"/etc",[24,76,77],{},"/var/log",[24,79,80],{},"/usr/local",[24,82,83],{},"/sys","), которые по умолчанию доступны только для чтения обычным пользователям.",[55,86,87,94],{},[58,88,89,90,93],{},"Файл принадлежит ",[24,91,92],{},"root"," или другому пользователю",", а вы работаете под стандартной учётной записью.",[55,96,97,103,104,107,108,111],{},[58,98,99,100],{},"Раздел смонтирован с флагом ",[24,101,102],{},"noexec"," (часто встречается на внешних USB-накопителях, в ",[24,105,106],{},"/tmp"," или при использовании политик безопасности ",[24,109,110],{},"fstab",").",[55,113,114,117,118,121],{},[58,115,116],{},"Конфликт с мандатными политиками безопасности"," (SELinux, AppArmor), которые ограничивают доступ на уровне контекста процесса, даже если стандартные права ",[24,119,120],{},"rwx"," выставлены верно.",[15,123,125],{"id":124},"способы-решения","Способы решения",[127,128,130],"h3",{"id":129},"способ-1-добавление-прав-на-выполнение-скрипта","Способ 1: Добавление прав на выполнение скрипта",[20,132,133,134,35,137,140],{},"Если терминал выдаёт ошибку при попытке запустить ",[24,135,136],{},".sh",[24,138,139],{},".py"," или скомпилированный файл, системе нужно явно разрешить его исполнение.",[142,143,144,169,197,215],"ol",{},[55,145,146,147],{},"Откройте терминал и перейдите в каталог с файлом:\n",[148,149,154],"pre",{"className":150,"code":151,"language":152,"meta":153,"style":153},"language-bash shiki shiki-themes github-light github-dark","cd ~/загрузки\n","bash","",[24,155,156],{"__ignoreMap":153},[157,158,161,165],"span",{"class":159,"line":160},"line",1,[157,162,164],{"class":163},"sj4cs","cd",[157,166,168],{"class":167},"sZZnC"," ~/загрузки\n",[55,170,171,172,189,190,193,194,196],{},"Проверьте текущие метаданные:\n",[148,173,175],{"className":150,"code":174,"language":152,"meta":153,"style":153},"ls -l скрипт.sh\n",[24,176,177],{"__ignoreMap":153},[157,178,179,183,186],{"class":159,"line":160},[157,180,182],{"class":181},"sScJk","ls",[157,184,185],{"class":163}," -l",[157,187,188],{"class":167}," скрипт.sh\n","\nВы увидите что-то вроде ",[24,191,192],{},"-rw-r--r--",". Флаг ",[24,195,63],{}," отсутствует.",[55,198,199,200],{},"Добавьте разрешение на выполнение:\n",[148,201,203],{"className":150,"code":202,"language":152,"meta":153,"style":153},"chmod +x скрипт.sh\n",[24,204,205],{"__ignoreMap":153},[157,206,207,210,213],{"class":159,"line":160},[157,208,209],{"class":181},"chmod",[157,211,212],{"class":167}," +x",[157,214,188],{"class":167},[55,216,217,218],{},"Запустите файл, указав относительный путь:\n",[148,219,221],{"className":150,"code":220,"language":152,"meta":153,"style":153},"./скрипт.sh\n",[24,222,223],{"__ignoreMap":153},[157,224,225],{"class":159,"line":160},[157,226,220],{"class":181},[228,229,230],"blockquote",{},[20,231,232,233,236,237,43],{},"💡 Совет: Если файл содержит некорректные окончания строк (CRLF вместо LF), Bash всё равно может отказать в запуске с похожей ошибкой. Конвертируйте файл через ",[24,234,235],{},"dos2unix скрипт.sh"," перед выполнением ",[24,238,209],{},[127,240,242],{"id":241},"способ-2-смена-владельца-ресурсов","Способ 2: Смена владельца ресурсов",[20,244,245,246,248,249,252],{},"Часто ошибка возникает при работе с проектами, скопированными из архива или созданными от имени ",[24,247,92],{}," через ",[24,250,251],{},"sudo cp",". Верните права вашему аккаунту.",[148,254,256],{"className":150,"code":255,"language":152,"meta":153,"style":153},"sudo chown -R $USER:$USER /путь/к/рабочей/папке\n",[24,257,258],{"__ignoreMap":153},[157,259,260,263,266,269,273,276,279],{"class":159,"line":160},[157,261,262],{"class":181},"sudo",[157,264,265],{"class":167}," chown",[157,267,268],{"class":163}," -R",[157,270,272],{"class":271},"sVt8B"," $USER",[157,274,275],{"class":167},":",[157,277,278],{"class":271},"$USER ",[157,280,281],{"class":167},"/путь/к/рабочей/папке\n",[20,283,284,285,288,289,292],{},"Команда рекурсивно (",[24,286,287],{},"-R",") изменит владельца и группу на вашу текущую учётную запись. Переменная ",[24,290,291],{},"$USER"," автоматически подставит имя текущего пользователя, поэтому вам не нужно вводить его вручную. После этого любые программы, запущенные из-под вашего профиля, получат полный доступ к содержимому.",[127,294,296,297],{"id":295},"способ-3-временное-повышение-привилегий-через-sudo","Способ 3: Временное повышение привилегий через ",[24,298,262],{},[20,300,301,302,304],{},"Иногда доступ к файлу действительно требует прав администратора (например, редактирование конфигураций сетевых сервисов или лог-файлов). Используйте ",[24,303,262],{}," только для конкретной команды, а не для запуска целой оболочки.",[148,306,308],{"className":150,"code":307,"language":152,"meta":153,"style":153},"sudo nano /etc/nginx/nginx.conf\n",[24,309,310],{"__ignoreMap":153},[157,311,312,314,317],{"class":159,"line":160},[157,313,262],{"class":181},[157,315,316],{"class":167}," nano",[157,318,319],{"class":167}," /etc/nginx/nginx.conf\n",[20,321,322,323,326],{},"Если вам нужно скопировать файл в защищённую директорию, укажите полный путь или используйте ",[24,324,325],{},"sudo tee",", чтобы избежать проблем с перенаправлением вывода:",[148,328,330],{"className":150,"code":329,"language":152,"meta":153,"style":153},"echo \"новое_значение=1\" | sudo tee -a /etc/sysctl.conf\n",[24,331,332],{"__ignoreMap":153},[157,333,334,337,340,344,347,350,353],{"class":159,"line":160},[157,335,336],{"class":163},"echo",[157,338,339],{"class":167}," \"новое_значение=1\"",[157,341,343],{"class":342},"szBVR"," |",[157,345,346],{"class":181}," sudo",[157,348,349],{"class":167}," tee",[157,351,352],{"class":163}," -a",[157,354,355],{"class":167}," /etc/sysctl.conf\n",[357,358],"in-article-ad",{},[127,360,362],{"id":361},"способ-4-проверка-флагов-монтирования-раздела","Способ 4: Проверка флагов монтирования раздела",[20,364,365,366,368,369,43],{},"Внешние диски или специальные директории могут монтироваться с ограничением ",[24,367,102],{},", которое запрещает запуск любых программ независимо от ",[24,370,209],{},[142,372,373,398,428],{},[55,374,375,376,394,395,397],{},"Проверьте параметры текущего раздела:\n",[148,377,379],{"className":150,"code":378,"language":152,"meta":153,"style":153},"mount | grep /media/ваш_диск\n",[24,380,381],{"__ignoreMap":153},[157,382,383,386,388,391],{"class":159,"line":160},[157,384,385],{"class":181},"mount",[157,387,343],{"class":342},[157,389,390],{"class":181}," grep",[157,392,393],{"class":167}," /media/ваш_диск\n","\nЕсли в выводе присутствует ",[24,396,102],{},", запуск файлов будет заблокирован.",[55,399,400,401,404,405,407,408],{},"Перемонтируйте раздел с флагом ",[24,402,403],{},"exec"," (требует прав ",[24,406,92],{},"):\n",[148,409,411],{"className":150,"code":410,"language":152,"meta":153,"style":153},"sudo mount -o remount,exec /media/ваш_диск\n",[24,412,413],{"__ignoreMap":153},[157,414,415,417,420,423,426],{"class":159,"line":160},[157,416,262],{"class":181},[157,418,419],{"class":167}," mount",[157,421,422],{"class":163}," -o",[157,424,425],{"class":167}," remount,exec",[157,427,393],{"class":167},[55,429,430,431,434,435,437,438,440,441,43],{},"Для постоянного решения отредактируйте ",[24,432,433],{},"/etc/fstab",", заменив ",[24,436,102],{}," на ",[24,439,403],{}," в строке с нужным UUID, и выполните ",[24,442,443],{},"sudo mount -a",[228,445,446],{},[20,447,448,449,451],{},"⚠️ Важно: Включение флага ",[24,450,403],{}," на съёмных носителях снижает безопасность. Не запускайте файлы с неизвестным происхождением и используйте этот метод только для доверенных устройств.",[15,453,455],{"id":454},"профилактика","Профилактика",[52,457,458,465,478,488],{},[55,459,460,461,464],{},"Храните пользовательские проекты, скрипты и загрузки исключительно в домашней директории (",[24,462,463],{},"~/","), где Debian автоматически назначает вас владельцем.",[55,466,467,468,470,471,474,475,43],{},"Добавляйте свою учётную запись в специализированные группы вместо использования постоянного ",[24,469,262],{},". Например, для доступа к Docker выполните ",[24,472,473],{},"sudo usermod -aG docker $USER",", а для управления принтерами — ",[24,476,477],{},"sudo usermod -aG lpadmin $USER",[55,479,480,481,483,484,487],{},"Проверяйте настройки монтирования внешних накопителей в ",[24,482,433],{},". Указывайте ",[24,485,486],{},"uid=1000,gid=1000,exec"," для дисков, которые вы используете для разработки.",[55,489,490,491,494,495,43],{},"Регулярно сканируйте рабочие директории на наличие файлов с подозрительными правами: ",[24,492,493],{},"find ~ -type f -perm -o+w"," покажет объекты, доступные для записи всем пользователям, что требует немедленного ограничения через ",[24,496,497],{},"chmod go-w",[499,500,501],"style",{},"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 .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":153,"searchDepth":503,"depth":503,"links":504},2,[505,506,507,515],{"id":17,"depth":503,"text":18},{"id":49,"depth":503,"text":50},{"id":124,"depth":503,"text":125,"children":508},[509,511,512,514],{"id":129,"depth":510,"text":130},3,{"id":241,"depth":510,"text":242},{"id":295,"depth":510,"text":513},"Способ 3: Временное повышение привилегий через sudo",{"id":361,"depth":510,"text":362},{"id":454,"depth":503,"text":455},null,"2026-04-05 22:46:43","Столкнулись с «Permission denied» в Debian? Разбираем причины ошибки прав доступа и предлагаем проверенные способы решения за 5 минут.","easy",false,"5-10 мин","md",[524,527,530],{"question":525,"answer":526},"Почему возникает ошибка Permission denied при запуске скрипта?","У файла отсутствует бит выполнения (`x`). Linux блокирует запуск любых текстовых или бинарных файлов, пока в их метаданных явно не указано разрешение на исполнение.",{"question":528,"answer":529},"Безопасно ли постоянно использовать `sudo` для обхода ошибки?","Нет, запуск программ от имени суперпользователя без необходимости повышает риск случайного повреждения системы. Лучше изменить владельца файла или настроить корректные права доступа.",{"question":531,"answer":532},"Как проверить текущие права доступа к файлу в Debian?","Выполните `ls -l /путь/к/файлу`. В первой колонке отобразятся флаги (`rwx`), а далее — владелец и группа, которым они принадлежат.",[534,537,540,543],{"name":535,"text":536},"Проверьте текущие права доступа","Выполните `ls -l \u003Cфайл>`, чтобы увидеть выставленные разрешения и текущего владельца ресурса.",{"name":538,"text":539},"Добавьте права на выполнение","Для скриптов и бинарников используйте `chmod +x \u003Cфайл>`, чтобы система разрешила их запуск.",{"name":541,"text":542},"Измените владельца файла или каталога","Передайте права вашей учётной записи через `sudo chown -R $USER:$USER \u003Cпуть>`, чтобы избежать конфликтов доступа.",{"name":544,"text":545},"Запустите команду с повышенными привилегиями","Для системных операций временно используйте префикс `sudo`, если задача требует изменения защищённых директорий.","PT10M",[548,549,550,551,552,553,554],"permission denied debian","ошибка доступа в linux","как исправить permission denied","chmod chown debian","bash permission denied script","ошибка прав доступа debian 12","sudo permission denied linux","ru_RU",{},true,"/errors/linux/permission-denied-debian","linux",[561,562,563],"/guides/linux/linux-file-permissions","/guides/linux/fix-sudo-not-working","/errors/linux/no-exec-permission-linux","Ошибки Linux",{"title":5,"description":518},"medium","errors/linux/permission-denied-debian","Ошибка «Permission denied» в Debian возникает при попытке выполнить операцию без необходимых прав доступа. В материале вы найдёте точные причины сбоя и пошаговые команды для быстрого восстановления доступа к файлам и сервисам.",[570,571,572,573,262,209,574],"Linux","Debian","права доступа","file-permissions","ошибки терминала","error","4RDh-Z0MWXx1j5zvldw4yx1tkLj7dO5NlT7NJMAc60g",{"data":578,"body":579},{},{"type":92,"children":580},[581],{"type":582,"tag":20,"props":583,"children":584},"element",{},[585,588,593],{"type":586,"value":587},"text","У файла отсутствует бит выполнения (",{"type":582,"tag":24,"props":589,"children":591},{"className":590},[],[592],{"type":586,"value":63},{"type":586,"value":594},"). Linux блокирует запуск любых текстовых или бинарных файлов, пока в их метаданных явно не указано разрешение на исполнение.",{"data":596,"body":597},{},{"type":92,"children":598},[599],{"type":582,"tag":20,"props":600,"children":601},{},[602],{"type":586,"value":529},{"data":604,"body":605},{},{"type":92,"children":606},[607],{"type":582,"tag":20,"props":608,"children":609},{},[610,612,618,620,625],{"type":586,"value":611},"Выполните ",{"type":582,"tag":24,"props":613,"children":615},{"className":614},[],[616],{"type":586,"value":617},"ls -l /путь/к/файлу",{"type":586,"value":619},". В первой колонке отобразятся флаги (",{"type":582,"tag":24,"props":621,"children":623},{"className":622},[],[624],{"type":586,"value":120},{"type":586,"value":626},"), а далее — владелец и группа, которым они принадлежат.",{"data":628,"body":629},{},{"type":92,"children":630},[631],{"type":582,"tag":20,"props":632,"children":633},{},[634,635,641],{"type":586,"value":611},{"type":582,"tag":24,"props":636,"children":638},{"className":637},[],[639],{"type":586,"value":640},"ls -l \u003Cфайл>",{"type":586,"value":642},", чтобы увидеть выставленные разрешения и текущего владельца ресурса.",{"data":644,"body":645},{},{"type":92,"children":646},[647],{"type":582,"tag":20,"props":648,"children":649},{},[650,652,658],{"type":586,"value":651},"Для скриптов и бинарников используйте ",{"type":582,"tag":24,"props":653,"children":655},{"className":654},[],[656],{"type":586,"value":657},"chmod +x \u003Cфайл>",{"type":586,"value":659},", чтобы система разрешила их запуск.",{"data":661,"body":662},{},{"type":92,"children":663},[664],{"type":582,"tag":20,"props":665,"children":666},{},[667,669,675],{"type":586,"value":668},"Передайте права вашей учётной записи через ",{"type":582,"tag":24,"props":670,"children":672},{"className":671},[],[673],{"type":586,"value":674},"sudo chown -R $USER:$USER \u003Cпуть>",{"type":586,"value":676},", чтобы избежать конфликтов доступа.",{"data":678,"body":679},{},{"type":92,"children":680},[681],{"type":582,"tag":20,"props":682,"children":683},{},[684,686,691],{"type":586,"value":685},"Для системных операций временно используйте префикс ",{"type":582,"tag":24,"props":687,"children":689},{"className":688},[],[690],{"type":586,"value":262},{"type":586,"value":692},", если задача требует изменения защищённых директорий.",[694,1950],{"id":695,"title":696,"appliesTo":697,"author":10,"body":702,"canonical":516,"code":516,"createdAt":1893,"description":1894,"difficulty":566,"draft":520,"estimatedTime":1895,"extension":522,"faq":1896,"howToSteps":1909,"howToTotalTime":1925,"image":516,"keywords":1926,"locale":555,"meta":1936,"navigation":557,"path":561,"platform":559,"related":1937,"section":1941,"seo":1942,"severity":516,"stem":1943,"summary":1944,"tags":1945,"twitterCreator":516,"twitterSite":516,"type":1948,"updatedAt":1893,"__hash__":1949},"content_ru/guides/linux/linux-file-permissions.md","Полное руководство по правам доступа в Linux: chmod и chown",[698,699,700,701],"Все дистрибутивы Linux","Ubuntu 20.04+","CentOS 7+","Debian 10+",{"type":12,"value":703,"toc":1875},[704,708,711,715,718,742,746,753,797,800,892,902,906,911,916,930,935,1029,1041,1045,1054,1058,1070,1152,1157,1214,1218,1254,1258,1337,1341,1351,1472,1485,1487,1491,1494,1498,1509,1572,1576,1586,1656,1660,1667,1721,1724,1728,1731,1767,1771,1872],[15,705,707],{"id":706},"введение-зачем-это-нужно","Введение / Зачем это нужно",[20,709,710],{},"В Linux права доступа — это фундаментальный механизм безопасности. Они определяют, кто может читать, изменять или выполнять файлы и папки. Неправильные настройки могут привести к утечке конфиденциальных данных, ошибкам работы программ или невозможности совместного использования ресурсов. Этот гайд поможет вам освоить полный цикл управления правами: от чтения текущих настроек до тонкой настройки с помощью ACL. Вы сможете защитить систему и гибко настраивать доступ для разных пользователей и групп.",[15,712,714],{"id":713},"требования-подготовка","Требования / Подготовка",[20,716,717],{},"Перед началом убедитесь, что у вас есть:",[52,719,720,723,726],{},[55,721,722],{},"Доступ к терминалу Linux (любой дистрибутив: Ubuntu, CentOS, Debian, Arch и т.д.).",[55,724,725],{},"Базовые навыки работы с командной строкой (навигация, создание файлов).",[55,727,728,729,731,732,735,736,738,739,741],{},"Права администратора (",[24,730,262],{},") для смены владельца (",[24,733,734],{},"chown",") и установки некоторых расширенных прав (ACL). Для простого ",[24,737,209],{}," права ",[24,740,262],{}," обычно не требуются, если вы являетесь владельцем файла.",[15,743,745],{"id":744},"шаг-1-понимание-текущих-прав-доступа","Шаг 1: Понимание текущих прав доступа",[20,747,748,749,752],{},"Прежде чем что-то менять, нужно уметь читать текущие настройки. Основная команда — ",[24,750,751],{},"ls -l",". Она выводит детальную информацию о файлах.",[148,754,756],{"className":150,"code":755,"language":152,"meta":153,"style":153},"$ ls -l /etc/passwd\n-rw-r--r-- 1 root root 2564 фев 16 10:30 /etc/passwd\n",[24,757,758,771],{"__ignoreMap":153},[157,759,760,763,766,768],{"class":159,"line":160},[157,761,762],{"class":181},"$",[157,764,765],{"class":167}," ls",[157,767,185],{"class":163},[157,769,770],{"class":167}," /etc/passwd\n",[157,772,773,775,778,781,783,786,789,792,795],{"class":159,"line":503},[157,774,192],{"class":181},[157,776,777],{"class":163}," 1",[157,779,780],{"class":167}," root",[157,782,780],{"class":167},[157,784,785],{"class":163}," 2564",[157,787,788],{"class":167}," фев",[157,790,791],{"class":163}," 16",[157,793,794],{"class":167}," 10:30",[157,796,770],{"class":167},[20,798,799],{},"Разберем вывод:",[142,801,802,862,868,874,880,886],{},[55,803,804,806,807],{},[24,805,192],{}," — это строка прав доступа (10 символов).\n",[52,808,809,827,839,855],{},[55,810,811,812,815,816,818,819,822,823,826],{},"Первый символ (",[24,813,814],{},"-","): тип файла (",[24,817,814],{}," — обычный файл, ",[24,820,821],{},"d"," — каталог, ",[24,824,825],{},"l"," — ссылка).",[55,828,829,830,35,833,35,836,43],{},"Следующие 9 символов разбиты на три triplet по 3 символа: ",[58,831,832],{},"владелец (user)",[58,834,835],{},"группа (group)",[58,837,838],{},"остальные (others)",[55,840,841,844,845,848,849,851,852,854],{},[24,842,843],{},"r"," — чтение (read), ",[24,846,847],{},"w"," — запись (write), ",[24,850,63],{}," — выполнение (execute), ",[24,853,814],{}," — отсутствие права.",[55,856,857,858,861],{},"Пример: ",[24,859,860],{},"rw-"," — чтение и запись, но без выполнения.",[55,863,864,867],{},[24,865,866],{},"1"," — количество жестких ссылок.",[55,869,870,873],{},[24,871,872],{},"root root"," — владелец и группа файла.",[55,875,876,879],{},[24,877,878],{},"2564"," — размер в байтах.",[55,881,882,885],{},[24,883,884],{},"фев 16 10:30"," — дата и время последнего изменения.",[55,887,888,891],{},[24,889,890],{},"/etc/passwd"," — имя файла.",[20,893,894,897,898,901],{},[58,895,896],{},"Ключевое правило:"," Права применяются в порядке: ",[58,899,900],{},"владелец > группа > остальные",". Система проверяет, кем вы являетесь (владельцем, членом группы или ни тем, ни другим), и применяет первую подходящую тройку.",[15,903,905],{"id":904},"шаг-2-изменение-владельца-и-группы-команда-chown","Шаг 2: Изменение владельца и группы (команда chown)",[20,907,908,909,43],{},"Часто требуется сменить, кто owns (владеет) файлом. Это делается командой ",[24,910,734],{},[20,912,913],{},[58,914,915],{},"Базовый синтаксис:",[148,917,919],{"className":150,"code":918,"language":152,"meta":153,"style":153},"sudo chown [новый_владелец] [файл]\n",[24,920,921],{"__ignoreMap":153},[157,922,923,925,927],{"class":159,"line":160},[157,924,262],{"class":181},[157,926,265],{"class":167},[157,928,929],{"class":271}," [новый_владелец] [файл]\n",[20,931,932],{},[58,933,934],{},"Примеры:",[148,936,938],{"className":150,"code":937,"language":152,"meta":153,"style":153},"# Сменить только владельца\nsudo chown alice script.sh\n\n# Сменить и владельца, и группу\nsudo chown alice:developers script.sh\n\n# Сменить только группу (владелец остается прежним)\nsudo chown :developers script.sh\n\n# Рекурсивно для всей директории и ее содержимого\nsudo chown -R alice:developers /project/\n",[24,939,940,946,958,963,969,981,986,992,1004,1009,1015],{"__ignoreMap":153},[157,941,942],{"class":159,"line":160},[157,943,945],{"class":944},"sJ8bj","# Сменить только владельца\n",[157,947,948,950,952,955],{"class":159,"line":503},[157,949,262],{"class":181},[157,951,265],{"class":167},[157,953,954],{"class":167}," alice",[157,956,957],{"class":167}," script.sh\n",[157,959,960],{"class":159,"line":510},[157,961,962],{"emptyLinePlaceholder":557},"\n",[157,964,966],{"class":159,"line":965},4,[157,967,968],{"class":944},"# Сменить и владельца, и группу\n",[157,970,972,974,976,979],{"class":159,"line":971},5,[157,973,262],{"class":181},[157,975,265],{"class":167},[157,977,978],{"class":167}," alice:developers",[157,980,957],{"class":167},[157,982,984],{"class":159,"line":983},6,[157,985,962],{"emptyLinePlaceholder":557},[157,987,989],{"class":159,"line":988},7,[157,990,991],{"class":944},"# Сменить только группу (владелец остается прежним)\n",[157,993,995,997,999,1002],{"class":159,"line":994},8,[157,996,262],{"class":181},[157,998,265],{"class":167},[157,1000,1001],{"class":167}," :developers",[157,1003,957],{"class":167},[157,1005,1007],{"class":159,"line":1006},9,[157,1008,962],{"emptyLinePlaceholder":557},[157,1010,1012],{"class":159,"line":1011},10,[157,1013,1014],{"class":944},"# Рекурсивно для всей директории и ее содержимого\n",[157,1016,1018,1020,1022,1024,1026],{"class":159,"line":1017},11,[157,1019,262],{"class":181},[157,1021,265],{"class":167},[157,1023,268],{"class":163},[157,1025,978],{"class":167},[157,1027,1028],{"class":167}," /project/\n",[228,1030,1031],{},[20,1032,1033,1034,1037,1038,1040],{},"⚠️ ",[58,1035,1036],{},"Важно:"," Для смены владельца почти всегда требуются права ",[24,1039,262],{},". Обычный пользователь не может \"забрать\" файл у другого пользователя.",[15,1042,1044],{"id":1043},"шаг-3-изменение-прав-доступа-команда-chmod","Шаг 3: Изменение прав доступа (команда chmod)",[20,1046,1047,1048,1050,1051,1053],{},"Самая частая операция — установка прав ",[24,1049,120],{},". Это делает команда ",[24,1052,209],{},". Есть два основных способа: числовой (octal) и символьный.",[127,1055,1057],{"id":1056},"числовой-режим-octal","Числовой режим (octal)",[20,1059,1060,1061,35,1064,35,1067,43],{},"Здесь каждая позиция (владелец, группа, другие) задается цифрой от 0 до 7, которая является суммой значений: ",[24,1062,1063],{},"r=4",[24,1065,1066],{},"w=2",[24,1068,1069],{},"x=1",[1071,1072,1073,1087],"table",{},[1074,1075,1076],"thead",{},[1077,1078,1079,1084],"tr",{},[1080,1081,1083],"th",{"align":1082},"left","Цифра",[1080,1085,1086],{"align":1082},"Права (rwx)",[1088,1089,1090,1099,1106,1114,1122,1130,1138,1145],"tbody",{},[1077,1091,1092,1096],{},[1093,1094,1095],"td",{"align":1082},"0",[1093,1097,1098],{"align":1082},"---",[1077,1100,1101,1103],{},[1093,1102,866],{"align":1082},[1093,1104,1105],{"align":1082},"--x",[1077,1107,1108,1111],{},[1093,1109,1110],{"align":1082},"2",[1093,1112,1113],{"align":1082},"-w-",[1077,1115,1116,1119],{},[1093,1117,1118],{"align":1082},"3",[1093,1120,1121],{"align":1082},"-wx",[1077,1123,1124,1127],{},[1093,1125,1126],{"align":1082},"4",[1093,1128,1129],{"align":1082},"r--",[1077,1131,1132,1135],{},[1093,1133,1134],{"align":1082},"5",[1093,1136,1137],{"align":1082},"r-x",[1077,1139,1140,1143],{},[1093,1141,1142],{"align":1082},"6",[1093,1144,860],{"align":1082},[1077,1146,1147,1150],{},[1093,1148,1149],{"align":1082},"7",[1093,1151,120],{"align":1082},[20,1153,1154],{},[58,1155,1156],{},"Пример:",[148,1158,1160],{"className":150,"code":1159,"language":152,"meta":153,"style":153},"# Дать владельцу полные права (rwx=7), группе и остальным — чтение и выполнение (r-x=5)\nchmod 755 script.sh\n\n# Разрешить всем полный доступ (НЕБЕЗОПАСНО, только для общих папок!)\nchmod 777 shared_folder/\n\n# Владелец: чтение/запись, группа: только чтение, остальные: никаких\nchmod 640 config.conf\n",[24,1161,1162,1167,1176,1180,1185,1195,1199,1204],{"__ignoreMap":153},[157,1163,1164],{"class":159,"line":160},[157,1165,1166],{"class":944},"# Дать владельцу полные права (rwx=7), группе и остальным — чтение и выполнение (r-x=5)\n",[157,1168,1169,1171,1174],{"class":159,"line":503},[157,1170,209],{"class":181},[157,1172,1173],{"class":163}," 755",[157,1175,957],{"class":167},[157,1177,1178],{"class":159,"line":510},[157,1179,962],{"emptyLinePlaceholder":557},[157,1181,1182],{"class":159,"line":965},[157,1183,1184],{"class":944},"# Разрешить всем полный доступ (НЕБЕЗОПАСНО, только для общих папок!)\n",[157,1186,1187,1189,1192],{"class":159,"line":971},[157,1188,209],{"class":181},[157,1190,1191],{"class":163}," 777",[157,1193,1194],{"class":167}," shared_folder/\n",[157,1196,1197],{"class":159,"line":983},[157,1198,962],{"emptyLinePlaceholder":557},[157,1200,1201],{"class":159,"line":988},[157,1202,1203],{"class":944},"# Владелец: чтение/запись, группа: только чтение, остальные: никаких\n",[157,1205,1206,1208,1211],{"class":159,"line":994},[157,1207,209],{"class":181},[157,1209,1210],{"class":163}," 640",[157,1212,1213],{"class":167}," config.conf\n",[127,1215,1217],{"id":1216},"символьный-режим","Символьный режим",[20,1219,1220,1221,1224,1225,1228,1229,1232,1233,1236,1237,35,1239,35,1241,1243,1244,1247,1248,1250,1251,111],{},"Более гибкий способ, где вы явно указываете, для кого (",[24,1222,1223],{},"u"," — user, ",[24,1226,1227],{},"g"," — group, ",[24,1230,1231],{},"o"," — others, ",[24,1234,1235],{},"a"," — all) и какие права (",[24,1238,843],{},[24,1240,847],{},[24,1242,63],{},") добавлять (",[24,1245,1246],{},"+","), убирать (",[24,1249,814],{},") или устанавливать точно (",[24,1252,1253],{},"=",[20,1255,1256],{},[58,1257,934],{},[148,1259,1261],{"className":150,"code":1260,"language":152,"meta":153,"style":153},"# Добавить выполнение (x) для владельца\nchmod u+x script.sh\n\n# Убрать запись (w) у группы и остальных\nchmod go-w important.log\n\n# Дать группе полные права (rwx), остальным — только чтение\nchmod g=rwx,o=r file.txt\n\n# Установить точные права: владелец rwx, группа и остальные r-x\nchmod a=rx,u+w file.sh  # эквивалент 755\n",[24,1262,1263,1268,1277,1281,1286,1296,1300,1305,1315,1319,1324],{"__ignoreMap":153},[157,1264,1265],{"class":159,"line":160},[157,1266,1267],{"class":944},"# Добавить выполнение (x) для владельца\n",[157,1269,1270,1272,1275],{"class":159,"line":503},[157,1271,209],{"class":181},[157,1273,1274],{"class":167}," u+x",[157,1276,957],{"class":167},[157,1278,1279],{"class":159,"line":510},[157,1280,962],{"emptyLinePlaceholder":557},[157,1282,1283],{"class":159,"line":965},[157,1284,1285],{"class":944},"# Убрать запись (w) у группы и остальных\n",[157,1287,1288,1290,1293],{"class":159,"line":971},[157,1289,209],{"class":181},[157,1291,1292],{"class":167}," go-w",[157,1294,1295],{"class":167}," important.log\n",[157,1297,1298],{"class":159,"line":983},[157,1299,962],{"emptyLinePlaceholder":557},[157,1301,1302],{"class":159,"line":988},[157,1303,1304],{"class":944},"# Дать группе полные права (rwx), остальным — только чтение\n",[157,1306,1307,1309,1312],{"class":159,"line":994},[157,1308,209],{"class":181},[157,1310,1311],{"class":167}," g=rwx,o=r",[157,1313,1314],{"class":167}," file.txt\n",[157,1316,1317],{"class":159,"line":1006},[157,1318,962],{"emptyLinePlaceholder":557},[157,1320,1321],{"class":159,"line":1011},[157,1322,1323],{"class":944},"# Установить точные права: владелец rwx, группа и остальные r-x\n",[157,1325,1326,1328,1331,1334],{"class":159,"line":1017},[157,1327,209],{"class":181},[157,1329,1330],{"class":167}," a=rx,u+w",[157,1332,1333],{"class":167}," file.sh",[157,1335,1336],{"class":944},"  # эквивалент 755\n",[15,1338,1340],{"id":1339},"шаг-4-расширенные-права-доступа-acl","Шаг 4: Расширенные права доступа (ACL)",[20,1342,1343,1344,1347,1348,43],{},"Стандартная модель (владелец/группа/остальные) часто недостаточна. Для тонкого управления (например, дать права отдельному пользователю ",[24,1345,1346],{},"ivan"," на конкретный файл) используются ",[58,1349,1350],{},"Access Control Lists (ACL)",[142,1352,1353,1386,1420,1447],{},[55,1354,1355,1358,1359,1382,1385],{},[58,1356,1357],{},"Проверьте, включена ли поддержка ACL"," на вашем разделе (обычно включена по умолчанию для ext4):",[148,1360,1362],{"className":150,"code":1361,"language":152,"meta":153,"style":153},"mount | grep ' / ' | grep acl\n",[24,1363,1364],{"__ignoreMap":153},[157,1365,1366,1368,1370,1372,1375,1377,1379],{"class":159,"line":160},[157,1367,385],{"class":181},[157,1369,343],{"class":342},[157,1371,390],{"class":181},[157,1373,1374],{"class":167}," ' / '",[157,1376,343],{"class":342},[157,1378,390],{"class":181},[157,1380,1381],{"class":167}," acl\n",[1383,1384],"br",{},"Если вывод есть — все в порядке.",[55,1387,1388,1391,1392,1395,1396,1398,1399],{},[58,1389,1390],{},"Установите ACL"," для файла ",[24,1393,1394],{},"report.pdf",", чтобы пользователь ",[24,1397,1346],{}," мог его читать и писать:",[148,1400,1402],{"className":150,"code":1401,"language":152,"meta":153,"style":153},"sudo setfacl -m u:ivan:rw- report.pdf\n",[24,1403,1404],{"__ignoreMap":153},[157,1405,1406,1408,1411,1414,1417],{"class":159,"line":160},[157,1407,262],{"class":181},[157,1409,1410],{"class":167}," setfacl",[157,1412,1413],{"class":163}," -m",[157,1415,1416],{"class":167}," u:ivan:rw-",[157,1418,1419],{"class":167}," report.pdf\n",[55,1421,1422,275,1425,1437,1439,1440],{},[58,1423,1424],{},"Просмотрите текущий ACL",[148,1426,1428],{"className":150,"code":1427,"language":152,"meta":153,"style":153},"getfacl report.pdf\n",[24,1429,1430],{"__ignoreMap":153},[157,1431,1432,1435],{"class":159,"line":160},[157,1433,1434],{"class":181},"getfacl",[157,1436,1419],{"class":167},[1383,1438],{},"Вывод будет содержать стандартные права и строку с пользовательскими настройками:",[148,1441,1445],{"className":1442,"code":1444,"language":586},[1443],"language-text","user:ivan:rw-\n",[24,1446,1444],{"__ignoreMap":153},[55,1448,1449,1452,1453],{},[58,1450,1451],{},"Удалите ACL"," для пользователя:",[148,1454,1456],{"className":150,"code":1455,"language":152,"meta":153,"style":153},"sudo setfacl -x u:ivan report.pdf\n",[24,1457,1458],{"__ignoreMap":153},[157,1459,1460,1462,1464,1467,1470],{"class":159,"line":160},[157,1461,262],{"class":181},[157,1463,1410],{"class":167},[157,1465,1466],{"class":163}," -x",[157,1468,1469],{"class":167}," u:ivan",[157,1471,1419],{"class":167},[228,1473,1474],{},[20,1475,1476,1477,1480,1481,1484],{},"💡 ",[58,1478,1479],{},"Совет:"," ACL особенно полезны для общих сетевых папок (",[24,1482,1483],{},"/srv/share","), где нужно предоставить доступ нескольким конкретным пользователям, не создавая отдельные группы.",[357,1486],{},[15,1488,1490],{"id":1489},"шаг-5-практические-примеры","Шаг 5: Практические примеры",[20,1492,1493],{},"Теперь применим знания на типичных задачах.",[127,1495,1497],{"id":1496},"пример-1-сделать-скрипт-исполняемым","Пример 1: Сделать скрипт исполняемым",[20,1499,1500,1501,1504,1505,1508],{},"У вас есть скрипт ",[24,1502,1503],{},"deploy.sh",", но при запуске ",[24,1506,1507],{},"./deploy.sh"," вы получаете \"Permission denied\".",[148,1510,1512],{"className":150,"code":1511,"language":152,"meta":153,"style":153},"# 1. Проверьте текущие права\nls -l deploy.sh\n# Вывод: -rw-r--r-- 1 user user 1234 ... deploy.sh (нет x)\n\n# 2. Добавьте право на выполнение для владельца\nchmod u+x deploy.sh\n\n# 3. Проверьте результат\nls -l deploy.sh\n# Вывод: -rwxr--r-- 1 user user 1234 ... deploy.sh\n",[24,1513,1514,1519,1528,1533,1537,1542,1550,1554,1559,1567],{"__ignoreMap":153},[157,1515,1516],{"class":159,"line":160},[157,1517,1518],{"class":944},"# 1. Проверьте текущие права\n",[157,1520,1521,1523,1525],{"class":159,"line":503},[157,1522,182],{"class":181},[157,1524,185],{"class":163},[157,1526,1527],{"class":167}," deploy.sh\n",[157,1529,1530],{"class":159,"line":510},[157,1531,1532],{"class":944},"# Вывод: -rw-r--r-- 1 user user 1234 ... deploy.sh (нет x)\n",[157,1534,1535],{"class":159,"line":965},[157,1536,962],{"emptyLinePlaceholder":557},[157,1538,1539],{"class":159,"line":971},[157,1540,1541],{"class":944},"# 2. Добавьте право на выполнение для владельца\n",[157,1543,1544,1546,1548],{"class":159,"line":983},[157,1545,209],{"class":181},[157,1547,1274],{"class":167},[157,1549,1527],{"class":167},[157,1551,1552],{"class":159,"line":988},[157,1553,962],{"emptyLinePlaceholder":557},[157,1555,1556],{"class":159,"line":994},[157,1557,1558],{"class":944},"# 3. Проверьте результат\n",[157,1560,1561,1563,1565],{"class":159,"line":1006},[157,1562,182],{"class":181},[157,1564,185],{"class":163},[157,1566,1527],{"class":167},[157,1568,1569],{"class":159,"line":1011},[157,1570,1571],{"class":944},"# Вывод: -rwxr--r-- 1 user user 1234 ... deploy.sh\n",[127,1573,1575],{"id":1574},"пример-2-разрешить-запись-для-группы-разработчиков","Пример 2: Разрешить запись для группы разработчиков",[20,1577,1578,1579,1582,1583,43],{},"Вы хотите, чтобы все члены группы ",[24,1580,1581],{},"devs"," могли редактировать файл ",[24,1584,1585],{},"config.ini",[148,1587,1589],{"className":150,"code":1588,"language":152,"meta":153,"style":153},"# 1. Убедитесь, что файл принадлежит группе devs\nls -l config.ini\n# Вывод: -rw-r--r-- 1 alice devs ... config.ini\n\n# 2. Если группа уже devs, просто дайте группе право на запись\nchmod g+w config.ini\n# Теперь права: -rw-rw-r-- (764). Группа devs может читать и писать.\n\n# 3. (Опционально) Если файл должен быть доступен только на чтение для остальных\nchmod o-r config.ini\n# Итог: -rw-rw---- (760)\n",[24,1590,1591,1596,1605,1610,1614,1619,1628,1633,1637,1642,1651],{"__ignoreMap":153},[157,1592,1593],{"class":159,"line":160},[157,1594,1595],{"class":944},"# 1. Убедитесь, что файл принадлежит группе devs\n",[157,1597,1598,1600,1602],{"class":159,"line":503},[157,1599,182],{"class":181},[157,1601,185],{"class":163},[157,1603,1604],{"class":167}," config.ini\n",[157,1606,1607],{"class":159,"line":510},[157,1608,1609],{"class":944},"# Вывод: -rw-r--r-- 1 alice devs ... config.ini\n",[157,1611,1612],{"class":159,"line":965},[157,1613,962],{"emptyLinePlaceholder":557},[157,1615,1616],{"class":159,"line":971},[157,1617,1618],{"class":944},"# 2. Если группа уже devs, просто дайте группе право на запись\n",[157,1620,1621,1623,1626],{"class":159,"line":983},[157,1622,209],{"class":181},[157,1624,1625],{"class":167}," g+w",[157,1627,1604],{"class":167},[157,1629,1630],{"class":159,"line":988},[157,1631,1632],{"class":944},"# Теперь права: -rw-rw-r-- (764). Группа devs может читать и писать.\n",[157,1634,1635],{"class":159,"line":994},[157,1636,962],{"emptyLinePlaceholder":557},[157,1638,1639],{"class":159,"line":1006},[157,1640,1641],{"class":944},"# 3. (Опционально) Если файл должен быть доступен только на чтение для остальных\n",[157,1643,1644,1646,1649],{"class":159,"line":1011},[157,1645,209],{"class":181},[157,1647,1648],{"class":167}," o-r",[157,1650,1604],{"class":167},[157,1652,1653],{"class":159,"line":1017},[157,1654,1655],{"class":944},"# Итог: -rw-rw---- (760)\n",[127,1657,1659],{"id":1658},"пример-3-создать-защищенную-общую-папку-с-sticky-bit","Пример 3: Создать защищенную общую папку с sticky bit",[20,1661,1662,1663,1666],{},"Вы создаете папку ",[24,1664,1665],{},"/shared/uploads",", куда все могут загружать файлы, но удалять могут только свои файлы или root.",[148,1668,1670],{"className":150,"code":1669,"language":152,"meta":153,"style":153},"mkdir /shared/uploads\n# Даем полный доступ всем на запись и чтение (для загрузки)\nchmod 777 /shared/uploads\n# Включаем sticky bit (t в правах для \"остальных\")\nchmod +t /shared/uploads\n# Проверьте: drwxrwxrwt (последний символ 't' вместо 'x')\nls -ld /shared/uploads\n",[24,1671,1672,1680,1685,1693,1698,1707,1712],{"__ignoreMap":153},[157,1673,1674,1677],{"class":159,"line":160},[157,1675,1676],{"class":181},"mkdir",[157,1678,1679],{"class":167}," /shared/uploads\n",[157,1681,1682],{"class":159,"line":503},[157,1683,1684],{"class":944},"# Даем полный доступ всем на запись и чтение (для загрузки)\n",[157,1686,1687,1689,1691],{"class":159,"line":510},[157,1688,209],{"class":181},[157,1690,1191],{"class":163},[157,1692,1679],{"class":167},[157,1694,1695],{"class":159,"line":965},[157,1696,1697],{"class":944},"# Включаем sticky bit (t в правах для \"остальных\")\n",[157,1699,1700,1702,1705],{"class":159,"line":971},[157,1701,209],{"class":181},[157,1703,1704],{"class":167}," +t",[157,1706,1679],{"class":167},[157,1708,1709],{"class":159,"line":983},[157,1710,1711],{"class":944},"# Проверьте: drwxrwxrwt (последний символ 't' вместо 'x')\n",[157,1713,1714,1716,1719],{"class":159,"line":988},[157,1715,182],{"class":181},[157,1717,1718],{"class":163}," -ld",[157,1720,1679],{"class":167},[20,1722,1723],{},"Теперь любой пользователь может создать файл в этой папке, но не сможет удалить или переименовать файл, созданный другим пользователем.",[15,1725,1727],{"id":1726},"проверка-результата","Проверка результата",[20,1729,1730],{},"После внесения изменений обязательно проверьте:",[142,1732,1733,1746,1758],{},[55,1734,1735,1738,1739,1742,1743,1745],{},[58,1736,1737],{},"Базовые права:"," ",[24,1740,1741],{},"ls -l [файл/папка]"," — убедитесь, что владелец, группа и триплеты (",[24,1744,120],{},") соответствуют ожиданиям.",[55,1747,1748,1738,1751,1754,1755,43],{},[58,1749,1750],{},"ACL (если использовали):",[24,1752,1753],{},"getfacl [файл]"," — проверьте наличие и корректность записей ",[24,1756,1757],{},"user:[имя]:[права]",[55,1759,1760,1763,1764,43],{},[58,1761,1762],{},"Функциональность:"," Попробуйте выполнить действие от имени нужного пользователя (например, прочитать, записать или выполнить файл). Для теста можно использовать ",[24,1765,1766],{},"sudo -u [пользователь] [команда]",[15,1768,1770],{"id":1769},"возможные-проблемы","Возможные проблемы",[52,1772,1773,1813,1836,1854],{},[55,1774,1775,1785],{},[58,1776,22,1777,1780,1781,39,1783,275],{},[24,1778,1779],{},"Operation not permitted"," при ",[24,1782,734],{},[24,1784,209],{},[52,1786,1787,1793,1803],{},[55,1788,1789,1790,1792],{},"Вы не запустили команду с ",[24,1791,262],{}," (если меняете не свой файл).",[55,1794,1795,1796,39,1799,1802],{},"Файловая система смонтирована с опцией ",[24,1797,1798],{},"nosuid",[24,1800,1801],{},"nodev"," (редко).",[55,1804,1805,1806,1809,1810,43],{},"У файла установлен immutable флаг (",[24,1807,1808],{},"chattr +i файл","). Снимите его: ",[24,1811,1812],{},"sudo chattr -i файл",[55,1814,1815,1818],{},[58,1816,1817],{},"ACL не применяются:",[52,1819,1820,1826],{},[55,1821,1822,1823,43],{},"Файловая система не поддерживает ACL (см. Шаг 4). Нужно перемонтировать с опцией ",[24,1824,1825],{},"acl",[55,1827,1828,1829,1831,1832,1835],{},"Вы не использовали ",[24,1830,262],{}," для ",[24,1833,1834],{},"setfacl"," (требуется для изменения ACL чужих файлов).",[55,1837,1838,1844],{},[58,1839,1840,1841,1843],{},"Изменения ",[24,1842,209],{}," не влияют на доступ:",[52,1845,1846,1849],{},[55,1847,1848],{},"Вы пытаетесь изменить права на файл, который находится на смонтированном сетевом ресурсе (NFS, Samba). Права могут управляться на стороне сервера.",[55,1850,1851,1852,43],{},"Вы являетесь не владельцем файла и у вас нет ",[24,1853,262],{},[55,1855,1856,1863],{},[58,1857,1858,1859,1862],{},"После ",[24,1860,1861],{},"chmod 777"," доступ все равно запрещен:",[52,1864,1865],{},[55,1866,1867,1868,1871],{},"Проверьте SELinux/AppArmor. Они могут блокировать доступ независимо от стандартных прав. Временно отключите для диагностики (не в продакшене!): ",[24,1869,1870],{},"sudo setenforce 0"," (SELinux).",[499,1873,1874],{},"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 .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .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}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":153,"searchDepth":503,"depth":503,"links":1876},[1877,1878,1879,1880,1881,1885,1886,1891,1892],{"id":706,"depth":503,"text":707},{"id":713,"depth":503,"text":714},{"id":744,"depth":503,"text":745},{"id":904,"depth":503,"text":905},{"id":1043,"depth":503,"text":1044,"children":1882},[1883,1884],{"id":1056,"depth":510,"text":1057},{"id":1216,"depth":510,"text":1217},{"id":1339,"depth":503,"text":1340},{"id":1489,"depth":503,"text":1490,"children":1887},[1888,1889,1890],{"id":1496,"depth":510,"text":1497},{"id":1574,"depth":510,"text":1575},{"id":1658,"depth":510,"text":1659},{"id":1726,"depth":503,"text":1727},{"id":1769,"depth":503,"text":1770},"2026-02-16 14:14:51","Узнайте, как управлять правами доступа к файлам и папкам в Linux. Пошаговая инструкция по командам chmod, chown и setfacl с примерами. Настройте безопасность своей системы за 15 минут.","15-30 минут",[1897,1900,1903,1906],{"question":1898,"answer":1899},"В чем разница между chmod 755 и 777?","755 (rwxr-xr-x) дает полные права владельцу и только чтение/выполнение группе и остальным. 777 (rwxrwxrwx) дает полные права всем, что небезопасно и может привести к компрометации системы.",{"question":1901,"answer":1902},"Как рекурсивно изменить права на всю папку с файлами?","Используйте опцию -R: `chmod -R 755 папка/` или `chown -R пользователь:группа папка/`. Будьте осторожны: это изменит права на все вложенные файлы и папки.",{"question":1904,"answer":1905},"Что такое sticky bit и setgid?","Sticky bit (t в правах, например drwxrwxrwt) запрещает удаление файлов в папке другим пользователем, даже если у них есть права записи. Setgid (s в группе) заставляет новые файлы в папке наследовать группу папки, а не группу создателя.",{"question":1907,"answer":1908},"Как проверить, включена ли поддержка ACL в файловой системе?","Используйте `mount | grep acl`. Если в опциях монтирования вашего раздела нет `acl`, его нужно добавить в /etc/fstab и перемонтировать. Для ext4 ACL включены по умолчанию.",[1910,1913,1916,1919,1922],{"name":1911,"text":1912},"Анализ текущих прав","Используйте команду `ls -l`, чтобы увидеть текущие права доступа, владельца и группу файла.",{"name":1914,"text":1915},"Изменение владельца и группы","Примените команду `chown` для смены владельца и/или группы файла или папки.",{"name":1917,"text":1918},"Настройка прав доступа через chmod","Используйте `chmod` в числовом или символьном формате, чтобы задать права для владельца, группы и остальных.",{"name":1920,"text":1921},"Работа с расширенными ACL","Для детального управления доступом отдельных пользователей и групп используйте `setfacl` и `getfacl`.",{"name":1923,"text":1924},"Практические примеры","Примените полученные знания на реальных примерах: настройка скриптов, общих папок и защищенных файлов.","PT20M",[1927,1928,1929,1930,1931,1932,1933,1934,1935],"права доступа linux","команда chmod","chown linux примеры","setfacl linux","как изменить права на файл","755 777 права linux","владелец группа файла linux","управление доступом linux","linux file permissions explained",{},[1938,1939,1940],"/guides/linux/linux-commands-basics","/guides/linux/linux-user-management","/errors/linux/permission-denied","Гайды Linux",{"title":696,"description":1894},"guides/linux/linux-file-permissions","Этот гайд подробно объясняет систему прав доступа в Linux. Вы научитесь изменять владельца, группу и права доступа, а также использовать расширенные ACL для тонкого контроля.",[559,1946,209,734,1834,572,1947],"permissions","управление файлами","guide","bOYgbmjbsMBTE2P1OVWSdkJHx68JUA9ka1W3l1Vub9s",{"id":1951,"title":1952,"appliesTo":1953,"author":10,"body":1958,"canonical":516,"code":1973,"createdAt":2347,"description":2348,"difficulty":519,"draft":520,"estimatedTime":521,"extension":522,"faq":2349,"howToSteps":2359,"howToTotalTime":546,"image":516,"keywords":2372,"locale":555,"meta":2381,"navigation":557,"path":563,"platform":559,"related":2382,"section":564,"seo":2386,"severity":2387,"stem":2388,"summary":2389,"tags":2390,"twitterCreator":516,"twitterSite":516,"type":575,"updatedAt":2347,"__hash__":2392},"content_ru/errors/linux/no-exec-permission-linux.md","Исправляем ошибку отсутствия прав на выполнение в Linux",[1954,1955,1956,1957],"Ubuntu 20.04/22.04/24.04","Debian 10/11/12","RHEL/CentOS 8/9","Fedora 38+",{"type":12,"value":1959,"toc":2336},[1960,1964,1975,1977,2003,2005,2009,2012,2065,2080,2084,2087,2107,2110,2112,2116,2122,2199,2210,2214,2217,2268,2274,2276,2279,2333],[15,1961,1963],{"id":1962},"что-означает-ошибка-отсутствия-прав-на-выполнение","Что означает ошибка отсутствия прав на выполнение",[20,1965,1966,1967,1970,1971,1974],{},"При попытке запустить файл из терминала система возвращает сообщение ",[24,1968,1969],{},"bash: ./имя_файла: Permission denied"," или код завершения ",[24,1972,1973],{},"126",". Ядро Linux блокирует исполнение, если файл не помечен как исполняемый или размещён на носителе, где запуск программ запрещён политикой безопасности. Это базовый механизм защиты, предотвращающий случайное выполнение вредоносных скриптов или повреждённых бинарных файлов.",[15,1976,50],{"id":49},[52,1978,1979,1985,1988,1997,2000],{},[55,1980,1981,1982,1984],{},"Отсутствует бит выполнения (",[24,1983,63],{},") в POSIX-правах файла.",[55,1986,1987],{},"Файл скопирован из Windows или загружен через браузер без сохранения атрибутов.",[55,1989,1990,1991,1993,1994,1996],{},"Раздел диска смонтирован с опцией ",[24,1992,102],{}," (часто применяется на ",[24,1995,106],{},", внешних USB-накопителях или сетевых шарах).",[55,1998,1999],{},"Модули безопасности SELinux или AppArmor блокируют запуск из определённых директорий.",[55,2001,2002],{},"Архитектура файла не совпадает с системой (например, попытка запустить ARM-бинарник на x86_64).",[15,2004,125],{"id":124},[127,2006,2008],{"id":2007},"способ-1-выдача-прав-через-chmod","Способ 1: Выдача прав через chmod",[20,2010,2011],{},"Самый быстрый и безопасный метод — добавить бит выполнения для владельца, группы или всех пользователей.",[142,2013,2014,2020,2026,2046],{},[55,2015,2016,2017],{},"Откройте терминал и перейдите в папку с файлом: ",[24,2018,2019],{},"cd /путь/к/директории",[55,2021,2022,2023],{},"Проверьте текущие атрибуты: ",[24,2024,2025],{},"ls -l имя_файла",[55,2027,2028,2029,2031,2032],{},"Если в первой строке вывода нет символа ",[24,2030,63],{},", примените команду:\n",[148,2033,2035],{"className":150,"code":2034,"language":152,"meta":153,"style":153},"chmod +x имя_файла\n",[24,2036,2037],{"__ignoreMap":153},[157,2038,2039,2041,2043],{"class":159,"line":160},[157,2040,209],{"class":181},[157,2042,212],{"class":167},[157,2044,2045],{"class":167}," имя_файла\n",[55,2047,2048,2049],{},"Для системных скриптов или утилит, доступных всем пользователям, используйте строгие права:\n",[148,2050,2052],{"className":150,"code":2051,"language":152,"meta":153,"style":153},"sudo chmod 755 имя_файла\n",[24,2053,2054],{"__ignoreMap":153},[157,2055,2056,2058,2061,2063],{"class":159,"line":160},[157,2057,262],{"class":181},[157,2059,2060],{"class":167}," chmod",[157,2062,1173],{"class":163},[157,2064,2045],{"class":167},[228,2066,2067],{},[20,2068,2069,2070,2073,2074,39,2077,111],{},"💡 Совет: После изменения прав запустите файл через ",[24,2071,2072],{},"./имя_файла",". Убедитесь, что в первой строке скрипта указан корректный shebang (например, ",[24,2075,2076],{},"#!/bin/bash",[24,2078,2079],{},"#!/usr/bin/env python3",[127,2081,2083],{"id":2082},"способ-2-прямой-вызов-через-интерпретатор","Способ 2: Прямой вызов через интерпретатор",[20,2085,2086],{},"Если вы работаете с текстовым скриптом и не хотите менять файловые атрибуты, вызовите оболочку напрямую.",[148,2088,2090],{"className":150,"code":2089,"language":152,"meta":153,"style":153},"bash ./скрипт.sh\npython3 ./скрипт.py\n",[24,2091,2092,2099],{"__ignoreMap":153},[157,2093,2094,2096],{"class":159,"line":160},[157,2095,152],{"class":181},[157,2097,2098],{"class":167}," ./скрипт.sh\n",[157,2100,2101,2104],{"class":159,"line":503},[157,2102,2103],{"class":181},"python3",[157,2105,2106],{"class":167}," ./скрипт.py\n",[20,2108,2109],{},"Этот метод игнорирует проверку флага выполнения, так как интерпретатор читает файл как обычные данные, а система запускает саму программу-оболочку.",[357,2111],{},[127,2113,2115],{"id":2114},"способ-3-перемонтирование-раздела-с-опцией-exec","Способ 3: Перемонтирование раздела с опцией exec",[20,2117,2118,2119,2121],{},"Если ",[24,2120,209],{}," не даёт результата, вероятно, файловая система смонтирована с запретом на выполнение программ.",[142,2123,2124,2175],{},[55,2125,2126,2127],{},"Проверьте текущие параметры монтирования:\n",[148,2128,2130],{"className":150,"code":2129,"language":152,"meta":153,"style":153},"mount | grep $(df --output=source /путь/к/файлу | tail -n 1) | grep -o 'noexec'\n",[24,2131,2132],{"__ignoreMap":153},[157,2133,2134,2136,2138,2140,2143,2146,2149,2152,2154,2157,2160,2162,2165,2168,2170,2172],{"class":159,"line":160},[157,2135,385],{"class":181},[157,2137,343],{"class":342},[157,2139,390],{"class":181},[157,2141,2142],{"class":271}," $(",[157,2144,2145],{"class":181},"df",[157,2147,2148],{"class":163}," --output=source",[157,2150,2151],{"class":167}," /путь/к/файлу",[157,2153,343],{"class":342},[157,2155,2156],{"class":181}," tail",[157,2158,2159],{"class":163}," -n",[157,2161,777],{"class":163},[157,2163,2164],{"class":271},") ",[157,2166,2167],{"class":342},"|",[157,2169,390],{"class":181},[157,2171,422],{"class":163},[157,2173,2174],{"class":167}," 'noexec'\n",[55,2176,2177,2178,2180,2181],{},"Если вывод возвращает ",[24,2179,102],{},", временно разрешите запуск:\n",[148,2182,2184],{"className":150,"code":2183,"language":152,"meta":153,"style":153},"sudo mount -o remount,exec /точка/монтирования\n",[24,2185,2186],{"__ignoreMap":153},[157,2187,2188,2190,2192,2194,2196],{"class":159,"line":160},[157,2189,262],{"class":181},[157,2191,419],{"class":167},[157,2193,422],{"class":163},[157,2195,425],{"class":167},[157,2197,2198],{"class":167}," /точка/монтирования\n",[228,2200,2201],{},[20,2202,2203,2204,2206,2207,2209],{},"⚠️ Важно: Опция ",[24,2205,102],{}," часто используется для защиты от вирусов. Включайте ",[24,2208,403],{}," только на доверенных носителях и возвращайте оригинальные параметры после завершения работы.",[127,2211,2213],{"id":2212},"способ-4-диагностика-модулей-безопасности","Способ 4: Диагностика модулей безопасности",[20,2215,2216],{},"На серверных дистрибутивах политики безопасности могут блокировать запуск даже при корректных правах доступа.",[52,2218,2219,2244],{},[55,2220,2221,2224,2225,2228,2229],{},[58,2222,2223],{},"Для RHEL/CentOS/Fedora:"," проверьте логи ",[24,2226,2227],{},"audit"," и временно переведите SELinux в режим предупреждений:\n",[148,2230,2232],{"className":150,"code":2231,"language":152,"meta":153,"style":153},"sudo setenforce 0\n",[24,2233,2234],{"__ignoreMap":153},[157,2235,2236,2238,2241],{"class":159,"line":160},[157,2237,262],{"class":181},[157,2239,2240],{"class":167}," setenforce",[157,2242,2243],{"class":163}," 0\n",[55,2245,2246,2249,2250],{},[58,2247,2248],{},"Для Ubuntu/Debian:"," проверьте статус AppArmor:\n",[148,2251,2253],{"className":150,"code":2252,"language":152,"meta":153,"style":153},"sudo aa-status | grep имя_файла\n",[24,2254,2255],{"__ignoreMap":153},[157,2256,2257,2259,2262,2264,2266],{"class":159,"line":160},[157,2258,262],{"class":181},[157,2260,2261],{"class":167}," aa-status",[157,2263,343],{"class":342},[157,2265,390],{"class":181},[157,2267,2045],{"class":167},[20,2269,2270,2271,43],{},"Если профиль блокирует файл, добавьте его в исключения или сгенерируйте локальную политику через ",[24,2272,2273],{},"aa-genprof ./имя_файла",[15,2275,455],{"id":454},[20,2277,2278],{},"Чтобы ошибка не повторялась, соблюдайте простые правила при работе с файлами и скриптами:",[52,2280,2281,2299,2313,2326],{},[55,2282,2283,2284,2287,2288,39,2291,2294,2295,2298],{},"Настраивайте ",[24,2285,2286],{},"umask"," на уровне ",[24,2289,2290],{},"0022",[24,2292,2293],{},"0027"," в ",[24,2296,2297],{},"~/.bashrc",", чтобы новые файлы не получали права на выполнение без вашего явного указания.",[55,2300,2301,2302,39,2305,2308,2309,2312],{},"При копировании архивов или файлов между системами используйте ",[24,2303,2304],{},"tar",[24,2306,2307],{},"rsync"," с флагом ",[24,2310,2311],{},"--perms"," для строгого сохранения POSIX-атрибутов.",[55,2314,2315,2316,39,2319,2322,2323,43],{},"Размещайте пользовательские скрипты в директории ",[24,2317,2318],{},"~/bin",[24,2320,2321],{},"/usr/local/bin",", которые по умолчанию поддерживают запуск и автоматически добавлены в переменную ",[24,2324,2325],{},"$PATH",[55,2327,2328,2329,2332],{},"Проверяйте тип скачанных файлов командой ",[24,2330,2331],{},"file ./программа",", чтобы убедиться в совместимости архитектуры и отсутствии битых заголовков.",[499,2334,2335],{},"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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":153,"searchDepth":503,"depth":503,"links":2337},[2338,2339,2340,2346],{"id":1962,"depth":503,"text":1963},{"id":49,"depth":503,"text":50},{"id":124,"depth":503,"text":125,"children":2341},[2342,2343,2344,2345],{"id":2007,"depth":510,"text":2008},{"id":2082,"depth":510,"text":2083},{"id":2114,"depth":510,"text":2115},{"id":2212,"depth":510,"text":2213},{"id":454,"depth":503,"text":455},"2026-04-07 23:24:50","Узнайте, как быстро решить ошибку отсутствия прав на выполнение в Linux. Пошаговые инструкции, команды chmod и диагностика за 5 минут.",[2350,2353,2356],{"question":2351,"answer":2352},"Почему появляется ошибка Permission denied при запуске скрипта?","Система блокирует запуск файлов, у которых отсутствует бит выполнения (x). Это стандартное поведение ядра Linux для защиты от случайного запуска вредоносных или повреждённых файлов.",{"question":2354,"answer":2355},"Помогает ли команда chmod 777 для решения проблемы?","Хотя она технически снимет ограничение, использовать её не рекомендуется из-за уязвимостей безопасности. Достаточно `chmod +x имя_файла` или `chmod 755 имя_файла`.",{"question":2357,"answer":2358},"Что делать, если права выданы, но файл всё равно не запускается?","Проверьте, не смонтирована ли файловая система с флагом `noexec`. Также убедитесь, что у файла правильная архитектура и отсутствуют блокировки со стороны SELinux или AppArmor.",[2360,2363,2366,2369],{"name":2361,"text":2362},"Проверьте текущие права файла","Выполните `ls -l имя_файла`. В первой колонке вывода убедитесь, что отсутствует символ `x` в позициях владельца, группы или других пользователей.",{"name":2364,"text":2365},"Добавьте флаг выполнения","Используйте команду `chmod +x имя_файла`, чтобы разрешить запуск для текущего пользователя. Для глобального доступа примените `chmod 755 имя_файла`.",{"name":2367,"text":2368},"Проверьте флаг монтирования раздела","Если ошибка сохраняется, выполните `mount | grep noexec`. Если ваш раздел содержит эту опцию, перемонтируйте его командой `sudo mount -o remount,exec /точка/монтирования`.",{"name":2370,"text":2371},"Запустите файл явно через интерпретатор","Для скриптов можно обойти проверку прав, вызвав оболочку напрямую: `bash ./скрипт.sh` или `python3 ./скрипт.py`.",[2373,2374,2375,2376,2377,2378,2379,2380],"нет прав на выполнение linux","permission denied запуск скрипта","chmod +x не работает","ошибка 126 bash","как дать права на выполнение файла","bash: cannot execute: Permission denied","запуск sh скрипта в линукс","флаг execute linux",{},[2383,2384,2385],"/guides/linux/file-permissions-linux","/errors/linux/readonly-filesystem-linux","/guides/linux/create-bash-script-linux",{"title":1952,"description":2348},"low","errors/linux/no-exec-permission-linux","Ошибка возникает при попытке запуска скрипта или программы без флага выполнения. Вы получите пошаговое руководство по восстановлению прав и проверке файловых систем.",[559,1946,209,152,2391,574],"системное администрирование","KyzN3i01-oObjcPDDKuEGEV2lpJR1VBbBzerQcm0CTo"]