[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian] adduser: allow bad names?



Hallo Michael, hallo Liste,

> On Mon, Jan 29, 2001 at 07:06:27PM +0100, Frank Fuerst wrote:
> > # is name ok?
> > sub checkname {
> >     my ($name) = @_;
> >     if ($allow_badname && $name !~ /^[A-Za-z_][-_A-Za-z0-9]*$/) {
> >         print STDERR
> > "$0: ",_("To avoid problems, the username should consist of a letter
> > or underscore followed by letters, digits, underscores, and
> > dashes.\n");
> >         exit 1;
[...]
> > Spricht irgendwas dagegen, diesen Teil rauszunehmen oder die 
> > regexp umzubauen und das Ergebnis 
> > /usr/local/sbin/smbmachine_adduser zu nennen?
> 
> nein mach das nicht. statt dem perl solltest du dir vielleicht mal die
> Man-page anschauen:
> 
>        --force-badname
>               2By default, user and group names are  required  to
>               consist  of  a lowercase letter followed by zero or
>               more lowercase letters  or  numbers.   This  option
>               forces adduser and addgroup to be more lenient.

Nein, das kenne ich längst. Das von mir zitierte Stück Code wird 
doch überhaupt nur ausgeführt, *wenn* force-badname gesetzt ist:
while ($arg = shift(@ARGV)) {
    die "$0: ",_("No options allowed after names.\n")
        if ($names[0] && $arg =~ /^--/);
    if ($arg eq "--quiet") {
        $verbose = 0;
    } elsif ($arg eq "--force-badname") {
        $allow_badname = 1;
Mit dieser Option akzeptiert er Underscores, Dashes und 
Großbuchstaben, aber immer noch keine $ (ich verstehe die regexp 
nicht, aber ich habe es natürlich ausprobiert.

Die Frage ist also letztlich, welche Probleme auftreten können, wenn 
ich so einen User per Skript erstellen lasse, anstatt es manuell mit 
vipw zu tun. Die wahrscheinlichste Komplikation wird wohl sein, dass 
das Perl-Skript selber Probleme mit diesem Namen bekommt.  

> > Bisher wollte ich die Sache umgehen, indem ich einen Account 
> > namens "name" mit adduser einrichte und das Skript gleich hinterher in
> > /etc/passwd und shadow ein sed -e s/$NETBIOS_NAME/$NETBIOS_NAME\\$/
> > macht. Danach habe ich das Ergebnis über die gesicherten
> > Originaldateien kopiert. Folge ist leider, dass ich mich zwar noch
> > einloggen kann, dass aber das System irgendwelche Probleme hat, der
> > UID meinen Namen zuzuorden. vi stürzt deshalb ab, und der Samba-Login
> > klappt auch nicht mehr. Auch zurückkopieren der Backup-passwd hat
> > nichts geholfen, nur einige Stunden warten.
> 
> ? sorry, kann ich jetzt nicht ganz nachvollziehen.

Meinst du, du verstehst es nicht (da bist du nicht der einzige), oder 
du hast versucht es zu reproduzieren, es ging aber nicht? Die Zeilen 
lauteten bei mir:

adduser --conf /etc/adduser.smbmachine.conf --no-create-home\
	 --gecos "Machine Trust Account" --disabled-password\
	$NETBIOS_NAME
sed -e s/$NETBIOS_NAME/$NETBIOS_NAME\\$/ /etc/passwd\
	 >passwd.help
sed -e s/$NETBIOS_NAME/$NETBIOS_NAME\\$/ /etc/shadow\
	 >shadow.help
cp /etc/passwd /etc/passwd.bak && cp /etc/passwd.help /etc/passwd
cp /etc/shadow /etc/shadow.bak && cp /etc/shadow.help /etc/shadow

und in besagter adduser.smbmachine.conf wird ein spezieller uid-
Bereich und eine bestimmte gid zugewiesen.

Als dritte Möglichkeit wurde mir auch schon vorgeschlagen, useradd 
zu verwenden, das verträgt nämlich solche Usernamen. Aber dann 
müsste ich im Skript umständlich eine freie UID im gewünschten 
Bereich suchen - da nehme ich doch lieber ein bestehendes Skript, 
das genau das macht, nämlich adduser.

Gruß, Frank
-- 
Frank Fuerst, Institut fuer Biochemie und Biologie der Uni Potsdam
Karl-Liebknecht-Str. 24-25, Haus 25, 14476 Golm
Tel.: +49-331-977-5244;   Fax.: +49-331-977-5062
ffrank@rz.uni-potsdam.de


--
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

677 eingetragene Mitglieder in dieser Liste.


Reply to: