Я использую xUbuntu на 2 подобных машинах - Pentium M 2Ghz/1.6 Ghz, но у обоих есть 1 ГБ RAM, и я могу только рекомендовать так.
Больше RAM намного более полезно, чем более быстрый ЦП, начиная с отбрасываний скорости существенно, когда она начинает подкачивать, и 1 ГБ не так, если у Вас есть некоторое офисное выполнение программного обеспечения и браузер, открытый с несколькими вкладками.
К сожалению, RAM DDR-1 является довольно дорогой сегодня - намного больше, чем недавняя RAM.
Существует много способов пойти об этом, но я записал бы небольшую программу или сценарий, который берет в информации о пользователе и выполнениях adduser
. Программа принадлежала бы корню с setuid набором битов.
Сохраните его максимально простым. Если Вы не санируете свой вход правильно, у Вас могла бы быть дыра в системе безопасности. Добавление пользователей к системе является опасным бизнесом так или иначе. Хорошая вещь об этой стратегии, хотя то, что Ваш целый исполняемый файл не должен работать как корень, просто сценарий/программа, который добавляет пользователя.
Править:
До очистки входа способ, которым Вы делаете это, зависит от того, как Вы реализуете программу. Если Вы пишете это в C, используйте execve () функция вместо системы (). Существует большой документ с примерами, санируют сбои, которые становятся годными для использования в CERT. Если Вы пишете в Python, предпочитаете модуль подпроцесса системе () по подобным причинам.
Я санировал бы путем снятия любых символов, которые не являются буквами или числами, если у Вас нет определенной потребности. Пользователи создают пароли? Если так, это делает это более трудным. Ключ - то, что Вы не хотите, чтобы они смогли передать любые специальные символы оболочке или программе, называемой, которые имеют особое значение. Для удара некоторые очевидные $
, ;
, &&
. Для mysql Вы хотели бы предотвратить как минимум '
, "
, и ;
.
К сожалению, очистка может быть трудной задачей. Если можно перечислить все значения, которые пользователи, возможно, должны использовать, то я предложил бы использовать белый список.
Если Ваша единственная проблема с sudo
должен использовать пароль, можно добавить NOPASSWD
тег в Вашем sudoers
файл. Вы хотите
some_user ALL = (ALL) NOPASSWD:/path/to/adduser
adduser
исполняемый файл имеет переключатель-u который, позвольте нам, Вы указываете идентификатор пользователя новой учетной записи. Если Вы не ограничиваете это, пользователи могут создать новых пользователей с тем же UID как существующий пользователь, что означает, что они угнали учетную запись. Было бы возможно указать Ваш UID к 0 и стать корнем! Исключая: sudo adduser -u 0 -o newRoot
– Freedom_Ben
31.08.2013, 02:26
sudoers
, не система adduser
или useradd
или что бы то ни было. Ваша программа будет санировать свой вход и работать adduser
только с безопасными аргументами.
– n. 'pronouns' m.
31.08.2013, 12:41