From: MisHel64 <MisHel64@Bk.Ru> To: ALT Linux Community general discussions <community@lists.altlinux.org> Subject: [Comm] Пользователи и скрипты Date: Sat, 22 May 2010 06:44:49 +0400 Message-ID: <767584533.20100522064449@Bk.Ru> (raw) In-Reply-To: <201004130946.51098.a_s_y@sama.ru> Здравствуйте. Я не очень силен в шелле, и хотел бы попросить помощь сообщества. Мне нужно несколько скриптов. Первый скрипт. 1) Если переданное имя пользователя не известно системе, то использовать имя специальной гостевой учетной записи. 2) Если в определенной папке нет папки с именем пользователя, то создать такую папку, назначить ее владельцем пользователя, дать ему права на чтение, запись и удаление файла. 3) Если это гостевая учетная запись, и папки нет, то создать такую папку, назначить ее владельцем пользователя, дать ему права на чтение, запись, но запретить удаление файла, и изменение уже существующих файлов. 4) Если это гостевая учетная запись, и папка есть, то установить права на папку и лежащие в ней файлы таким образом, что бы он мог создавать новые файлы, читать уже существующие, но не мог удалять и изменять уже существующие файлы. Вновь создаваемые файлы, удалять разрешить. Второй скрипт, полная противоположность первому. Если в определенной папке существует папка с именем пользователя, и она пуста, то эту папку удалить. Проверить все папки в определенной папке. Если вложенная папка пуста, то считать ее именем пользователя. Если папка пуста, то ее удалить. И если пользователь входит в определенную группу, то удалить и пользователя. Потом нужно будет доработать эти скрипты. При заходе пользователя проверить наличие этого пользователя, и если он отсутствует в системе, то создать этого пользователя, запомнить с какого IP он зашел в систему. Причем не просто создать, а очень желательно с UID из определенного диапазона, а не с первым свободным, и засунуть его в специальную гостевую группу. Если пользователь уже существует в системе, но зашел с IP не из той же сети /24, или не входит в специальную гостевую группу, то изменить имя пользователя, и сделать как описано выше. Если в определенной папке существует папка с именем пользователя, и она пуста, то эту папку удалить. Если при этом пользователь входит в определенную гостевую группу, и удалить и пользователя из системы. Еще одна сложность, это как проверить принадлежит ли переданный ип определенной сети. Большая сложность, что сеть может иметь маску от 24 до 17. Часть этого я уже реализовал, часть вызывает сложности. IP адрес пользователя, его имя передаются в скрипты в качестве параметра. Скрипты выполняются от рута, и изменить это нельзя. Вновь создаваемые пользователи не должны получить возможность локально входить систему. Так же не должны получить возможности входить используя SSH или подобное. -- С уважением, MisHel64 mailto:MisHel64@Bk.Ru
next prev parent reply other threads:[~2010-05-22 2:44 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2010-04-13 5:46 [Comm] [5.1/modprobe.d/udev] blacklist не работает ? Sergey 2010-04-13 5:56 ` Andrey Rahmatullin 2010-04-13 6:07 ` Sergey 2010-04-13 6:30 ` Andrey Rahmatullin 2010-04-13 6:14 ` Sergey 2010-05-22 2:44 ` MisHel64 [this message] 2010-05-22 10:07 ` [Comm] Пользователи и скрипты Sergey 2010-05-22 11:39 ` MisHel64 2010-05-22 16:08 ` Sergey 2010-05-23 0:31 ` MisHel64
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=767584533.20100522064449@Bk.Ru \ --to=mishel64@bk.ru \ --cc=community@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Community general discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 community community/ http://lore.altlinux.org/community \ mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com public-inbox-index community Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.community AGPL code for this site: git clone https://public-inbox.org/public-inbox.git