ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: "Dmytro O. Redchuk" <dor@ldc.net>
To: ALT Community <community@altlinux.ru>
Cc: Michael Shigorin <mike@osdn.org.ua>
Subject: [Comm] Re: [JT] Re: PAM & logins
Date: Tue, 14 Jun 2005 08:55:59 +0300
Message-ID: <20050614055559.GB5300@ldc.net> (raw)
In-Reply-To: <20050613172153.GD12545@osdn.org.ua>

On Mon, Jun 13, 2005 at 08:21:53PM +0300, Michael Shigorin wrote:
> On Mon, Jun 13, 2005 at 07:15:12PM +0300, Dmytro O. Redchuk wrote:
> > On Mon, Jun 13, 2005 at 05:03:12PM +0300, Dmytro O. Redchuk wrote:
> > >    Поэтому вопрос -- где бы почитать, как этим рулить через
> > >    /etc/security/access.conf?
> > >    (Нормально ли, что у /etc/pam.d/login -- такие права доступа?)
> >    Пардон...  Всё -- как обычно в *NIXах:
> >    	всё очень просто, особенно если знаешь *как*. (с)
> 
> . o O ( и когда эти загадочные люди научатся рассказывать... )
Напишу.

Да чего там :-)

ЗАДАЧА
   Нужно разрешать вход в систему определённым пользователям только с
   консоли.

ПОЛУНАМЁКИ
   Есть, кстати, /etc/securetty -- в этом файле можно перечислить
   терминалы ("виртуальные" и "реальные"), с которых можно логиниться
   рутУ. Просто перечислить, по одному на строке, например:
     # оттак:
     tty1
     tty6
   (root сможет входить только с этих двух).

   Но интересно, что может PAM в этом смысле. Поскольку упомянутого явно
   мало.

РЕШЕНИЕ
   Конфигурация описывается в файле /etc/security/access.conf, но нужно
   ещё догадаться, что модуль называется (как это ни печально, я не сразу
   это понял) pam_access.so.

   Чтобы ограничить вход в систему пользователям, скажем, fox и root
   только с... (а вот тут уже вопрос... См. секцию ВОПРОСЫ) с локальных
   терминалов, нужно в файле /etc/security/access.conf написать:
      # можно_или_нет : кому : откуда
      #
      # нельзя : руту и фоксу : отовсюду, кроме _локальных_
      -:root fox:ALL EXCEPT LOCAL

   По умолчанию за последней строчкой следует глобальное разрешение,
   поэтому глобальные запрещения -- если нужно -- следует указывать
   руками, самостоятельно. Нам это не нужно в этом примере -- мы уже почти
   добились желаемого.

   *Почти* -- потому, что нужно прописать pam_access.so:
      # в файле /etc/pam.d/login:
      account	required	pam_access.so

   *Почти* -- потому, что (это ещё один момент, до которого мне нужно было
   допереть:o) есть ещё файл /etc/pam.d/sshd, в котором прописаны
   разрешения/запрещения входа в систему через ssh. Там тоже нужно
   прописать такое же "account required ...". После этого попытки войти
   через ssh будут отбиты:
      Read from remote host 10.0.10.170: Connection reset by peer
      Connection to 10.0.10.170 closed.
   (в логе будет:)
      Jun 14 07:51:52 asterisk sshd[1185]: Accepted publickey for fox from 172.16.0.70 port 32918 ssh2
      Jun 14 07:51:52 asterisk pam_access[1184]: access denied for user `fox' from `172.16.0.70'
      Jun 14 07:51:52 asterisk sshd[1184]: PAM rejected by account configuration[6]: Permission denied
      
   но локально мы входить сможем.

ВОПРОСЫ
   Этого я пока не понял:
   Разные доки и объяснялки говорят, что в поле "откуда" можно перечислять
   терминалы:
      -:fox:ALL EXCEPT tty1 tty2
   но реально я не могу войти в систему с такой записью. Вообще не
   получилось добиться результата с какими-либо tty# в этом поле.

   Другие объяснялки говорят, что "под линуксом, дескать" LOCAL -- это и
   есть терминалы tty#, но, честно говоря, трудно верить на слово
   страничке "из гугла". Что по этому поводу ALT?..

И ЧТО ХАРАКТЕРНО
   Такое использование pam_access.so "работает" с "типами" account и
   password, но не работает с типами auth и session. Я слишком мало знаю
   про PAM, чтобы это как-то осмыслить :-)

> 
> -- 
>  ---- WBR, Michael Shigorin <mike@altlinux.ru>
>   ------ Linux.Kiev http://www.linux.kiev.ua/

-- 
  _,-=._              /|_/|
  `-.}   `=._,.-=-._.,  @ @._,
     `._ _,-.   )      _,.-'
        `    G.m-"^m`m'        Dmytro O. Redchuk



  reply	other threads:[~2005-06-14  5:55 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-13 14:03 [Comm] " Dmytro O. Redchuk
2005-06-13 16:15 ` Dmytro O. Redchuk
2005-06-13 17:21   ` [Comm] [JT] " Michael Shigorin
2005-06-14  5:55     ` Dmytro O. Redchuk [this message]
2005-06-14  7:08       ` [Comm] " Michael Shigorin

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=20050614055559.GB5300@ldc.net \
    --to=dor@ldc.net \
    --cc=community@altlinux.ru \
    --cc=mike@osdn.org.ua \
    /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