[Comm] Пользователи и скрипты
MisHel64
MisHel64 на Bk.Ru
Сб Май 22 02:44:49 UTC 2010
Здравствуйте.
Я не очень силен в шелле, и хотел бы попросить помощь сообщества.
Мне нужно несколько скриптов.
Первый скрипт.
1) Если переданное имя пользователя не известно системе, то
использовать имя специальной гостевой учетной записи.
2) Если в определенной папке нет папки с именем пользователя, то
создать такую папку, назначить ее владельцем пользователя, дать ему
права на чтение, запись и удаление файла.
3) Если это гостевая учетная запись, и папки нет, то создать такую
папку, назначить ее владельцем пользователя, дать ему права на чтение,
запись, но запретить удаление файла, и изменение уже существующих
файлов.
4) Если это гостевая учетная запись, и папка есть, то установить права
на папку и лежащие в ней файлы таким образом, что бы он мог создавать
новые файлы, читать уже существующие, но не мог удалять и изменять уже
существующие файлы. Вновь создаваемые файлы, удалять разрешить.
Второй скрипт, полная противоположность первому. Если в определенной
папке существует папка с именем пользователя, и она пуста, то эту
папку удалить.
Проверить все папки в определенной папке. Если вложенная папка
пуста, то считать ее именем пользователя. Если папка пуста, то ее
удалить. И если пользователь входит в определенную группу, то удалить
и пользователя.
Потом нужно будет доработать эти скрипты.
При заходе пользователя проверить наличие этого пользователя, и если
он отсутствует в системе, то создать этого пользователя, запомнить с
какого IP он зашел в систему. Причем не просто создать, а очень
желательно с UID из определенного диапазона, а не с первым свободным,
и засунуть его в специальную гостевую группу.
Если пользователь уже существует в системе, но зашел с IP не из той же
сети /24, или не входит в специальную гостевую группу, то изменить имя
пользователя, и сделать как описано выше.
Если в определенной папке существует папка с именем пользователя, и
она пуста, то эту папку удалить. Если при этом пользователь входит в
определенную гостевую группу, и удалить и пользователя из системы.
Еще одна сложность, это как проверить принадлежит ли переданный ип
определенной сети. Большая сложность, что сеть может иметь маску от 24
до 17.
Часть этого я уже реализовал, часть вызывает сложности.
IP адрес пользователя, его имя передаются в скрипты в качестве
параметра. Скрипты выполняются от рута, и изменить это нельзя. Вновь
создаваемые пользователи не должны получить возможность локально
входить систему. Так же не должны получить возможности входить
используя SSH или подобное.
--
С уважением,
MisHel64 mailto:MisHel64 на Bk.Ru
Подробная информация о списке рассылки community