ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] Ошибка su
@ 2013-02-04 12:59 Michael A. Kangin
  2013-02-04 19:10 ` Sergey Vlasov
  0 siblings, 1 reply; 4+ messages in thread
From: Michael A. Kangin @ 2013-02-04 12:59 UTC (permalink / raw)
  To: ALT Linux Community general discussions

Здравствуйте.

[root@vserv-1 vargus]# su - -s /bin/bash vargus
su: cannot assume uid
[root@vserv-1 vargus]# id vargus
uid=115(vargus) gid=131(vargus) groups=131(vargus),123(video)


У меня это странное "su: cannot assume uid" вообще не гуглится.
После перезагрузки сервера su сработало нормально.

$ ulimit
unlimited

Куда смотреть насчёт такого?

Система p6, x86_64


-- 
wbr, Michael A. Kangin


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Comm] Ошибка su
  2013-02-04 12:59 [Comm] Ошибка su Michael A. Kangin
@ 2013-02-04 19:10 ` Sergey Vlasov
  2013-02-04 22:07   ` Michael A. Kangin
  0 siblings, 1 reply; 4+ messages in thread
From: Sergey Vlasov @ 2013-02-04 19:10 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1080 bytes --]

On Mon, Feb 04, 2013 at 04:59:44PM +0400, Michael A. Kangin wrote:
> [root@vserv-1 vargus]# su - -s /bin/bash vargus
> su: cannot assume uid

В su, происходящем из пакета SimplePAMApps, такое сообщение выдаётся,
если системный вызов setuid() завершился с ошибкой (к сожалению, код
ошибки при этом не выводится).

Наиболее вероятная причина, по которой может не пройти setuid() -
превышение лимита на количество процессов, уже выполняющихся с правами
указанного пользователя.

> [root@vserv-1 vargus]# id vargus
> uid=115(vargus) gid=131(vargus) groups=131(vargus),123(video)
> 
> 
> У меня это странное "su: cannot assume uid" вообще не гуглится.

Потому что в других дистрибутивах обычно не используют реализацию su
из SimplePAMApps.

> После перезагрузки сервера su сработало нормально.
> 
> $ ulimit
> unlimited

Это ulimit -f, а в данном случае могло не хватить ulimit -u.  Можно от
рута либо поднять лимит для своего процесса (хотя в данном случае его
может резать pam_limits по /etc/security/limits.conf), либо
предварительно поубивать лишнее.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Comm] Ошибка su
  2013-02-04 19:10 ` Sergey Vlasov
@ 2013-02-04 22:07   ` Michael A. Kangin
  2013-02-05 11:47     ` Sergey Vlasov
  0 siblings, 1 reply; 4+ messages in thread
From: Michael A. Kangin @ 2013-02-04 22:07 UTC (permalink / raw)
  To: ALT Linux Community general discussions

04.02.2013 23:10, Sergey Vlasov пишет:

> Наиболее вероятная причина, по которой может не пройти setuid() -
> превышение лимита на количество процессов, уже выполняющихся с правами
> указанного пользователя.

Да, действительно, похоже процессиков не хватало.

А вот здесь интересный вопрос...
Сервис исполняется от пользователя vargus (опускает полномочия с помощью
perl-Privileges-Drop), и форкается преизрядно, ему так надо.

Допустим мы хотим упаковать его дистрибутивненько и сочиняем
/etc/security/limits.d/60-vargus.conf такого содержания:
vargus		soft	nproc	4096
vargus		hard	nproc	8192

Однако, запустив сервис и заглянув в /proc/<PID>/limits, понимаем, что
свои nproc он получает не от лимитов пользователя vargus, а от
пользователя root.

Как тут быть? Наверное, паковать в пакеты лимиты для root было бы не
очень правильно...




-- 
wbr, Michael A. Kangin


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Comm] Ошибка su
  2013-02-04 22:07   ` Michael A. Kangin
@ 2013-02-05 11:47     ` Sergey Vlasov
  0 siblings, 0 replies; 4+ messages in thread
From: Sergey Vlasov @ 2013-02-05 11:47 UTC (permalink / raw)
  To: community

[-- Attachment #1: Type: text/plain, Size: 1001 bytes --]

On Tue, Feb 05, 2013 at 02:07:53AM +0400, Michael A. Kangin wrote:
> Сервис исполняется от пользователя vargus (опускает полномочия с помощью
> perl-Privileges-Drop), и форкается преизрядно, ему так надо.
> 
> Допустим мы хотим упаковать его дистрибутивненько и сочиняем
> /etc/security/limits.d/60-vargus.conf такого содержания:
> vargus		soft	nproc	4096
> vargus		hard	nproc	8192

Этот файл используется модулем pam_limits, и сделанные в нём настройки
действуют только на приложения, которые используют PAM (например, login и
su).  Разумеется, perl-Privileges-Drop не будет читать этот файл.

> Однако, запустив сервис и заглянув в /proc/<PID>/limits, понимаем, что
> свои nproc он получает не от лимитов пользователя vargus, а от
> пользователя root.
> 
> Как тут быть? Наверное, паковать в пакеты лимиты для root было бы не
> очень правильно...

Можно устанавливать лимиты в скрипте запуска сервиса, и при необходимости
конфигурировать переменными в /etc/sysconfig/$service.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 190 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-02-05 11:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-04 12:59 [Comm] Ошибка su Michael A. Kangin
2013-02-04 19:10 ` Sergey Vlasov
2013-02-04 22:07   ` Michael A. Kangin
2013-02-05 11:47     ` Sergey Vlasov

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