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
next prev parent 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