Надежно позволяющие пользователи для создания учетных записей

Я использую xUbuntu на 2 подобных машинах - Pentium M 2Ghz/1.6 Ghz, но у обоих есть 1 ГБ RAM, и я могу только рекомендовать так.

Больше RAM намного более полезно, чем более быстрый ЦП, начиная с отбрасываний скорости существенно, когда она начинает подкачивать, и 1 ГБ не так, если у Вас есть некоторое офисное выполнение программного обеспечения и браузер, открытый с несколькими вкладками.

К сожалению, RAM DDR-1 является довольно дорогой сегодня - намного больше, чем недавняя RAM.

3
03.09.2013, 07:10
2 ответа

Существует много способов пойти об этом, но я записал бы небольшую программу или сценарий, который берет в информации о пользователе и выполнениях adduser. Программа принадлежала бы корню с setuid набором битов.

Сохраните его максимально простым. Если Вы не санируете свой вход правильно, у Вас могла бы быть дыра в системе безопасности. Добавление пользователей к системе является опасным бизнесом так или иначе. Хорошая вещь об этой стратегии, хотя то, что Ваш целый исполняемый файл не должен работать как корень, просто сценарий/программа, который добавляет пользователя.

Править:

До очистки входа способ, которым Вы делаете это, зависит от того, как Вы реализуете программу. Если Вы пишете это в C, используйте execve () функция вместо системы (). Существует большой документ с примерами, санируют сбои, которые становятся годными для использования в CERT. Если Вы пишете в Python, предпочитаете модуль подпроцесса системе () по подобным причинам.

Я санировал бы путем снятия любых символов, которые не являются буквами или числами, если у Вас нет определенной потребности. Пользователи создают пароли? Если так, это делает это более трудным. Ключ - то, что Вы не хотите, чтобы они смогли передать любые специальные символы оболочке или программе, называемой, которые имеют особое значение. Для удара некоторые очевидные $, ;, &&. Для mysql Вы хотели бы предотвратить как минимум ', ", и ;.

К сожалению, очистка может быть трудной задачей. Если можно перечислить все значения, которые пользователи, возможно, должны использовать, то я предложил бы использовать белый список.

1
27.01.2020, 21:23
  • 1
    , Вы могли уточнить 'очистку входа'? –  Blake 31.08.2013, 02:08
  • 2
    @Blake видит обновленный ответ. Извините я не могу быть более конкретным –  Freedom_Ben 31.08.2013, 02:18
  • 3
    Описание, которое Вы дали, очень хорошо записано. Да, сценарий должен был бы смочь присвоить пароли, таким образом, я проверю на эти символы в исполняемой банке, а также сценарии. –  Blake 31.08.2013, 02:25

Если Ваша единственная проблема с sudo должен использовать пароль, можно добавить NOPASSWD тег в Вашем sudoers файл. Вы хотите

some_user ALL = (ALL) NOPASSWD:/path/to/adduser
2
27.01.2020, 21:23
  • 1
    хорошо, это определенно поможет мне не допустить пароли администратора в .jar, но проблема, я пытаюсь ограничить права пользователей ТОЛЬКО смочь использовать 'adduser' –  Blake 31.08.2013, 02:07
  • 2
    @Blake и это сделают просто это. –  Joseph R. 31.08.2013, 02:09
  • 3
    Это действительно позволит пользователям выполнять команду, не предоставляя пароль администратора И ограничивать любую команду sudo? Раз так затем мне просто было бы нужно к concat это на конец sudoers файла, правильно? –  Blake 31.08.2013, 02:15
  • 4
    мне нравится идея, но в конечном счете я не сделал бы этого по причине, что Вы не можете сделать никакой фильтрации/очистки. Например, adduser исполняемый файл имеет переключатель-u который, позвольте нам, Вы указываете идентификатор пользователя новой учетной записи. Если Вы не ограничиваете это, пользователи могут создать новых пользователей с тем же UID как существующий пользователь, что означает, что они угнали учетную запись. Было бы возможно указать Ваш UID к 0 и стать корнем! Исключая: sudo adduser -u 0 -o newRoot –  Freedom_Ben 31.08.2013, 02:26
  • 5
    Необходимо позволить только собственную программу через sudoers, не система adduser или useradd или что бы то ни было. Ваша программа будет санировать свой вход и работать adduser только с безопасными аргументами. –  n. 'pronouns' m. 31.08.2013, 12:41

Теги

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