Из какой версии Bash удаляет привилегии?

Chrome имеет встроенную программу просмотра PDF-файлов, поэтому вам не нужно устанавливать плагин Adobe.

См. В разделе chrome: // plugins / , активирован ли «Chrome PDF Viewer».

5
20.09.2019, 12:49
1 ответ

Текущая версия

Последние версии bash будут терять привилегии, если только они не были запущены с -p. Из раздела bash (1 ), описывающего привилегированный режим:

If the shell is started with the effective user (group) id not equal to the real user (group) id, and the -p option is not supplied, [...] the effective user id is set to the real user id. If the -p option is supplied at startup, the effective user id is not reset. Turning this option off causes the effective user and group ids to be set to the real user and group ids.

Исторические версии

Вы спросили: "От какой версии...?". Та часть system(), которую вы цитируете, не изменилась с самой ранней версии, доступной в активном репозитории git(версии 1.70). Это было проверено в 2004 году, и в комментариях указано, что последний раз оно было изменено в 2001 году.

Bash версии 3 был выпущен в 2004 году . Это означает, что bash 2 была бы текущей/последней версией в то время. Таким образом, он говорит «... bash версии 2 или выше/новее», т.е. так было начиная с версии 2.

Чтобы убедиться в этом, вы можете попробовать собрать несколько промежуточных версий и протестировать их или обратиться к репозиторию bash git . Ответственные строки:

  if (running_setuid && privileged_mode == 0)
    disable_priv_mode ();

Они были там с версии 2.0 . Оглядываясь назад на версии 1.14.7 , bash сбрасывал привилегии только тогда, когда привилегированный режим был явно отключен с помощью+p:

    case 'p':
      if (on_or_off == '+')
      {
        setuid (current_user.uid);
        setgid (current_user.gid);
        current_user.euid = current_user.uid;
        current_user.egid = current_user.gid;
      }
2
27.01.2020, 20:42

Теги

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