Я помогаю преподавать два курса Unix на следующей неделе. Пользователям будет предоставлена учетная запись на машине RHEL 5, в течение которой они будут добавлять файлы в свою /home
папку, обновлять свои .bashrc
и другие точечные файлы и выполнять другие общие проблемы, которые необходимо очистить.
Студенты на втором занятии будут повторно использовать учетные записи пользователей на первом занятии. Я хотел бы автоматизировать очистку своих учетных записей, чтобы новые пользователи могли начать все сначала.
Я уверен, что мог бы написать сценарий оболочки, который запускает su -u $USER_ID
и устанавливает «оригинальный» набор хороших файлов в их homedir и удаляет все остальное, что он находит. Существуют ли другие инструменты, которые помогут мне с этой операцией очистки / сброса? У меня нет опыта работы с Puppet, Chef или другими инструментами. Будет ли им полезно сделать что-то подобное?
Чтобы решить эту проблему, существует около 30 учетных записей пользователей, я знаю все идентификаторы пользователей и пароли, и все они созданы в одном блоке RHEL.
источник
Ответы:
Есть много способов, которые могут помочь:
/etc/skel
обратно в домашний каталог. Измените разрешения впоследствии.tar
домашний каталог перед уроком, потом домашний удалить, восстановить изtar
А изучение других инструментов, таких как Puppet / Chef, - это слишком много, если вы хотите получить результаты на следующей неделе.
источник
tar
и восстановлю, и попробую изучить инструмент типа Puppet, когда у меня нет времени.Допустим, у всех ваших студентов был UID от 1000 до 65000
Быстрая однострочная работа подойдет. Awk распечатает команду rsync и команду chown для каждого пользователя в диапазоне. Отправка вывода awk в bash запустит все команды для сброса каталогов и разрешений.
источник
Если вы используете gdm для вашего менеджера входа, вы можете добавить что-то вроде этого файла: / etc / gdm / PostSession / Default
источник
«Оригинальный» набор файлов учетных записей обычно находится в / etc / skel в системах Unix.
Кроме этого, я не знаю никакого инструмента для автоматизации очистки. Я, вероятно, в конечном итоге написал бы простой скрипт bash.
источник
Попробуй это
источник
Может быть какой-то хороший инструмент, который поможет, но я бы, вероятно, просто (а) поместил нужные вещи в репозиторий git и (б) написал скрипт, который перебирает пользователей и rm - это нужные вещи и извлекает из репозитория git ,
источник
Это работает для гнома Ubuntu: pico /usr/local/bin/cleanup.sh
rm -rf / home / user / Downloads / *
сделайте то же самое, если вы хотите удалить документы
выход chmod 511 /usr/local/bin/cleanup.sh
pico / etc / gdm / PostSession / Default
! / Bin / Баш
/usr/local/bin/cleanup.sh выход 0
источник