Index Hem Bakåt Framåt

Manuell konfiguration av användare

Sektionen beskriver hur man editerar en fil med rättigheter. Den kan hoppas över för de flesta, därför att normalt är det bättre att använda Setup eller VIOSetup programmet för att automatisera editeringen.

Om användarinformationen redan finns i servern's INI fil (tack vare att du använde Setup funktionen för att lägga till användaren), då måste du använda StorePRM funktionen för att skapa en PRM fil för användaren. (Det här steget är naturligtvis inte nödvändigt om du har en existerande PRM fil för användaren.) Efter editering av PRM filen, vilken du kan göra i vilken texteditor som helst, kan du använda LoadPRM funktionen för att ladda informationen tillbaka in i INI filen.

En PRM fil är i fritt format, dvs. den exakta formateringen är inte viktig; men, för läsbarhetens skull, föreslår jag att att du använder indragna märken för att göra strukturen klarare.

Filen kan innehålla kommentarer. En kommentar är vad som helst från '%' tecknet till slutet på den aktuella raden. Notera, kommentarerna kommer att tas bort när LoadPRM programmet laddar data in i server's INI fil.

Filnamn innehållande blanksteg eller specialtecken skall avgränsas av antingen dubbla citattecken ("..." eller enstaka citattecken ('...'). För "normala" filnamn är citattecknen en option. (Men se varningen längre ner på denna sida.)

De första fem sakerna i en fil med rättigheter är:

  1. Användarens kategori kod (G, U, N, M), som är beskrivet i sektionen Allmänt koncept.

  2. Lösenordet. För en gästanvändare, använd "@" som lösenord. För en 'N' användare, använd bara ett påhittat ord.

  3. Användarens begränsningar (ett numeriskt värde).

  4. Användarens hastighetsbegränsning (ett numeriskt värde).

  5. Användarens riktiga namn.

Sedan kan du lägga till några noteringar - upp till 2048 tecken - startande med teckenparet '(*' och avsluta med '*)'. Om strängarna (* och *) uppträder inom noten, måste de uppträda som ett korrekt matchande nästlat par.

Slutligen specificerar du kataloginformationen, i formatet

<katalog namn> <katalog beskrivning>

där <katalog namn> specificerar användarens rotkatalog. Det finns två möjliga sätt att specificera ett <katalog namn>

där en <namnsträng> är en sträng av tecken, eventuellt omgärdad av citattecken. Den första alternativet - det utan '=' tecknet - kommer normalt inte att användas för att specificera rotkatalogen, men är det normala sättet att specificera en underkatalog (se nedan). Det andra alternativet specificerar en symbolisk länk. I det fallet är <namnsträng> före '=' tecknet katalognamnet som syns för ftp klienten, och <namnsträng> efter '=' tecknet är en fullständig sökväg, inledd av en enhetsbokstav.

På rotnivå, syns inte katalognamnet för någon användare i något fall, och den fulla sökvägen är väldigt ofta en null sträng, för att specificera en pseudo-katalog. Därför är en väldigt vanlig form av specifikation för rotkatalogen helt enkelt

""=""

En <katalog beskrivare> ger rättigheter för denna hemkatalog och alla dess underkataloger. Det har formen

<kod> <underkatalog info>

Bägge dessa är tillval. <kod> kan vara en kombination av

V+

V-

R+

R-

W+

W-

D+

D-

N+

N-

Katalogen synlig

Katalogen osynlig

Tillåt läsning (för nerladdningar) av filer i denna katalog

Tillåt inte läsning

Tillåt skrivning

Tillåt inte skrivning

Tillåt radering

Tillåt inte radering

Tillåt namnändring

Tillåt inte namnändring


Rättighetskoderna skall alltid anges relativt till föräldrarkatalogens rättighetskod. Det betyder att, en katalog har samma rättigheter som sin förälder, om den inte är uttryckligen ändrad genom addering och/eller radering av rättigheter.

(För rotkatalogen är standardrättigheterna: synlig, läsning, ej skrivning, ej radering, ej namnändring.)

<underkatalog info> är återkommande definerad. Den har formen

( <artikel>, <artikel>, ... , <artikel>)

Formen är en komma-separerad lista av artiklar, omgiven av parenteser. Varje <rtikel> har formen

<katalog namn> <katalog beskrivning>

Det betyder att den följer exakt de regler som är beskrivna ovanför vad gäller rotkatalogen. Den återkommande naturen på reglerna betyder, naturligvis, att <kataloger bl.beskrivning> för någon underkatalog kan innehålla specifikationer av ytterligare underkataloger, ner till en önskad nivå.

Om det låter komplicerat, ta en titt på de bifogade *.PRM filerna, och du kommer ganska snart att förstå mönstret.

Notera: Du behöver inte lista alla underkataloger - bara de som har andra rättigheter än föräldrarkatalogen.

Exempel 1

Antag att du vill att användaren "anonymous" skall ha läsaccess till katalogen C:\users\pub; läs och skrivaccess till C:\users\pub\upload; ingen access alls till C:\users\pub\private; och läsaccess till alla andra underkataloger för C:\users\pub. Då skall filen ANONYMOUS.PRM ha följande innehåll.


    G                         % user category = guest

    @                         % password = e-mail address

    10                        % user limit

    2000                      % speed limit

    ""                        % no real name recorded

    (*This is a guest account*)   % notes to store in INI file

    pub="C:/users/pub/" V+R+  % user's root directory

      ( upload W+,            % allow write access to upload directory

        private V-R- )        % deny all access to private directory

Exempel 2

Antag att du vill att användaren "user1" skall ha läs och skrivaccess till enhet A:; enbart läsaccess till katalogen C:\users\pub och alla dess underkataloger; läs och skrivaccess till D:\abc och alla dess underkataloger; och läs och raderingsaccess till E:\Apps. För att göra exemplet mera intressant, låt oss anta att vi vill göra katalogen på E: att se ut som en underkatalog till D:\abc\def. Du kan göra detta genom att skapa filen med rättigheter kallad USER1.PRM med följande innehåll.


    U                         % normal user

    secret                    % password

    2                         % user limit

    6000                      % speed limit

    "Bart MacHomer"           % real name

    (*Created April 1999*)    % notes to store in INI file

    ""="" W+                  % root directory is a pseudo-directory

       ("A"="A"

        "pub"="C:/users/pub" W-,

        "dir1"="D:/abc"

          (def

            ("apps"="E:/Apps" W-D+)

          )

       )

Anmärkning: FtpServer tar hänsyn till att slash (/) och backslash (\) är likadana i strängar med filnamn.

Varning för potensiella syntax fel

Programvaran som analyserar filen med rättigheter försöker var så lite rigid som möjligt; till exempel, den insisterar inte på att tecken i lösenord, katalognamn, etc. måste vara alfanumeriska tecken. Denna flexibilitet har emellertid ett pris: du kan skriva rättighetsfiler som verkar korrekta, men som är syntaktiskt tveksamma.

För att undvika problem, är det alltid en bra idé att bifoga katalog och filnamn inom citattecken.

Konvertering från äldre format

Reglerna för att specificera kataloger, som beskrivs på denna sida, introducerades i version 0.71 av FtpServer. För version 0.70 och tidigare var reglerna något annorlunda. Både det gamla och nya formatet kommer att stödjas i versioner mellan 0.71 och upp till 0.80, men efter det kommer det gamla formatet inte längre att accepteras. Därför bör du konvertera alla äldre PRM filer till det nya formatet.

Konverteringen kan göras med LoadPRM funktionen, vilken kan läsa PRM filer i antingen det gamla eller det nya formatet men kommer att lagra data (i FTPD.INI) i det nya formatet. Ett snabbt sätt att konvertera alla dina PRM filer i det nya formatet är att exekvera två kommandon


        loadprm *

        storeprm *

Notera att detta kommer att ta bort alla dina kommentarer ur filerna. Om du vill behålla kommentarerna måste du göra en del manuell editering.