En kommantar er ikke kun en kommentar :-)

From: Michael Hembo (none@hembo--micron.dk.lh.bsd-dk.dk)
Date: Thu 11 Mar 2004 - 00:14:52 CET


From: "Michael Hembo" <none@hembo--micron.dk.lh.bsd-dk.dk>
To: <none@bsd-dk--bsd-dk.dk.lh.bsd-dk.dk>
Subject: En kommantar er ikke kun en kommentar :-)
Date: Thu, 11 Mar 2004 00:14:52 +0100

Alle ved at når en linie i et script, conf.fil eller andre steder, begynder med et # tegn, så er det en kommentar og har normalt ingen indvirkning på filens indhold eller virke.

Dette er bare ikke tilfældet med login.conf når den oversættes af cap_mkdb. Efter at ha' leget lidt rundt med login classes kom jeg frem til følgende.

Her er en del af den orgiginale /etc/login.conf

--- login.conf ---
# defaults
# These settings are used by login(1) by default for classless users
# Note that entries like "cputime" set both "cputime-cur" and "cputime-max"

default:\
        :passwd_format=md5:\
        :copyright=/etc/COPYRIGHT:\
        :welcome=/etc/motd:\
        :setenv=LC_CTYPE=da_DK.ISO8859-1,MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
        :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
        :nologin=/var/run/nologin:\
--- login.conf ---

og her er output fra -
bowmore# /etc\ cap_mkdb -v login.conf
cap_mkdb: 9 capability records

Her er så den ændrede login.conf

--- login.conf ---
# defaults
# These settings are used by login(1) by default for classless users
# Note that entries like "cputime" set both "cputime-cur" and "cputime-max"

# :copyright=/etc/COPYRIGHT:\
# :welcome=/etc/motd:\
default:\
        :passwd_format=md5:\
        :setenv=LC_CTYPE=da_DK.ISO8859-1,MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
        :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
        :nologin=/var/run/nologin:\
--- login.conf ---

og her er output fra -
bowmore# /etc\ cap_mkdb -v login.conf
cap_mkdb: record not tc expanded: standard
cap_mkdb: record not tc expanded: xuser
cap_mkdb: record not tc expanded: staff
cap_mkdb: record not tc expanded: daemon
cap_mkdb: record not tc expanded: news
cap_mkdb: record not tc expanded: dialer
cap_mkdb: record not tc expanded: root
cap_mkdb: record not tc expanded: russian|Russian Users Accounts
cap_mkdb: 8 capability records

Hvis jeg så indsætter en tom linie mellem den udkommenterede welcome og default:
--- login.conf ---
# defaults
# These settings are used by login(1) by default for classless users
# Note that entries like "cputime" set both "cputime-cur" and "cputime-max"

# :copyright=/etc/COPYRIGHT:\
# :welcome=/etc/motd:\

default:\
        :passwd_format=md5:\
        :setenv=LC_CTYPE=da_DK.ISO8859-1,MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
        :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
        :nologin=/var/run/nologin:\
--- login.conf ---

så får jeg igen output -
bowmore# /etc\ cap_mkdb -v login.conf
cap_mkdb: 9 capability records

Jeg har et hint til hvad problemet er - Hvad er det den udkommenterede welcome linie slutter med ?, og hvad er det lige det tegn under normale omstændigheder gør ? :-)

Jeg påstår at default: bliver inkluderet i udkommenteringen p.g.a. back-slash til sidst på welcome linien.

Systemet er:
FreeBSD bowmore.micron.dk 5.2.1-RELEASE FreeBSD 5.2.1-RELEASE #0: Mon Mar 1 09:55:37 CET 2004 root@bowmore.micron.dk:/mnt/local/site/obj/mnt/local/site/src/sys/MICRON i386

Fuldt cvs opdateret og bygget 1. marts, både world og kernel

og min

FreeBSD lagavulin.micron.dk 4.9-RELEASE-p2 FreeBSD 4.9-RELEASE-p2 #1: Wed Mar 3 01:23:15 CET 2004 root@lagavulin.micron.dk:/mnt/local/da1s1e/obj/mnt/local/stripe0/RELENG_4/src/sys/MICRON-R4 i386

gør det også

Prøv at ændre den fra:

--- login.conf ---
# These settings are used by login(1) by default for classless users
# Note that entries like "cputime" set both "cputime-cur" and "cputime-max"

default:\
--- login.conf ---

til:

--- login.conf ---
# These settings are used by login(1) by default for classless users
# Note that entries like "cputime" set both "cputime-cur" and "cputime-max"
#\
default:\
--- login.conf ---

jeg har ikke fundet 'fejlen' andre steder. F.eks. virker dette lille shell script uden problemer
--- script ---
#!/bin/sh
# This is a comment
# \
echo "line \
1"
echo "line \
2"
--- script ---

og pwd_mkdb brækker sig heller ikke over denne master.passwd

--- master.passwd ---
# $FreeBSD: src/etc/master.passwd,v 1.25.2.5 2002/02/10 11:43:37 obrien Exp $
#\
root:$1$Hp9qw3v980q235vQ"#=VQ"5v097n:0:0::0:0:Charlie &:/root:/usr/local/bin/bash
toor:*:0:0::0:0:Bourne-again Superuser:/root:
daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin
operator:*:2:5::0:0:System &:/:/sbin/nologin
--- master.passwd ---

/Michael

 - "Intelligence is not what you know, but what you do when you don't know. " - Piaget.



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:38 CET