Операция не разрешена linux

Обновлено: 21.11.2024

Закрыто. Этот вопрос не соответствует правилам переполнения стека. В настоящее время ответы не принимаются.

Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow.

Закрыто 7 дней назад.

но когда я загрузил его на свой сервер, я могу его выполнить:

почему я не могу запустить sysupdate в server worker-18?

ОС — CentOS Linux версии 7.4.1708 (Core)

4 ответа 4

Может быть, у вас включен SElinux на сервере?

Я также нашел информацию, что иногда это может быть вирус, который уже запущен под этим именем. Вы можете увидеть вывод этой команды: ps aux | grep sysupdate и ls -la ../

Да. точнее говоря, sysupdate — это программа для майнинга. но что меня действительно интересует, так это то, почему я могу выполнить это @Nigredon

Я тоже столкнулся с этой проблемой, после прогулки, возможно, каталог /tmp смонтирован как noexec . Чтобы проверить это, выполните:

Если он смонтирован как noexec , попробуйте перемонтировать его как исполняемый файл:

Возможно, SELinux является еще одной причиной.

Это случилось со мной на моем устройстве RHEL 8. Проверил (почти) все, но в итоге выяснил, что виноват запущенный fapolicyd, который ограничивает политики выполнения по форматам файлов, директориям и т.д.

Возможно, у кого-то еще, столкнувшегося с этой проблемой, есть fapolicyd .

На днях у меня была эта странная ошибка "Операция не разрешена", и я нашел решение для своего случая. Это произошло с моей новой виртуальной машиной на версии rhel8, которая использовалась для задания сборки Jenkins с привилегиями без полномочий root. Я уже запускаю «chown» для всех каталогов, которые участвовали в сборке, но все равно получаю «Операция не разрешена». Наконец-то я получил решение здесь и здесь.

Вы можете использовать 'fapolicyd-cli -f add /yourdirorfile', чтобы fapolicyd доверял вам.

Я только что грубо удалил fapolicyd командой 'yum remove fapolicyd'. (Просто локальная машина, это не нужно, лол)

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками linux bash shell или задайте свой вопрос.

Связанные

Горячие вопросы о сети

дизайн сайта / логотип © 2022 Stack Exchange Inc; вклады пользователей под лицензией cc by-sa. версия 2022.3.21.41727

Я пытаюсь указать владельца файла для получения root-прав, но не могу. Я делаю это как root. Я получаю следующее сообщение:

8 ответов 8

В файле может быть установлен неизменяемый атрибут. Удалите его с помощью

Существует несколько решений, некоторые из них:

  • у вас файловая система не позволяет, например. uid:gid, например: FAT
  • диск смонтирован только для чтения
  • Применяется SELinux или другие средства обеспечения безопасности
  • файловая система настроена на режим только для чтения (например, xfs_freeze)
  • файл имеет установленный неизменяемый флаг (man chattr)

Также возможно, что файл находится в файловой системе NFS, смонтированной root_squash, хотя маловероятно, учитывая файл.

У меня была такая же проблема.

Этого было недостаточно. Поэтому я добавил «са»

Забавно. Проверяли ли вы системные журналы (/var/log/messages, /var/log/syslog, вывод dmesg) на наличие каких-либо подсказок?

  • Вы используете ОС Linux с повышенной безопасностью, например SELinux. Это накладывает ограничения даже на то, что может делать root.
  • Файл находится в файловой системе, которая не поддерживает владение файлами, например (V)FAT. В зависимости от параметров монтирования chmod/chown выдаст вам ошибки.

после смены владельца и группы обратно на root.

В какой файловой системе находится файл "ps", который вы пытаетесь скопировать? Подключена ли fs как ro (только для чтения)?

если вы говорите о /bin/ps, в Debian это всегда так:

Проблема в том, что мою систему взломали и заменили некоторые файлы. Теперь я хочу заменить их на оригинальные, но у меня не получается.

Если ваша система была взломана, вы не хотите возвращать файлы. У вас нет способа сказать, что было сломано, и ничто в системе не заслуживает доверия. Сотрите и переустановите из резервных копий.

Как сказал Циан, если ваша система была взломана и они получили root-доступ, не заменяйте файлы. Он может по-прежнему содержать (почти) невидимый руткит, перехватывающий системные вызовы. Он может по-прежнему перехватывать пароли, он может по-прежнему открывать бэкдоры в ваших службах и, и, и (бесконечное количество возможных вещей, которые может содержать взломанная машина). Разумнее всего выключить машину и изучить ее содержимое в автономном режиме, положив диск в другую коробку. Не доверяйте этой машине вообще и не заменяйте никакие двоичные файлы, они могут содержать ценную информацию, позволяющую узнать, что делает руткит.

Возможна любая «догадка», сделанная другими ответами. Подсказка по отладке может заключаться в том, чтобы выполнить команду strace и просмотреть вывод, чтобы увидеть, в чем реальная проблема в самих системных вызовах.

У меня была такая же проблема с каталогом, хотя проблема заключалась в том, что папка размещалась на сервере NFS с включенным root_squash. В этом случае, если у вас есть root-доступ к серверу NFS, просто запустите оттуда команду chown.

37, 0

Я пытаюсь сменить владельца одного файла на другого пользователя, существующего в системе, но получаю сообщение об ошибке «Операция не разрешена»

Какой может быть правильный путь?

472, 104 

корень должен иметь возможность изменить владельца. Вы проверили файловую систему, в которой хранится этот файл? Это nfs или только для чтения?

37, 0

Крестьянин

1 484 567 

Если вы используете файловую систему NFS, вам нужно будет изменить ее на хосте filer23 (сервер NFS) или экспортировать с без корневого сжатия или аналогичной опцией.

Если у вас нет пользователя/группы на сервере NFS, на которого вы хотите сменить владельца, вы можете использовать uid:gid на сервере NFS в качестве числа, а не фактического имени.

37, 0

Как выполнить следующее?
Если у вас нет пользователя/группы на сервере NFS, которому вы хотите сменить владельца, вы можете использовать uid:gid на сервере NFS в качестве числа, а не фактического имени.< /у>

Крестьянин

1 484 567 

Вы перейдете к клиенту и увидите, какие GID и UID используются пользователем для изменения и группировки атласа в числовом виде.

Затем вы подключитесь к серверу NFS, поместите себя в эту папку и запустите
chown uid:gid .Xauthority_ori, где UID и GID — это числа на клиенте NFS для этого пользователя/группы.

Например, если пользователь tochange имеет 101 UID, а группа atlas имеет 101 GID, вы будете выдавать на сервере NFS

Если вы являетесь пользователем командной строки Mac, вы, возможно, заметили, что многие часто используемые команды, вводимые в Терминал (или iTerm), приводят к сообщению об ошибке «Операция не разрешена» после обновления до MacOS Mojave 10.14 или более поздней версии, включая Monterey. и Биг Сур. Ошибку «Операция не разрешена» в Терминале можно увидеть после выполнения даже простых команд, таких как использование «ls», «mv» и «cp» в собственном каталоге пользователя, а также во многих других местах каталога на Mac, а также при попытке использовать множество команд по умолчанию. Очевидно, что этот тип сообщения об ошибке делает навигацию и использование командной строки в MacOS Mojave довольно сложной, если не невозможной для многих целей. Не беспокойтесь, в новых версиях MacOS Терминал не ломается.

В этом пошаговом руководстве показано, как исправить сообщения об ошибках «Операция не разрешена», отображаемые в командной строке терминала для Mac OS в Mojave 10.14 или более поздней версии.

Как исправить ошибку «Операция не разрешена» в Терминале для Mac OS

  1. Раскройте меню  Apple и выберите «Системные настройки».
  2. Выберите панель управления «Безопасность и конфиденциальность».
  3. Теперь выберите вкладку "Конфиденциальность", затем в меню слева выберите "Полный доступ к диску".
  4. Нажмите значок замка в левом нижнем углу панели настроек и войдите в систему с правами администратора.
  5. Теперь нажмите кнопку [+] с плюсом, чтобы добавить приложение с полным доступом к диску.

Если вы еще не сталкивались с сообщением об ошибке «Операция не разрешена» в Терминале MacOS (Mojave 10.14 или более поздней версии), скорее всего, вы не забрели в каталог или путь к файлу с дополнительными ограничениями доступа. (или что вы не используете Терминал, и в этом случае вся эта статья не для вас).

Хотя многие из различных основных системных и корневых каталогов также выдают сообщения об ошибках в терминале macOS, вы также можете найти сообщение об ошибке даже при попытке работать в собственном домашнем каталоге пользователя, в том числе во многих пользовательских ~/Library. / папки, такие как ~/Library/Messages (где хранятся вложения iMessage и журналы чата в Mac OS) и ~/Library/Mail/ (где хранятся почтовые плагины пользовательского уровня, данные почтового ящика и другие данные почтового приложения), и многие другие.

Вы можете проверить это самостоятельно до и после изменения настроек, описанных выше, с помощью простой команды, такой как использование ls в одной из защищенных папок:

Если Терминалу не предоставлен полный доступ к диску, вы увидите сообщение об ошибке «Операция не разрешена».

Если Терминалу есть предоставлен полный доступ к диску или SIP отключен, вы не увидите это сообщение об ошибке в Терминале MacOS.

Если вам интересно, да, это означает, что на самом деле есть два способа исправить ошибки «Операция не разрешена», с которыми вы можете столкнуться в терминале MacOS; первый, который мы подробно описываем здесь, довольно прост, предоставляя дополнительные права доступа к приложению «Терминал», а другой немного более драматичен, который включает в себя отключение защиты целостности системы на Mac, что обычно не рекомендуется, и мы не будем здесь подробно рассматривать, хотя простого отключения SIP и перезагрузки обычно достаточно, чтобы ошибка исчезла, если вы предпочитаете идти по этому пути.

Сообщение «Операция не разрешена» — это одна из множества ошибок командной строки, с которыми вы можете столкнуться в Терминале Mac OS. Еще одна часто встречающаяся ошибка командной строки — это сообщение об ошибке «команда не найдена», которое также может появляться в Терминале для MacOS по разным причинам.

Если у вас есть другие советы, рекомендации, предложения или мысли о командной строке в MacOS или об этом конкретном сообщении об ошибке, поделитесь с нами в комментариях ниже.

Связанные

Понравился этот совет? Подпишитесь на нашу рассылку!

Получите больше наших замечательных советов, рекомендаций и важных новостей Apple, доставленных в ваш почтовый ящик с информационным бюллетенем OSXDaily.

Спасибо!

Вы успешно присоединились к нашему списку подписчиков.

Статьи по теме:

62 комментария

Спасибо за помощь!

Большое спасибо за публикацию этого ясного и лаконичного исправления.

Фу! Это сработало! Спасибо

Предоставления терминальному приложению полного доступа к диску недостаточно. Мне пришлось снять флажок брандмауэра (приложение F-secure Save) «Вирусы и угрозы> Файлы и приложения могут быть заблокированы из-за их репутации в Интернете»

После этого сценарии оболочки заработали должным образом.

Я обнаружил, что виртуальный бокс, работающий под управлением Ubuntu, может делать что-то sroot на терминале на MacOS, но не может WTF.
Но это означает, что у меня есть отдельное место, куда можно обратиться, когда возникает проблема, без необходимости открывать терминал для ВСЕХ пользователей (т.е. для меня, когда я просто ошибаюсь)

Это работает как шарм!
Спасибо

Миллион благодарностей сработал отлично.

работаю как часы, спасибо за безопасность моих дней

Спасибо, подсказка о том, как предоставить Терминалу полный доступ к диску, спасла меня

Помните, когда лозунгом Apple было «это просто работает»? Это было мило.

большое спасибо
Мне пришлось дать разрешение терминалу, чтобы использовать команду dd для клонирования жесткого диска

очень полезно, большое спасибо!

Это решило мою проблему в macOS 11.2.2. До сих пор я никогда не сталкивался с такой проблемой. Спасибо.

По-прежнему невозможно выполнять команды rm

Большое спасибо. Помог исправить мою ошибку, связанную с тем, что XCode не распознает мои модули и не может открыть один из файлов, связанных с модулями. Большое спасибо!

Только что исправил эту проблему для следующего сценария в Catalina. У меня есть сценарий резервного копирования, который запускается из /etc/daily.local и поэтому требует полного доступа к диску. Сценарии /etc/.local запускаются «периодическим», поэтому можно подумать, что перетаскивание /usr/sbin/periodic в «Полный доступ к диску» в разделе «Системные настройки»> «Безопасность и конфиденциальность» сработает. Нет, оказывается, что «периодик» запускается /usr/libexec/periodic-wrapper, и это программа, которой нужно предоставить полный доступ к диску.

Надеюсь, я набил туда достаточно хороших ключевых слов, чтобы сэкономить кому-то время, которое мне понадобилось, чтобы отследить это!

Это может быть полезно, если вы пытаетесь воспроизвести команду дерева и на Mac:

Во-первых, файл /usr/bin/ruby, поставляемый Apple, устарел. Я переименовал его в /usr/bin/ruby-2.3.7 и сделал «ln -s /usr/local/opt/ruby/bin/ruby», чтобы связать его с Ruby, установленным Homebrew (версия 2.7.2).

При попытке запустить любой ruby-скрипт я получаю:

/usr/local/opt/ruby/bin/ruby: плохой интерпретатор: операция не разрешена

Однако, как ни странно, я МОГУ сделать «/usr/local/opt/ruby/bin/ruby Charmaine говорит:

Это сработало для меня! большое спасибо!

Спасибо! у меня тоже работает!

Bonjour j'ai un soucis avec mon terminal je suis mac os Hugh sierra 10.13.6 je voudrais faire reconnaitre ma carte USB wifi a partir de mon terminal avec cette инструкция sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /System/Library/Extensions/RT2870USBWirelessDriver.kext/Contents/Info.plist требует от администратора mon mot de passe après mon mot de passe il écrit Недопустимая инструкция: 4 que faire

Точно так же, как Джефф и Мариус до меня, я не мог избавиться от ошибки "Операция не разрешена", несмотря на то, что следовал этим инструкциям.

Могу ли я попробовать что-нибудь еще?

В конце концов мне помогло добавление «/bin/bash» в список полного доступа к диску. (После нажатия «+» на шаге 5 выше, удерживайте «Cmd-Shift-G» и введите «/bin», затем нажмите «bash».)

Я видел сообщения о том, «как добавить пользователей в список sudoers», но если у меня нет sudoers, я не могу выполнять какие-либо команды SUDO. Как я могу добавить sudoer без использования терминальной команды «sudo».

Спасибо, Пол, Терминал в OSX теперь работает, но когда SSH подключается к Mac, он по-прежнему говорит «Операция не разрешена» при отображении некоторых каталогов.
Попытался добавить /bin/ssh и sbin/sshd, если я правильно помню, все та же проблема. Любые подсказки? Спасибо!

Спасибо за этот совет, он был очень полезным и легким. Я столкнулся с этой проблемой после обновления до Catalina, и это помогло мне.
Я получал сообщение об ошибке ниже, теперь оно исправлено.

Большое спасибо за то, что опубликовали это и сделали его очень простым для понимания, это помогло решить мою проблему на моем собственном Mac, а также на MacBook моей мамы. Очень здорово иметь такие формы, которые помогают решать проблемы, созданные Apple.

Рад, что это может помочь вам решить проблему с ошибками «Операция не разрешена» в MacOS, спасибо за чтение! Это относится и к Каталине.

Грасиас, я столкнулся с проблемой после обновления до Mac OS Catalina, и ваше решение помогло мне.

Спасибо за публикацию решения. Это решило мою проблему.

Я могу подтвердить слова Джеффа. После добавления терминала в список полного доступа к диску и его перезапуска (даже перезагрузки) я все равно вижу:

myprompt:~$ cd /usr
myprompt:/usr$ sudo chown myuser:staff local/
Пароль:
chown: local/: Операция не разрешена
myprompt: /usr$

Похоже, это не работает для определенных файлов или папок. Предоставив Терминалу полный доступ к диску, как описано, и перезапустив Терминал:

Jeffs-MacBook-Pro-2:~ jeffsidell$ cd /usr/bin
Jeffs-MacBook-Pro-2:bin jeffsidell$ sudo mv python python2.7.10_JPS_mv_python
Пароль:
>mv: переименовать python в python2.7.10_JPS_mv_python: операция не разрешена

Я НЕ хочу предоставлять терминалу полный доступ к диску для ВСЕХ пользователей. Я хочу предоставить терминалу полный доступ к диску ТОЛЬКО для root. Есть ли способ сделать это?

Спасибо, приятель, это действительно решило мои проблемы с терминалом с сообщением «Операция не разрешена».

Я выполнил первые несколько шагов, но не могу найти параметр "Полный доступ к диску". Справка

То же самое здесь не может найти полный доступ к диску. Помогите нам :(

Также не удалось найти полный доступ к диску.

Здравствуйте, я поместил файл в корзину. Когда я пытаюсь очистить корзину, он говорит, что у меня нет разрешения. Поэтому я щелкнул файл правой кнопкой мыши, чтобы получить информацию, и дал разрешение на «чтение и запись» файла. Но когда я делаю «Получить информацию», в разделе «Общий доступ и разрешения» (ниже) говорится «У вас нет разрешения». Как мне исправить эту проблему? Как принудительно удалить файл, который не хочет удаляться?

Сначала попробуйте безопасно очистить корзину. [Finder->Защитить пустую корзину…].

Если это не сработает, перейдите в терминал и перейдите в папку корзины. Скорее всего, он будет в [/Users/your_user_name/.Trash].

Итак, «cd /Users/ваше_имя_пользователя/.Корзина»
ls -l (проверьте, есть ли ваш файл в списке)
rm -iv «ваше_имя_файла»
Ответ «удалить имя_вашего_файла?» с «у», и он должен исчезнуть. Возможно, вам придется добавить «sudo» в начало, например:
sudo rm -iv «имя_вашего_файла»
Аутентификация с паролем администратора.
Ответьте «y»

Если это не сработает, вам придется отключить SIP (защиту целостности системы)

У меня была такая же проблема. Как сказал Старгуд, вам, вероятно, придется отключить SIP (см. ссылку в этой статье). Это должно позволить вам удалить файлы.
Не забудьте включить его после этого, если вам явно не нужно его выключать.

Для тех, кто пишет сценарий оболочки, который запускается cron, напримервы используете `rsync` в сценарии для резервного копирования ваших файлов на другом сервере…

Вы заметите, что добавление «Terminal.app» в «Полный доступ к диску» не работает, поскольку cron не использует «Terminal.app».

Теперь вы можете предоставить «Полный доступ к диску» программе `rsync`, и это решит некоторые проблемы с разрешениями, но этого недостаточно, если вам нужен доступ к:

~/Pictures/Photos Library.photoslibrary
~/Library/Application Support/AddressBook

Вместо этого вам следует добавить `cron` в «Системные настройки > Безопасность и конфиденциальность > Полный доступ к диску».

Я сделал это, запустив `open /usr/bin/`, который открыл окно Finder, которое позволило мне легко перетащить программу `cron` в список "Полный доступ к диску".

Через год ваш пост спас жизнь моим сценариям ;)

По прошествии 1,5 лет это помогло решить и мою проблему. Спасибо.

Если вы ожидаете «безопасности» и «конфиденциальности» в операционной системе с закрытым исходным кодом, вы в любом случае безнадежны. Если вам даже не позволено понять, как ваш баланс онлайн-банкинга отображался на вашем экране, вам следует хорошенько подумать. Помните: если номер на вашей странице онлайн-банкинга неправильный, вы будете голодать. Так что это не какие-то «мелочи, которые должны волновать только ботаников».
Безопасность в Mac OS X. Пфф.

Эти новые функции «безопасности» и оповещения в версии 10.14 — не более чем раздражающие и ненужные тактики, заставляющие дураков поверить, что они в безопасности. Apple называет эти вещи «фичами», но для опытных администраторов это не более чем «баги», проще говоря. Потому что они ломают вещи. Сделать его непригодным для использования, если не вмешаться.

После перехода с более ранней версии macOS/Mac OS X на 10.14 вы обнаружите, что ваши методы автоматизации Macintosh испытывают трудности. Чтобы снова запустить заброшенный Mac, я предлагаю следующее:

<р>1. Откройте приложение System Preferences.app, выберите «Безопасность и конфиденциальность» > «Конфиденциальность» > «Полный доступ к диску»
2. Нажмите option & command & пробел, это должно открыть окно прожектора
3. Введите «вид: приложение» в поле поиска
4. Перетащите каждый результат из этого окна в список «Полный доступ к диску» в Системных настройках
5. Откройте терминал
6. «$ echo $PATH»
7. открыть каждый путь от этого, например. установка 10.14 по умолчанию скажет «/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin», используя «$ open». Итак, «$ open /usr/local/bin», а затем «$ open /usr/bin» и так далее и тому подобное.
8. Перетащите каждый исполняемый файл в этих папках в список «Полный доступ к диску» в Системных настройках
(9). Бонус: повторите эти шаги с вкладкой «Специальные возможности», чтобы избавиться от этих предупреждений и поломок.

Не устраняет все неудобства, так как не отключает оповещения, которые будут появляться в приложениях и исполняемых файлах, которые вы установите в будущем, но это шаг вперед.
И, пожалуйста, не говорите мне ерунду о том, как я заманиваю пользователей делать «опасные» вещи. Держите свою истерию безопасности при себе. Если Mac OS X удавалось бороться без эпидемии вредоносного ПО с 2001 года по настоящее время, она будет продолжать это делать, даже если вы разрешите доступ к диску «злое зло».

Мне ужасно надоела Apple в 2018 году. Мы достигли уровня идиотизма и жадности, который не должен быть возможен.

Вместо того, чтобы жаловаться и стенать, почему бы вам просто не отключить защиту целостности системы? Это занимает максимум две минуты. * закатывает глаза *

Читайте также: