Czy znak „ä” w nazwach użytkowników powoduje błędy w systemach Linux?


11

Chcę użyć mojego imienia jako nazwy użytkownika, ale zawiera on znak „ä”. Znalazłem ten wątek .

Teraz rozumiem, dlaczego niektóre postacie są wyłączone, ale co z „ä”? Czy ta postać może powodować problemy?

Dlaczego niektóre znaki Unicode (ü, õ, ö, ä) są wyłączone, gdy są używane w pełnych nazwach?

Odpowiedzi:


10

W nowoczesnym systemie (z pełną obsługą Unicode) nie powinno to stanowić problemu - z naciskiem na „nie powinno”. Jak cytowano w tej odpowiedzi,

Domyślnie jest to NAME_REGEX="^[a-z][-a-z0-9]*\$"

Chociaż może to być zbyt surowe w przypadku obecnych systemów, ułatwia administrację - jak w „jednym zmartwieniu”. Pamiętaj, że nazwa użytkownika jest używana w wielu miejscach - np. Twój katalog domowy prawdopodobnie będzie miał taką formę /home/username; większość rozsądnych systemów plików ma pełne wsparcie dla Unicode, ale jak w przypadku wszystkiego, co dotyczy komputera, zdrowie psychiczne we wszystkich okolicznościach nie jest gwarantowane.

Zauważ, że istnieje rzeczywista nazwa logowania używana przez system (która podlega tym regułom), odwzorowana na UID w /etc/passwd, i istnieje „Pełna nazwa”, która jest ciągiem (i można wprowadzić najbardziej poprawne znaki, chociaż istnieje ostrzeżenie „non-ASCII”).

Co należy zrobić: w stosownych przypadkach używam nazwy bez znaków diakrytycznych (lub romanizowanej, w przypadku skryptów niełacińskich) dla nazwy użytkownika i prawdziwej formy dla pełnej nazwy. Wpis w pliku / etc / passwd może wyglądać podobnie do tego:

martrang:x:1001:1001:Märt Rang,,,:/home/martrang:/bin/bash

2
Myślę, że nowoczesny system operacyjny dla komputerów stacjonarnych powinien zezwalać na znaki Unicode, z części serwerowej wszystko jest zrozumiałe.
Märt Rang

2
@ MärtRang Thing jest, obecnie absolutnie wszystko mówi w podstawowym ASCII (DZIĘKUJĘ - sprawdź EBCDIC, jeśli kiedykolwiek chcesz koszmarów), ale poza tym istnieje wiele różnych stron kodowych, które dotyczą niestandardowych znaków, a jeśli obie strony rozmowy nie mówią Jeśli wiesz, że używasz dokładnie tego samego, możesz uzyskać całkiem spektakularne kurewskie pieprzenia, których sekcje trwają wiecznie, ponieważ każda strona nalega, aby druga strona mówiła bełkotem. Jak mówi Piskvor, „o jedną rzecz mniej do zmartwienia”. Prawie każda graficzna nakładka i tak będzie teraz używać twojego prawdziwego imienia.
Shadur

Odnoszę wrażenie, że może istnieć wiele systemów (niektóre menedżery wyświetlania), w których wpisywanie znaków Unicode może być problematyczne (lub niemożliwe) oprócz tego, że oprogramowanie do obsługi nazw użytkowników interpretuje je poprawnie. : crying_cat_face:
ThorSummoner

3

Używanie nazw logowania spoza ASCII nie jest ogólnie obsługiwane i brzmi jak przepis na kłopoty. Podczas gdy UTF-8 staje się de facto standardowym kodowaniem, wciąż wiele osób korzysta z innych kodowań (szczególnie poza światem anglojęzycznym, gdzie ludzie używają innych, niekompatybilnych kodowań 8-bitowych lub 16-bitowych od dłuższego czasu ). Na przykład prawdopodobnie napotkasz aplikacje, które próbują interpretować nazwę użytkownika zgodnie z kodowaniem bieżących ustawień regionalnych, zamiast (próbować) przetłumaczyć ją na kodowanie bieżących ustawień narodowych. Twoja nazwa logowania jest również lewą częścią adresu e-mail, a to jeszcze bardziej może powodować problemy, ponieważ jesteś zależny od wybranego kodowania obsługiwanego i przestrzeganego przez wszystkie systemy, przez które przechodzi Twoja poczta.

Nazwa logowania jest przeznaczona dla komputerów. Użyj ASCII w nazwie logowania. Pełna nazwa jest przeznaczona dla ludzi. Użyj UTF-8 w swoim pełnym imieniu.


2

Ostatnie pytanie jest najłatwiejsze do odpowiedzi: tradycja, praktyczność, prostota (dla programisty) i przenośność, jeśli chcesz być charytatywny, lub alternatywnie zacofanie, niepraktyczność (dla użytkownika), ignorancja i brak możliwości przenoszenia, jeśli nie „ t. US-ASCII to po prostu zestaw znaków, który był używany od zarania dziejów (pre-web dla młodzieży) praktycznie wszędzie.

W wielu, wielu aplikacjach po prostu nie ma wbudowanej obsługi znaków poza tym, co widać na angielskiej klawiaturze (a czasem nawet nie). Innymi słowy, oprogramowanie może go obsługiwać lub nie, i możesz oczekiwać tylko nieoczekiwanego.


2
Zgadzam się z tym, gdy muszę utworzyć użytkownika na serwerze. Dlaczego nie włączyć znaków Unicode, gdy używasz Linuksa jako stacjonarnego systemu operacyjnego?
Märt Rang

1
a co jeśli nazwa użytkownika jest używana do uzyskiwania dostępu do serwera proxy, samby, nfs lub innych usług? Lub foldery domowe za pośrednictwem udostępnionych ścieżek?
Sirex,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.