From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 14 Jun 2005 08:55:59 +0300 From: "Dmytro O. Redchuk" To: ALT Community Message-ID: <20050614055559.GB5300@ldc.net> Mail-Followup-To: ALT Community , Michael Shigorin References: <20050613140312.GB6905@ldc.net> <20050613161512.GA9496@ldc.net> <20050613172153.GD12545@osdn.org.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-u Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20050613172153.GD12545@osdn.org.ua> User-Agent: Mutt/1.4.2.1i X-Virus-Scanned: clamd / ClamAV version 0.74, clamav-milter version 0.74a on backup.ldc.net X-Virus-Status: Clean Cc: Michael Shigorin Subject: [Comm] Re: [JT] Re: PAM & logins X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jun 2005 05:56:08 -0000 Archived-At: List-Archive: List-Post: 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 > ------ Linux.Kiev http://www.linux.kiev.ua/ -- _,-=._ /|_/| `-.} `=._,.-=-._., @ @._, `._ _,-. ) _,.-' ` G.m-"^m`m' Dmytro O. Redchuk