Re: pwdutils => shadow = problem z "kropką" w user/group

2022-01-18 Wątek Maciej Kędzierski

Wersja shadow-4.8.1-2.x86_64 z nałożoną łatką, th-test, działa.
Można założyć użytkownika z "kropką" w nazwie :)

Pozdrawiam
MK


W dniu 10.01.2022 o 13:27, Maciej Kędzierski pisze:
> Z tego co znalazłem to w pakiecie "shadow-4.8.1-1.src.rpm" jest patch
> "shadow-goodname.patch", który powinien dodawać możliwość wykorzystania
> "." w nazwach użytkowników, ale którego aplikacja nie jest jednak
> włączona. Zapewne przez to, że występuje błąd w czasie jego nakładania.
>
> Znalazłem działający patch do wersji shadow-4.8, który jest w źródłach
> CentOS'a:
> http://ftp.riken.jp/Linux/cern/centos/s9/BaseOS/source/tree/Packages/shadow-utils-4.9-3.el9.src.rpm
>
>
>
> W dniu 07.01.2022 o 10:40, Maciej Kędzierski pisze:
>> Witam,
>>
>> Przy niedawnej aktualizacji systemu została wymuszona przez dystrybucję
>> zmiana pakietu pwdutils-3.2.19-7 na shadow-4.8.1-1, odpowiedzialnego za
>> zarządzanie użytkownikami w systemie. No i pojawił się problem.
>>
>> Nie można zakładać użytkowników i grup, które w nazwie mają 'kropkę".
>>
>> Próba założenia takowych kończy się błędem:
>> # useradd testowe.konto
>> useradd: nieprawidłowa nazwa użytkownika 'testowe.konto'
>>
>> # groupadd testowe.konto
>> groupadd: 'testowe.konto' is not a valid group name
>>
>> Podobne komunikaty są przy "pwck", "grpck".
>>
>> Jak to obejść, bo mam z tym "mały" problem?
>> Z tego co poszukałem, to inne dystrybucje wykorzystują do tego jakieś
>> patche.
>>
>> Nie można wrócić to pwdutils, bo nie ma go w pakietach, ale co ciekawe
>> jest na serwerze git (2021-12-08 Arkadiusz Miśkiewicz  Release 8 (by
>> relup.sh) master auto/th/pwdutils-3.2.19-8).
>>
>> Pozdrawiam
>> MK
>> ___
>> pld-devel-pl mailing list
>> pld-devel-pl@lists.pld-linux.org
>> http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
>>
>>
>> ___
>> pld-devel-pl mailing list
>> pld-devel-pl@lists.pld-linux.org
>> http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
___
pld-devel-pl mailing list
pld-devel-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl


Re: pwdutils => shadow = problem z "kropką" w user/group

2022-01-10 Wątek Maciej Kędzierski

Z tego co znalazłem to w pakiecie "shadow-4.8.1-1.src.rpm" jest patch
"shadow-goodname.patch", który powinien dodawać możliwość wykorzystania
"." w nazwach użytkowników, ale którego aplikacja nie jest jednak
włączona. Zapewne przez to, że występuje błąd w czasie jego nakładania.

Znalazłem działający patch do wersji shadow-4.8, który jest w źródłach
CentOS'a:
http://ftp.riken.jp/Linux/cern/centos/s9/BaseOS/source/tree/Packages/shadow-utils-4.9-3.el9.src.rpm



W dniu 07.01.2022 o 10:40, Maciej Kędzierski pisze:
> Witam,
>
> Przy niedawnej aktualizacji systemu została wymuszona przez dystrybucję
> zmiana pakietu pwdutils-3.2.19-7 na shadow-4.8.1-1, odpowiedzialnego za
> zarządzanie użytkownikami w systemie. No i pojawił się problem.
>
> Nie można zakładać użytkowników i grup, które w nazwie mają 'kropkę".
>
> Próba założenia takowych kończy się błędem:
> # useradd testowe.konto
> useradd: nieprawidłowa nazwa użytkownika 'testowe.konto'
>
> # groupadd testowe.konto
> groupadd: 'testowe.konto' is not a valid group name
>
> Podobne komunikaty są przy "pwck", "grpck".
>
> Jak to obejść, bo mam z tym "mały" problem?
> Z tego co poszukałem, to inne dystrybucje wykorzystują do tego jakieś
> patche.
>
> Nie można wrócić to pwdutils, bo nie ma go w pakietach, ale co ciekawe
> jest na serwerze git (2021-12-08 Arkadiusz Miśkiewicz  Release 8 (by
> relup.sh) master auto/th/pwdutils-3.2.19-8).
>
> Pozdrawiam
> MK
> ___
> pld-devel-pl mailing list
> pld-devel-pl@lists.pld-linux.org
> http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
>
diff -up shadow-4.8/libmisc/chkname.c.goodname shadow-4.8/libmisc/chkname.c
--- shadow-4.8/libmisc/chkname.c.goodname	2020-01-13 09:44:41.968507996 +0100
+++ shadow-4.8/libmisc/chkname.c	2020-01-13 09:46:27.863727732 +0100
@@ -55,26 +55,44 @@ static bool is_valid_name (const char *n
 	}
 
 	/*
-	 * User/group names must match [a-z_][a-z0-9_-]*[$]
-	 */
+ * User/group names must match gnu e-regex:
+ *[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?
+ *
+ * as a non-POSIX, extension, allow "$" as the last char for
+ * sake of Samba 3.x "add machine script"
+ *
+ * Also do not allow fully numeric names or just "." or "..".
+ */
+	int numeric;
 
-	if (('\0' == *name) ||
-	!((('a' <= *name) && ('z' >= *name)) || ('_' == *name))) {
+	if ('\0' == *name ||
+	('.' == *name && (('.' == name[1] && '\0' == name[2]) ||
+			  '\0' == name[1])) ||
+	!((*name >= 'a' && *name <= 'z') ||
+	  (*name >= 'A' && *name <= 'Z') ||
+	  (*name >= '0' && *name <= '9') ||
+	  *name == '_' ||
+	  *name == '.')) {
 		return false;
 	}
 
+	numeric = isdigit(*name);
+
 	while ('\0' != *++name) {
-		if (!(( ('a' <= *name) && ('z' >= *name) ) ||
-		  ( ('0' <= *name) && ('9' >= *name) ) ||
-		  ('_' == *name) ||
-		  ('-' == *name) ||
-		  ( ('$' == *name) && ('\0' == *(name + 1)) )
+		if (!((*name >= 'a' && *name <= 'z') ||
+		  (*name >= 'A' && *name <= 'Z') ||
+		  (*name >= '0' && *name <= '9') ||
+		  *name == '_' ||
+		  *name == '.' ||
+		  *name == '-' ||
+		  (*name == '$' && name[1] == '\0')
 		 )) {
 			return false;
 		}
+		numeric &= isdigit(*name);
 	}
 
-	return true;
+	return !numeric;
 }
 
 bool is_valid_user_name (const char *name)
diff -up shadow-4.8/man/groupadd.8.xml.goodname shadow-4.8/man/groupadd.8.xml
--- shadow-4.8/man/groupadd.8.xml.goodname	2019-07-23 17:26:08.0 +0200
+++ shadow-4.8/man/groupadd.8.xml	2020-01-13 09:44:41.968507996 +0100
@@ -273,10 +273,12 @@

  CAVEATS
  
-   Groupnames must start with a lower case letter or an underscore,
-   followed by lower case letters, digits, underscores, or dashes.
-   They can end with a dollar sign.
-   In regular expression terms: [a-z_][a-z0-9_-]*[$]?
+   Groupnames may contain only lower and upper case letters, digits,
+   underscores, or dashes. They can end with a dollar sign.
+
+   Dashes are not allowed at the beginning of the groupname.
+   Fully numeric groupnames and groupnames . or .. are
+   also disallowed.
  
  
Groupnames may only be up to _NAME_MAX_LENGTH; characters long.
diff -up shadow-4.8/man/useradd.8.xml.goodname shadow-4.8/man/useradd.8.xml
--- shadow-4.8/man/useradd.8.xml.goodname	2019-10-05 03:23:58.0 +0200
+++ shadow-4.8/man/useradd.8.xml	2020-01-13 09:44:41.968507996 +0100
@@ -661,10 +661,14 @@
 
 
 
-  Usernames must start with a lower case letter or an underscore,
-  followed by lower case letters, digits, underscores, or dashes.
-  They can end with a dollar sign.
-  In regular expression terms: [a-z_][a-z0-9_-]*[$]?
+  Usernames may contain only lower and upper case letters, digits,
+  underscores, or dashes. They can end with a dollar sign.
+
+  Dashes are not allowed at the beginning of the username.
+  Fully 

pwdutils => shadow = problem z "kropką" w user/group

2022-01-07 Wątek Maciej Kędzierski
Witam,

Przy niedawnej aktualizacji systemu została wymuszona przez dystrybucję
zmiana pakietu pwdutils-3.2.19-7 na shadow-4.8.1-1, odpowiedzialnego za
zarządzanie użytkownikami w systemie. No i pojawił się problem.

Nie można zakładać użytkowników i grup, które w nazwie mają 'kropkę".

Próba założenia takowych kończy się błędem:
# useradd testowe.konto
useradd: nieprawidłowa nazwa użytkownika 'testowe.konto'

# groupadd testowe.konto
groupadd: 'testowe.konto' is not a valid group name

Podobne komunikaty są przy "pwck", "grpck".

Jak to obejść, bo mam z tym "mały" problem?
Z tego co poszukałem, to inne dystrybucje wykorzystują do tego jakieś
patche.

Nie można wrócić to pwdutils, bo nie ma go w pakietach, ale co ciekawe
jest na serwerze git (2021-12-08 Arkadiusz Miśkiewicz  Release 8 (by
relup.sh) master auto/th/pwdutils-3.2.19-8).

Pozdrawiam
MK
___
pld-devel-pl mailing list
pld-devel-pl@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl