Как использовать sudo для удаления содержания каталога

Я даю программу и корневой доступ установки путем обеспечения моего пароля, связанного с моей учетной записью?

Короткий ответ: да.

Длинный ответ: Вы не можете ("по закону") изменить пользователя рабочего процесса с внешней стороны. Две вещи могут произойти:

  1. Программа уровня пользователя называет программу (как sudo) который имеет права суперпользователя (конфигурацией), неважно, кто выполняет ее. Эта программа SUID позволяет вызывающей стороне выполнять более или менее все с полномочием суперпользователя, но это обычно настраивается для выяснения у или вызывающего абонента или пароль целевого пользователя, прежде чем это сделает так. Вот почему для обработки вызовов нужен пароль.
  2. Демон, который уже работает (в более высоком полномочии) может сделать определенные действия от имени обработки вызовов, но требует (супер) пароля пользователя, чтобы сделать так. Никакая большая разница.

То, насколько безопасный Ваша система (или против вредоносного программного обеспечения или против или против людей) зависит больше от качества Вашего пароля, чем на использовании тех же или различных паролей. Если Вы боитесь, что Ваш пароль пользователя, вероятно, видно другим, потому что Вы вводите его, часто затем предотвращая Вашего пользователя от sudo доступ и корень использования с другим паролем могут быть выгодными.

4
24.10.2014, 00:09
2 ответа

У вас проблемы, потому что ваша оболочка пытается развернуть * в список файлов, но не может, так как у вас нет прав на чтение каталога.

Я могу придумать две вещи, которые работали бы

sudo bash -c "rm directory/*"

В этом случае, * не расширяется Вами, а корнем, который может читать каталог

Или

sudo find directory -type f -exec rm {} \;

Вышеуказанное удалит только файлы, а не каталоги (иначе он удалит каталог вместе с его содержимым), но чувствует себя менее склонным к ошибкам, которые я допускаю.

Редактирование: В первом варианте я случайно записал каталог.* вместо каталога/*

.
11
27.01.2020, 20:48

Любой Время, которое вы собираетесь Sudo RM Вещи, вы должны серьезно подумать, что вы делаете, если вы не используете явные пути.

Sudo RM / явный / путь / к / к каталогу / * должен работать. Вы все равно получите эту ошибку, если нет файлов в каталоге ; Вы можете подавить это с RM -F ( не RM -FR , если вы абсолютно Уверенно, что вы делаете).

-1
27.01.2020, 20:48

Теги

Похожие вопросы