Groupadd için izin verilen grup adları nelerdir?


13

Komutu veren Shadow'ı oluşturmak için bu talimatları izledim groupadd. Şimdi bunu denerken bir hata alıyorum:

$ groupadd automake1.10
groupadd: 'automake1.10' is not a valid group name

Alfasayısal isimleri kontrol ettim ve iyi çalışıyorlar.

Yanıtlar:


20

Özellikle kaynak koduna bakın libmisc/chkname.c. Gölge oldukça muhafazakardır: adlar normal ifadeyle eşleşmelidir [_a-z][-0-9_a-z]*\$?ve en fazla GROUP_NAME_MAX_LENGTHkarakter uzunluğunda olabilir (yapılandırma seçeneği, varsayılan 16; kullanıcı adları genellikle derleme zamanı belirlemesine bağlı olarak 32 karaktere kadar çıkabilir).

Debian çeki çok rahatlatır. Sıkmak olarak, boşluk ve :izin dışında herhangi bir şey . Bkz. Hata # 264879 ve hata # 377844 .

POSIX , büyük / küçük harf, rakam ve ._-( dosya adlarında olduğu gibi ) harflere izin verilmesini gerektirir . Taşınabilirliği önemsemiyorsanız POSIX herhangi bir kısıtlama getirmez. Önerilen bazı kısıtlamalar kullanımdan kaynaklanmaktadır:

  • Sütunlar, yeni satırlar ve boş değerler doğrudur; /etc/passwdya da onları kullanamazsınız /etc/group.
  • Yalnızca rakamlardan oluşan bir ad kötü bir fikirdir chownve chgrpkullanıcı / grup veritabanındaysa bir basamak dizisini ad olarak ele almaları gerekir, ancak diğer uygulamalar herhangi bir sayıyı sayısal bir kimlik olarak ele alabilir.
  • Birçok uygulama harici bir yardımcı programa (ör. ) Geçmeyi beklediğinden, ilk ad -veya .kullanıcı adında a kesinlikle önerilmez . Bir grup adındaki A daha az soruna neden olmalıdır, ancak yine de buna karşı öneriyorum.$user.$groupchown $user.$group /path/to/file.
  • / bazı programlar dosya adlarında kullanıcı adlarını kullanabilmeyi beklediğinden, muhtemelen soruna neden olabilir.
  • Kabuğun genişleteceği herhangi bir karakter muhtemelen risklidir.
  • Farklı kodlamalar kullanabilen sistemlerle paylaşmayı önemsemiyorsanız ASCII olmayan karakterler uygun olmalıdır.

¹ Tüm modern uygulamalar bekliyoruz chown $user:$group, ancak destek chown $user.$groupgeriye dönük uyumluluk için ve bu uyumluluk desteği kaldırmak için bir nokta geçmesi orada çok fazla uygulama var.


Re chownargüman: en azından GNU coreutils içinde mevcut sözdizimi, user:groupnokta sadece uyumluluk için kabul edilir. Biri kullanabilir j.smith:j.smith.
user1686

1
@grawity: Bu sadece GNU coreutils değil, problemin chownkendisi değil , mevcut komut dosyaları ve chown $user.$groupbunun yerine çağıran diğer programlar chown $user:$group- chownuygulama doğru şeyi yapmaya çalışsa bile , bazı durumlar kendinden belirsiz.
Gilles 'SO- kötü olmayı kes'

1

Maceraperest hissediyorsanız, /etc/groupdoğrudan düzenleyebilir ve istediğiniz grup adını girebilirsiniz . Ayrıca, bu, @Gilles'ın bahsettiği sorunlardan biriyle karşılaştığınızda, sorunu düzeltmek için bir düzenleyici yükleyemeyeceğiniz veya hatta hiç giriş yapamayacağınız ve size kırık bir sistemi kurtarma konusunda değerli bir deneyim kazandırabileceğiniz bir avantajı var!


5
/etc/gshadowGrup eklerken düzenlemeyi unutmayın . Ayrıca, vigr(8)dosyaları doğrudan düzenlemek yerine kullanın .
camh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.