ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] UID_MIN/GID_MIN 500 -> 1000
@ 2023-04-20 11:15 Mikhail Efremov
  2023-04-20 13:30 ` Alexey Shabalin
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Mikhail Efremov @ 2023-04-20 11:15 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

Hello!

Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000, в апстриме и
во всех других дистрибутивах это давно уже сделано. Системных
пользователей все больше и лучше иметь для них пространство UID с
запасом.
Единственной проблемой мне видится то, что нужно сохранить текущие
значения в /etc/login.defs при обновлении, переход пользователей 
в системные может привести к неизвестным побочным эффектам. Если
login.defs редактировался, то проблемы нет, он noreplace и будет создан
login.defs.rpmnew. А вот если не редактировался, то значения
UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
приходит только сохранять в файл в /tmp при обновлении (в %pre) и
восстанавливать в %post. Если у кого есть идеи как это сделать
лучше/проще, то с удовольствием выслушаю.

-- 
WBR, Mikhail Efremov

[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 11:15 [devel] UID_MIN/GID_MIN 500 -> 1000 Mikhail Efremov
@ 2023-04-20 13:30 ` Alexey Shabalin
  2023-04-21 12:54   ` Alexey V. Vissarionov
  2023-04-20 16:23 ` Leonid Krivoshein
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 21+ messages in thread
From: Alexey Shabalin @ 2023-04-20 13:30 UTC (permalink / raw)
  To: ALT Linux Team development discussions

чт, 20 апр. 2023 г. в 14:15, Mikhail Efremov <sem@altlinux.org>:
>
> Hello!
>
> Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000, в апстриме и
> во всех других дистрибутивах это давно уже сделано. Системных
> пользователей все больше и лучше иметь для них пространство UID с
> запасом.
> Единственной проблемой мне видится то, что нужно сохранить текущие
> значения в /etc/login.defs при обновлении, переход пользователей
> в системные может привести к неизвестным побочным эффектам. Если
> login.defs редактировался, то проблемы нет, он noreplace и будет создан
> login.defs.rpmnew. А вот если не редактировался, то значения
> UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
> приходит только сохранять в файл в /tmp при обновлении (в %pre) и
> восстанавливать в %post. Если у кого есть идеи как это сделать
> лучше/проще, то с удовольствием выслушаю.

Поддерживаю начинание.
Как сделать лучше, не знаю :)
В текущих установках меняться ничего не должно, только для вновь
устанавливаемых.

Еще бы хорошо перейти на
uid=gid=65534 для nobody
https://github.com/systemd/systemd/blob/main/docs/UIDS-GIDS.md

-- 
Alexey Shabalin

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 11:15 [devel] UID_MIN/GID_MIN 500 -> 1000 Mikhail Efremov
  2023-04-20 13:30 ` Alexey Shabalin
@ 2023-04-20 16:23 ` Leonid Krivoshein
  2023-04-20 16:30   ` Ivan A. Melnikov
  2023-04-20 18:51 ` Vladimir D. Seleznev
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 21+ messages in thread
From: Leonid Krivoshein @ 2023-04-20 16:23 UTC (permalink / raw)
  To: devel

Привет!


On 4/20/23 14:15, Mikhail Efremov wrote:
> Hello!
>
> Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000, в апстриме и
> во всех других дистрибутивах это давно уже сделано. Системных
> пользователей все больше и лучше иметь для них пространство UID с
> запасом.

Поддерживаю.


> Единственной проблемой мне видится то, что нужно сохранить текущие
> значения в /etc/login.defs при обновлении, переход пользователей
> в системные может привести к неизвестным побочным эффектам. Если
> login.defs редактировался, то проблемы нет, он noreplace и будет создан
> login.defs.rpmnew. А вот если не редактировался, то значения
> UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
> приходит только сохранять в файл в /tmp при обновлении (в %pre) и
> восстанавливать в %post. Если у кого есть идеи как это сделать
> лучше/проще, то с удовольствием выслушаю.

Как раз не надо ничего специально делать. Риск только для 
эксплуатируемых систем на Сизифе, т.е. на свою голову. Из побочных 
эффектов известны только особенности некоторых логин менеджеров. 
Например, я специально использую системый uid, чтобы не лишний раз не 
светить своё фото в общем списке. :-) Изменения затронет только вновь 
создаваемых пользователей, а что делать с имеющимися, пользователи 
Сизифа могут сами решить. На них это по идее никак особо не повлияет и 
специально для них можно предложить поставить shadow на HOLD, если что.


-- 
WBR, Leonid Krivoshein.


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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 16:23 ` Leonid Krivoshein
@ 2023-04-20 16:30   ` Ivan A. Melnikov
  2023-04-20 16:39     ` Mikhail Efremov
  2023-04-20 16:47     ` Ruslandh
  0 siblings, 2 replies; 21+ messages in thread
From: Ivan A. Melnikov @ 2023-04-20 16:30 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thu, Apr 20, 2023 at 07:23:58PM +0300, Leonid Krivoshein wrote:
> Привет!
> 
> 
> On 4/20/23 14:15, Mikhail Efremov wrote:
> > Hello!
> > 
> > Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000, в апстриме и
> > во всех других дистрибутивах это давно уже сделано. Системных
> > пользователей все больше и лучше иметь для них пространство UID с
> > запасом.
> 
> Поддерживаю.
> 
> 
> > Единственной проблемой мне видится то, что нужно сохранить текущие
> > значения в /etc/login.defs при обновлении, переход пользователей
> > в системные может привести к неизвестным побочным эффектам. Если
> > login.defs редактировался, то проблемы нет, он noreplace и будет создан
> > login.defs.rpmnew. А вот если не редактировался, то значения
> > UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
> > приходит только сохранять в файл в /tmp при обновлении (в %pre) и
> > восстанавливать в %post. Если у кого есть идеи как это сделать
> > лучше/проще, то с удовольствием выслушаю.
> 
> Как раз не надо ничего специально делать. Риск только для эксплуатируемых
> систем на Сизифе, т.е. на свою голову. 
[...]

И тех, кто, на свою голову, захочет обновить систему с p10 до p11,
разве нет?

-- 
  wbr,
    iv m.


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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 16:30   ` Ivan A. Melnikov
@ 2023-04-20 16:39     ` Mikhail Efremov
  2023-04-20 16:47     ` Ruslandh
  1 sibling, 0 replies; 21+ messages in thread
From: Mikhail Efremov @ 2023-04-20 16:39 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Thu, 20 Apr 2023 20:30:09 +0400 Ivan A. Melnikov wrote:
> On Thu, Apr 20, 2023 at 07:23:58PM +0300, Leonid Krivoshein wrote:
> > Привет!
> >   
> > > Единственной проблемой мне видится то, что нужно сохранить текущие
> > > значения в /etc/login.defs при обновлении, переход пользователей
> > > в системные может привести к неизвестным побочным эффектам. Если
> > > login.defs редактировался, то проблемы нет, он noreplace и будет создан
> > > login.defs.rpmnew. А вот если не редактировался, то значения
> > > UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
> > > приходит только сохранять в файл в /tmp при обновлении (в %pre) и
> > > восстанавливать в %post. Если у кого есть идеи как это сделать
> > > лучше/проще, то с удовольствием выслушаю.  
> > 
> > Как раз не надо ничего специально делать. Риск только для эксплуатируемых
> > систем на Сизифе, т.е. на свою голову.   
> [...]
> 
> И тех, кто, на свою голову, захочет обновить систему с p10 до p11,
> разве нет?

Именно. Но даже в Сизифе при обновлении так делать не надо, это значение
должно остаться как было. Если кто-то хочет себе системный UID, то
пусть делает это сам, понимая, что делает.

-- 
WBR, Mikhail Efremov

[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 16:30   ` Ivan A. Melnikov
  2023-04-20 16:39     ` Mikhail Efremov
@ 2023-04-20 16:47     ` Ruslandh
  2023-04-21  8:41       ` Mikhail Efremov
  1 sibling, 1 reply; 21+ messages in thread
From: Ruslandh @ 2023-04-20 16:47 UTC (permalink / raw)
  To: devel


[-- Attachment #1.1.1: Type: text/plain, Size: 731 bytes --]

20.04.2023 19:30, Ivan A. Melnikov пишет:
> И тех, кто, на свою голову, захочет обновить систему с p10 до p11,
> разве нет?

А нельзя менять это значение только для новых пользователей ?  :-)
И для новых дистрибутивов.
А для пользователя смастерить утилиту, для смена UUID, если он это захочет.
Вот не люблю, когда меня без меня женят. Лучше это делать осознано, а не 
автоматом.
Хотя я в принципе понимаю, что 1000 это удобнее.




[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 657 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 11:15 [devel] UID_MIN/GID_MIN 500 -> 1000 Mikhail Efremov
  2023-04-20 13:30 ` Alexey Shabalin
  2023-04-20 16:23 ` Leonid Krivoshein
@ 2023-04-20 18:51 ` Vladimir D. Seleznev
    2023-04-20 21:43 ` Dmitry V. Levin
  2023-04-21 12:50 ` Alexey V. Vissarionov
  4 siblings, 1 reply; 21+ messages in thread
From: Vladimir D. Seleznev @ 2023-04-20 18:51 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Thu, Apr 20, 2023 at 02:15:19PM +0300, Mikhail Efremov wrote:
> Hello!
> 
> Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000, в апстриме и
> во всех других дистрибутивах это давно уже сделано. Системных
> пользователей все больше и лучше иметь для них пространство UID с
> запасом.
> Единственной проблемой мне видится то, что нужно сохранить текущие
> значения в /etc/login.defs при обновлении, переход пользователей 
> в системные может привести к неизвестным побочным эффектам. Если
> login.defs редактировался, то проблемы нет, он noreplace и будет создан
> login.defs.rpmnew. А вот если не редактировался, то значения
> UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
> приходит только сохранять в файл в /tmp при обновлении (в %pre) и
> восстанавливать в %post. Если у кого есть идеи как это сделать
> лучше/проще, то с удовольствием выслушаю.

Are you sure you can find all the hardcoded stuff?

https://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=make-initrd/features/system-glibc/bin/system-glibc-pwgr#l14
https://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=make-initrd/external/busybox/upstream/libbb/getopt32.c#l90

-- 
   WBR,
   Vladimir D. Seleznev


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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 11:15 [devel] UID_MIN/GID_MIN 500 -> 1000 Mikhail Efremov
                   ` (2 preceding siblings ...)
  2023-04-20 18:51 ` Vladimir D. Seleznev
@ 2023-04-20 21:43 ` Dmitry V. Levin
  2023-04-21  8:37   ` Mikhail Efremov
  2023-04-21 12:50 ` Alexey V. Vissarionov
  4 siblings, 1 reply; 21+ messages in thread
From: Dmitry V. Levin @ 2023-04-20 21:43 UTC (permalink / raw)
  To: ALT Devel discussion list

On Thu, Apr 20, 2023 at 02:15:19PM +0300, Mikhail Efremov wrote:
> Hello!
> 
> Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000, в апстриме и
> во всех других дистрибутивах это давно уже сделано. Системных
> пользователей все больше и лучше иметь для них пространство UID с
> запасом.
> Единственной проблемой мне видится то, что нужно сохранить текущие
> значения в /etc/login.defs при обновлении, переход пользователей 
> в системные может привести к неизвестным побочным эффектам. Если
> login.defs редактировался, то проблемы нет, он noreplace и будет создан
> login.defs.rpmnew. А вот если не редактировался, то значения
> UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
> приходит только сохранять в файл в /tmp при обновлении (в %pre) и
> восстанавливать в %post. Если у кого есть идеи как это сделать
> лучше/проще, то с удовольствием выслушаю.

Ещё можно, по аналогии с control-dump/control-restore, при обновлении
пакета сохранять не весь файл, а только интересующие текущие значения
в %pre и восстанавливать их в %post.


-- 
ldv


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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 21:43 ` Dmitry V. Levin
@ 2023-04-21  8:37   ` Mikhail Efremov
  2023-04-21  9:17     ` Sergey V Turchin
  0 siblings, 1 reply; 21+ messages in thread
From: Mikhail Efremov @ 2023-04-21  8:37 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Fri, 21 Apr 2023 00:43:42 +0300 Dmitry V. Levin wrote:
> On Thu, Apr 20, 2023 at 02:15:19PM +0300, Mikhail Efremov wrote:
> > Hello!
> > 
> > Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000, в апстриме и
> > во всех других дистрибутивах это давно уже сделано. Системных
> > пользователей все больше и лучше иметь для них пространство UID с
> > запасом.
> > Единственной проблемой мне видится то, что нужно сохранить текущие
> > значения в /etc/login.defs при обновлении, переход пользователей 
> > в системные может привести к неизвестным побочным эффектам. Если
> > login.defs редактировался, то проблемы нет, он noreplace и будет создан
> > login.defs.rpmnew. А вот если не редактировался, то значения
> > UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
> > приходит только сохранять в файл в /tmp при обновлении (в %pre) и
> > восстанавливать в %post. Если у кого есть идеи как это сделать
> > лучше/проще, то с удовольствием выслушаю.  
> 
> Ещё можно, по аналогии с control-dump/control-restore, при обновлении
> пакета сохранять не весь файл, а только интересующие текущие значения
> в %pre и восстанавливать их в %post.

Я это и имел в виду, сохранять весь login.defs смысла нет. В Fedora,
кстати, для таких вещей рекомендуют использовать
%{_localstatedir}/lib/rpm-state/, но у нас такого каталога нет.
https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/

Ну и делать это нужно только один раз, при обновлении с версии shadow
со старым значением по умолчанию, при следующий обновлениях файл уже
будет отредактирован и будет создаваться login.defs.rpmnew.
Т.е. в %pre видимо нужно rpm -q shadow смотреть и сравнивать. А
восстанавливать тогда можно в %triggerpostun на старый пакет.
Жаль, %triggerprein нет :).

-- 
WBR, Mikhail Efremov

[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  @ 2023-04-21  8:38     ` Mikhail Efremov
  2023-04-21 12:09       ` Alexey Gladkov
  0 siblings, 1 reply; 21+ messages in thread
From: Mikhail Efremov @ 2023-04-21  8:38 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Fri, 21 Apr 2023 00:26:11 +0300 Alexey Shabalin wrote:
> чт, 20 апр. 2023 г., 21:51 Vladimir D. Seleznev <vseleznv@altlinux.org>:
> 
> > On Thu, Apr 20, 2023 at 02:15:19PM +0300, Mikhail Efremov wrote:  
> > > Hello!
> > >
> > > Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000, в апстриме и
> > > во всех других дистрибутивах это давно уже сделано. Системных
> > > пользователей все больше и лучше иметь для них пространство UID с
> > > запасом.
> > > Единственной проблемой мне видится то, что нужно сохранить текущие
> > > значения в /etc/login.defs при обновлении, переход пользователей
> > > в системные может привести к неизвестным побочным эффектам. Если
> > > login.defs редактировался, то проблемы нет, он noreplace и будет создан
> > > login.defs.rpmnew. А вот если не редактировался, то значения
> > > UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
> > > приходит только сохранять в файл в /tmp при обновлении (в %pre) и
> > > восстанавливать в %post. Если у кого есть идеи как это сделать
> > > лучше/проще, то с удовольствием выслушаю.  
> >
> > Are you sure you can find all the hardcoded stuff?
> >
> >
> > https://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=make-initrd/features/system-glibc/bin/system-glibc-pwgr#l14
> >
> > https://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=make-initrd/external/busybox/upstream/libbb/getopt32.c#l90  
> 
> 
> Это показывает что код кривой и эти значения надо читать из login.def

Да, это значение и сейчас можно легко поменять в конфиге, не надо его
хардкодить.

-- 
WBR, Mikhail Efremov

[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 16:47     ` Ruslandh
@ 2023-04-21  8:41       ` Mikhail Efremov
  0 siblings, 0 replies; 21+ messages in thread
From: Mikhail Efremov @ 2023-04-21  8:41 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Thu, 20 Apr 2023 19:47:27 +0300 Ruslandh wrote:
> 20.04.2023 19:30, Ivan A. Melnikov пишет:
> > И тех, кто, на свою голову, захочет обновить систему с p10 до p11,
> > разве нет?  
> 
> А нельзя менять это значение только для новых пользователей ?  :-)
> И для новых дистрибутивов.

Так про то и речь, что при смене значения по умолчанию на существующих
системах все должно остаться по старому.

> А для пользователя смастерить утилиту, для смена UUID, если он это захочет.
> Вот не люблю, когда меня без меня женят. Лучше это делать осознано, а не 
> автоматом.
> Хотя я в принципе понимаю, что 1000 это удобнее.
> 
> 
> 


-- 
WBR, Mikhail Efremov

[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-21  8:37   ` Mikhail Efremov
@ 2023-04-21  9:17     ` Sergey V Turchin
  0 siblings, 0 replies; 21+ messages in thread
From: Sergey V Turchin @ 2023-04-21  9:17 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Friday, 21 April 2023 11:37:24 MSK Mikhail Efremov wrote:

[...]
> Жаль, %triggerprein нет :).
Вроде ж недавно было что-то про очень похожее.

-- 
Regards, Sergey.

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-21  8:38     ` Mikhail Efremov
@ 2023-04-21 12:09       ` Alexey Gladkov
  2023-04-21 12:36         ` Vladislav Zavjalov
  2023-04-21 12:59         ` Alexey V. Vissarionov
  0 siblings, 2 replies; 21+ messages in thread
From: Alexey Gladkov @ 2023-04-21 12:09 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Fri, Apr 21, 2023 at 11:38:51AM +0300, Mikhail Efremov wrote:
> On Fri, 21 Apr 2023 00:26:11 +0300 Alexey Shabalin wrote:
> > чт, 20 апр. 2023 г., 21:51 Vladimir D. Seleznev <vseleznv@altlinux.org>:
> > 
> > > On Thu, Apr 20, 2023 at 02:15:19PM +0300, Mikhail Efremov wrote:  
> > > > Hello!
> > > >
> > > > Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000, в апстриме и
> > > > во всех других дистрибутивах это давно уже сделано. Системных
> > > > пользователей все больше и лучше иметь для них пространство UID с
> > > > запасом.
> > > > Единственной проблемой мне видится то, что нужно сохранить текущие
> > > > значения в /etc/login.defs при обновлении, переход пользователей
> > > > в системные может привести к неизвестным побочным эффектам. Если
> > > > login.defs редактировался, то проблемы нет, он noreplace и будет создан
> > > > login.defs.rpmnew. А вот если не редактировался, то значения
> > > > UID_MIN/GID_MIN все равно надо бы сохранить старые. Мне в голову
> > > > приходит только сохранять в файл в /tmp при обновлении (в %pre) и
> > > > восстанавливать в %post. Если у кого есть идеи как это сделать
> > > > лучше/проще, то с удовольствием выслушаю.  
> > >
> > > Are you sure you can find all the hardcoded stuff?
> > >
> > >
> > > https://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=make-initrd/features/system-glibc/bin/system-glibc-pwgr#l14
> > >
> > > https://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=make-initrd/external/busybox/upstream/libbb/getopt32.c#l90  
> > 
> > 
> > Это показывает что код кривой и эти значения надо читать из login.def
> 
> Да, это значение и сейчас можно легко поменять в конфиге, не надо его
> хардкодить.

Это делается, потому что на самом деле это не так просто как кажется.

Numbers (both regular and long) may be either decimal values, octal values
(precede the value with 0) or hexadecimal values (precede the value with
0x). The maximum value of the regular and long numeric parameters is
machine-dependent.

Очевидно grep не достаточно.

Как правильно в скриптах получать эти значения ?

-- 
Rgrds, legion



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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-21 12:09       ` Alexey Gladkov
@ 2023-04-21 12:36         ` Vladislav Zavjalov
  2023-04-21 12:59         ` Alexey V. Vissarionov
  1 sibling, 0 replies; 21+ messages in thread
From: Vladislav Zavjalov @ 2023-04-21 12:36 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Fri, Apr 21, 2023 at 02:09:03PM +0200, Alexey Gladkov wrote:
> Это делается, потому что на самом деле это не так просто как кажется.
> 
> Numbers (both regular and long) may be either decimal values, octal values
> (precede the value with 0) or hexadecimal values (precede the value with
> 0x). The maximum value of the regular and long numeric parameters is
> machine-dependent.
> 
> Очевидно grep не достаточно.
> 
> Как правильно в скриптах получать эти значения ?

$ printf "%d\n" 010
8
$ printf "%d\n" 0x10
16
$ printf "%d\n" 10
10



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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 11:15 [devel] UID_MIN/GID_MIN 500 -> 1000 Mikhail Efremov
                   ` (3 preceding siblings ...)
  2023-04-20 21:43 ` Dmitry V. Levin
@ 2023-04-21 12:50 ` Alexey V. Vissarionov
  2023-04-25 16:43   ` Mikhail Efremov
  4 siblings, 1 reply; 21+ messages in thread
From: Alexey V. Vissarionov @ 2023-04-21 12:50 UTC (permalink / raw)
  To: ALT Linux Team development discussions; +Cc: gremlin

Good ${greeting_time}!

On 2023-04-20 14:15:19 +0300, Mikhail Efremov wrote:

 > Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000,

Не вижу никаких проблем. Еще и UID_MAX можно увеличить до
4294967294 - еще со времен ядер 2.4, что ли... в 2.6 уже
точно 32-битные UID/GID были.

 > в апстриме

А кто для нас апстрим? :-)

 > и во всех других дистрибутивах это давно уже сделано.

Среди них уже давно нет хороших примеров для подражания.
Отдельные решения срисовать - да, бывает полезно, но так,
чтобы всерьез брать пример - увы.

 > Системных пользователей все больше и лучше иметь для них
 > пространство UID с запасом.

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

 > Единственной проблемой мне видится то, что нужно сохранить
 > текущие значения в /etc/login.defs при обновлении, переход
 > пользователей в системные может привести к неизвестным
 > побочным эффектам.

Только если кто-то где-то сдуру принимает решение о системности
пользователя исходя из диапазона, в который попадает его UID.
Единственное очевидное исключение - root, но там UID проверяется
не на принадлежность диапазону, а ноль или не ноль.

В норме признаков (достаточных условий) системности пользователя
всего два:
1. указанный шелл отсутствует в /etc/shells;
2. указанный домашний каталог не принадлежит пользователю.

Иногда к ним относят отсутствие валидного encrypted password, но
на это лучше не закладываться. Как и на любые другие параметры.

 > Если login.defs редактировался, то проблемы нет, он noreplace
 > и будет создан login.defs.rpmnew. А вот если не редактировался,
 > то значения UID_MIN/GID_MIN все равно надо бы сохранить старые.

На существующих системах при обновлении - да, было бы неплохо.
Хотя и не критично.

 > Мне в голову приходит только сохранять в файл в /tmp при
 > обновлении (в %pre) и восстанавливать в %post. Если у кого
 > есть идеи как это сделать лучше/проще, то с удовольствием
 > выслушаю.

Так и делать. А перед восстановлением переименовать login.defs
в login.defs.rpmnew - результат будет таким же, как и в случае
модифицированного login.defs


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-20 13:30 ` Alexey Shabalin
@ 2023-04-21 12:54   ` Alexey V. Vissarionov
  2023-04-26 10:29     ` Dmitry V. Levin
  0 siblings, 1 reply; 21+ messages in thread
From: Alexey V. Vissarionov @ 2023-04-21 12:54 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Good ${greeting_time}!

On 2023-04-20 16:30:56 +0300, Alexey Shabalin wrote:

 >> Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000
 > Еще бы хорошо перейти на uid=gid=65534 для nobody
 > https://github.com/systemd/systemd/blob/main/docs/UIDS-GIDS.md

А вот этого делать точно не надо, так как 65534 - совершенно
валидный UID из диапазона [UID_MIN;4294967294].


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-21 12:09       ` Alexey Gladkov
  2023-04-21 12:36         ` Vladislav Zavjalov
@ 2023-04-21 12:59         ` Alexey V. Vissarionov
  1 sibling, 0 replies; 21+ messages in thread
From: Alexey V. Vissarionov @ 2023-04-21 12:59 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Good ${greeting_time}!

On 2023-04-21 14:09:03 +0200, Alexey Gladkov wrote:

 >>> Это показывает что код кривой и эти значения надо читать
 >>> из login.def
 >> Да, это значение и сейчас можно легко поменять в конфиге,
 >> не надо его хардкодить.
 > Это делается, потому что на самом деле это не так просто как
 > кажется.
 > Numbers (both regular and long) may be either decimal values,
 > octal values (precede the value with 0) or hexadecimal values
 > (precede the value with 0x). The maximum value of the regular
 > and long numeric parameters is machine-dependent.
 > Очевидно grep не достаточно.
 > Как правильно в скриптах получать эти значения ?

% printf '%u\n' 12345
12345
% printf '%u\n' 012345
5349
% printf '%u\n' 0x12345
74565

Но если задача состоит в проверке пользователя на системность,
лучше смотреть, есть ли его шелл в /etc/shells, и является ли
он владельцем своего ${HOME}.


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-21 12:50 ` Alexey V. Vissarionov
@ 2023-04-25 16:43   ` Mikhail Efremov
  0 siblings, 0 replies; 21+ messages in thread
From: Mikhail Efremov @ 2023-04-25 16:43 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Fri, 21 Apr 2023 15:50:53 +0300 Alexey V. Vissarionov wrote:
>  > Мне в голову приходит только сохранять в файл в /tmp при
>  > обновлении (в %pre) и восстанавливать в %post. Если у кого
>  > есть идеи как это сделать лучше/проще, то с удовольствием
>  > выслушаю.  
> 
> Так и делать. А перед восстановлением переименовать login.defs
> в login.defs.rpmnew - результат будет таким же, как и в случае
> модифицированного login.defs

Пожалуй, этот вариант мне нравится больше, чем просто поменять значения
в login.defs. С login.defs.rpmnew будет гораздо нагляднее. 

-- 
WBR, Mikhail Efremov

[-- Attachment #2: Цифровая подпись OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-21 12:54   ` Alexey V. Vissarionov
@ 2023-04-26 10:29     ` Dmitry V. Levin
  2023-04-26 12:09       ` Alexey Shabalin
  2023-04-28  5:24       ` Alexey V. Vissarionov
  0 siblings, 2 replies; 21+ messages in thread
From: Dmitry V. Levin @ 2023-04-26 10:29 UTC (permalink / raw)
  To: devel

On Fri, Apr 21, 2023 at 03:54:07PM +0300, Alexey V. Vissarionov wrote:
> Good ${greeting_time}!
> 
> On 2023-04-20 16:30:56 +0300, Alexey Shabalin wrote:
> 
>  >> Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000
>  > Еще бы хорошо перейти на uid=gid=65534 для nobody
>  > https://github.com/systemd/systemd/blob/main/docs/UIDS-GIDS.md
> 
> А вот этого делать точно не надо, так как 65534 - совершенно
> валидный UID из диапазона [UID_MIN;4294967294].

overflowgid & overflowuid
-------------------------

Some filesystems only support 16-bit UIDs and GIDs, although in Linux
UIDs and GIDs are 32 bits. When one of these filesystems is mounted
with writes enabled, any UID or GID that would exceed 65535 is translated
to a fixed value before being written to disk.

These sysctls allow you to change the value of the fixed UID and GID.
The default is 65534.


-- 
ldv


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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-26 10:29     ` Dmitry V. Levin
@ 2023-04-26 12:09       ` Alexey Shabalin
  2023-04-28  5:24       ` Alexey V. Vissarionov
  1 sibling, 0 replies; 21+ messages in thread
From: Alexey Shabalin @ 2023-04-26 12:09 UTC (permalink / raw)
  To: ALT Linux Team development discussions

ср, 26 апр. 2023 г. в 13:29, Dmitry V. Levin <ldv@altlinux.org>:
>
> On Fri, Apr 21, 2023 at 03:54:07PM +0300, Alexey V. Vissarionov wrote:
> > Good ${greeting_time}!
> >
> > On 2023-04-20 16:30:56 +0300, Alexey Shabalin wrote:
> >
> >  >> Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000
> >  > Еще бы хорошо перейти на uid=gid=65534 для nobody
> >  > https://github.com/systemd/systemd/blob/main/docs/UIDS-GIDS.md
> >
> > А вот этого делать точно не надо, так как 65534 - совершенно
> > валидный UID из диапазона [UID_MIN;4294967294].

Странно было бы предлагать не валидный UID. Он и сейчас валидный.
И зачем нужен пользователь с невалидным UID?

>
> overflowgid & overflowuid
> -------------------------
>
> Some filesystems only support 16-bit UIDs and GIDs, although in Linux
> UIDs and GIDs are 32 bits. When one of these filesystems is mounted
> with writes enabled, any UID or GID that would exceed 65535 is translated
> to a fixed value before being written to disk.
>
> These sysctls allow you to change the value of the fixed UID and GID.
> The default is 65534.

Тем более nobody надо на 65534 переводить.

-- 
Alexey Shabalin

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

* Re: [devel] UID_MIN/GID_MIN 500 -> 1000
  2023-04-26 10:29     ` Dmitry V. Levin
  2023-04-26 12:09       ` Alexey Shabalin
@ 2023-04-28  5:24       ` Alexey V. Vissarionov
  1 sibling, 0 replies; 21+ messages in thread
From: Alexey V. Vissarionov @ 2023-04-28  5:24 UTC (permalink / raw)
  To: ALT Linux Team development discussions

Good ${greeting_time}!

On 2023-04-26 13:29:51 +0300, Dmitry V. Levin wrote:

 >>>> Есть мысль увеличить UID_MIN/GID_MIN по умолчанию до 1000
 >>> Еще бы хорошо перейти на uid=gid=65534 для nobody
 >>> https://github.com/systemd/systemd/blob/main/docs/UIDS-GIDS.md
 >> А вот этого делать точно не надо, так как 65534 - совершенно
 >> валидный UID из диапазона [UID_MIN;4294967294].
 > overflowgid & overflowuid
 > Some filesystems only support 16-bit UIDs and GIDs, although in
 > Linux UIDs and GIDs are 32 bits. When one of these filesystems
 > is mounted with writes enabled, any UID or GID that would exceed
 > 65535 is translated to a fixed value before being written to
 > disk. These sysctls allow you to change the value of the fixed
 > UID and GID. The default is 65534.

В каком году написан этот текст и для каких ФС это актуально?
Это не риторический вопрос, это действительно нужно проверить.

Если речь о каких-нибудь атавизмах наподобие CONFIG_MINIX_FS -
проще выкинуть их из ядра, чем морочиться с подобными костылями.


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net


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

end of thread, other threads:[~2023-04-28  5:24 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-20 11:15 [devel] UID_MIN/GID_MIN 500 -> 1000 Mikhail Efremov
2023-04-20 13:30 ` Alexey Shabalin
2023-04-21 12:54   ` Alexey V. Vissarionov
2023-04-26 10:29     ` Dmitry V. Levin
2023-04-26 12:09       ` Alexey Shabalin
2023-04-28  5:24       ` Alexey V. Vissarionov
2023-04-20 16:23 ` Leonid Krivoshein
2023-04-20 16:30   ` Ivan A. Melnikov
2023-04-20 16:39     ` Mikhail Efremov
2023-04-20 16:47     ` Ruslandh
2023-04-21  8:41       ` Mikhail Efremov
2023-04-20 18:51 ` Vladimir D. Seleznev
2023-04-21  8:38     ` Mikhail Efremov
2023-04-21 12:09       ` Alexey Gladkov
2023-04-21 12:36         ` Vladislav Zavjalov
2023-04-21 12:59         ` Alexey V. Vissarionov
2023-04-20 21:43 ` Dmitry V. Levin
2023-04-21  8:37   ` Mikhail Efremov
2023-04-21  9:17     ` Sergey V Turchin
2023-04-21 12:50 ` Alexey V. Vissarionov
2023-04-25 16:43   ` Mikhail Efremov

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git