ALT Linux Community general discussions
 help / color / mirror / Atom feed
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



  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