Сценарий оболочки для изменения uid для пользователя

Я буду второй предложение Wiki. Альтернатива как установка Drupal также работала бы, но является, вероятно, большим количеством стычки и сложности, чем это стоит для Вашего примера использования.

Так как у Вас есть требование, чтобы это работало на Linux, я настоятельно рекомендовал бы, чтобы Вы использовали одну из Wiki, которая уже упаковывается для Вашего предпочтительного дистрибутива. MoinMoin и DokuWiki очень обычно упаковываются, и как добавленная премия не имеют никакого требования базы данных (они работают над плоскими файлами), который должен сделать очень легким для Вас встать и работающий быстро с минимальной суетой. Moin записан в Python, и Doku записан в PHP.

Для настроенного более включенного Вы могли всегда идти с MediaWiki - он выполняет Википедию, таким образом, он, конечно, обработает Ваши потребности, но это - также намного больше работы для администрирования и не всегда упаковывается для данного дистрибутива. MediaWiki также требует, чтобы база данных функционировала.

1
задан 15 July 2013 в 18:08
2 ответа

awk '{print "usermod -u" $ 2 "" $ 1}' users_uid | bash

4
ответ дан 3 December 2019 в 16:28

The accepted answer runs the risk of executing malicious or accidental content in the data file. Here is the correct way to do what you want without spawning awk and an additional copy of bash plus it's safe from the risk I mentioned.

while read -r user uid
do
    usermod -u "$user" "$uid"
done < users_uid

As a one-liner:

while read -r user uid; do usermod -u "$user" "$uid"; done < users_uid
4
ответ дан 3 December 2019 в 16:28

Теги

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