3

Я знаю, что говорит справочная страница о -K и -k:

Параметр ‑K (верное уничтожение) похож на ‑k, за исключением того, что он полностью удаляет кэшированные учетные данные пользователя и не может использоваться вместе с командой или другим параметром. Эта опция не требует пароля. Не все политики безопасности поддерживают кэширование учетных данных.

-k [команда]

При использовании отдельно опция -k (kill) для sudo делает недействительными кэшированные учетные данные пользователя. При следующем запуске sudo потребуется пароль. Эта опция не требует пароля и была добавлена, чтобы позволить пользователю отзывать разрешения sudo из файла .logout. Не все политики безопасности поддерживают кэширование учетных данных. При использовании в сочетании с командой или параметром, для которого может потребоваться пароль, параметр ‑k заставит sudo игнорировать кэшированные учетные данные пользователя. В результате sudo запросит пароль (если он требуется политикой безопасности) и не будет обновлять кэшированные учетные данные пользователя.

Поэтому, если нет необходимости использовать команду в сочетании с этими параметрами, правильно ли я предположить, что K всегда лучше использовать вместо k?

1 ответ1

1

sudo -K и sudo -k без команды делают одно и то же: они делают недействительными кэшированные учетные данные пользователя.

sudo -k command ... отличается: она игнорирует кэшированные учетные данные пользователя для текущей команды, но не делает их недействительными.

Используйте -k с командой, если вы хотите выполнить одну команду, не используя или не забивая свои кэшированные учетные данные. (На самом деле я не уверен, почему вы хотите это сделать, но возможность есть.)

Используйте sudo -k или sudo -K если вы хотите засорять свои кэшированные учетные данные.

Резюме:

sudo -k           # clobbers cached credentials
sudo -K           # clobbers cached credentials
sudo -k command   # ignores cached credentials
sudo -K command   # invalid

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .