Как отменить текущий оставшийся sudo тайм-аут?

похоже, что вы сказали Apache, чтобы требовать пароль для вашего веб-корня, но разве вы не использовали Apache, чтобы не требовать его для всех других каталогов?

Внутри вашего .htaccess (или в httpd.conf, они выполняют ту же работу), у вас, вероятно, есть что-то вроде того, что ниже (добавьте ссылку pastebin в ваш файл .htaccess, и я могу это сделать):

<Directory "/www/private">
   Order allow,deny
   Allow from all

   Options Indexes
   AuthType Basic
   AuthName "Private Access"
   AuthUserFile "/www/private/.htpasswd"
   Require valid-user
</Directory>

Но это применимо ко всем каталогам в этот путь. Вы должны явно указать Apache иначе.

<Directory "/var/private/subdir">
    Satisfy any
</Directory>

Вы можете использовать регулярные выражения с <DirectoryMatch "regex">, чтобы обобщить это, просто не забывайте защищать от выражений asdf.com/subdir/../.

UPDATE: Также стоит упомянуть, что хотя большая часть документации уже имеет директивы <Directory[Match]>, существуют также <Location[Match]> директивы, которые полезны в случае символических ссылок в базовой файловой системе.

1
задан 25 July 2017 в 20:36

2 ответа

Только по одной из ваших точек:

, но если процесс в данный момент выполняется в этом сеансе и поэтому не может запускаться sudo -k

Это относится к командной строке , если вы хотите что-то сделать, пока какой-то другой процесс запущен, вы можете нажать Ctrl + Z, чтобы приостановить процесс; вы снова получите доступ к текущему терминалу, сделайте все, что вам нравится. Когда вы закончите, вы можете ввести jobs, чтобы получить список процессов, рядом с ними. Введите fg 1 (например - и просто fg, если есть только одно задание), чтобы перезапустить процесс, подняв его на передний план. Аналогично, bg делать то же самое, но оставляя процесс в фоновом режиме.

Пример сеанса

$ sudo apt-get install hello
<CTRL+Z>
[1]+  Stopped    sudo apt-get install hello
$ sudo -k
$ jobs
[1]+  Stopped    sudo apt-get install hello
$ fg 1
Loading database...
....
8
ответ дан 26 May 2018 в 00:14
  • 1
    Stefano: Спасибо ... это так хорошо ... Linux продолжает говорить мне: «Да, конечно, я могу это сделать». :) ... и, подумав об этом, я был осведомлен о том, что Ctrl + Z, но половины недостаточно!) ... Теперь, когда я включил «реальный», ситуация, когда это не просто текст на экране, я уверен, что я никогда его не забуду ... должен пойти .. У меня есть Cntrl + Z-ing, чтобы сделать ... – Peter.O 26 November 2010 в 15:02

Я нашел решение. поскольку мой поиск не показывал ничего подобного, и это частый вопрос: sudo хранит где-то в файловой системе (например, в / var / run / sudo), один каталог на имя пользователя, несколько файлов, которые работают как отметка времени , по одному файлу для каждого терминала. удалите эти файлы, и ваша система снова будет защищена. просто имейте в виду, что эти файлы видны только для root (в противном случае злоумышленник может прочитать отметку времени и установить время-часы обратно в точку, где они все еще были действительны - предоставление root-ls кому-либо опасно). поэтому в моем / etc / pm / sleep / и, возможно, также для заставки я запускаю:

rm -f /var/db/sudo/*/*

как root, конечно ...

2
ответ дан 26 May 2018 в 00:14

Другие вопросы по тегам:

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