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: