03.09.2013 Views

Välkommen till - Data3

Välkommen till - Data3

Välkommen till - Data3

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

➔<br />

ARTIKEL<br />

mer kommer outputten som ASCII och inte som EBCDIC så du<br />

måste konvertera för fortsatt processing där du använder RPG<br />

eller CL program.<br />

Tips # 4 Ta bort Directories och konstiga namn<br />

Du manipulerar IFS directories och filer från OS/400 via den<br />

interaktiva kommandot WRKLNK, Detta kommando låter dig<br />

navigera i IFS:ens directory struktur och börjar med rooten(/),<br />

om du inte specificerar ett start directory. Du kan kopiera, ta<br />

bort, byta namn och titta på attribut på filerna. Tyvärr,<br />

WRKLNK är inte så lätthanterlig när det gäller att ta bort directories<br />

eller filer med konstiga namn, namn som har mellanslag<br />

eller andra konstigheter i sig. Om du försöker ta bort sådana<br />

directories som innehåller filer eller symboliska länkar kommer<br />

ett meddelande enligt följande: ”Request cannot be completed<br />

— directory contains objects.” Det blir samma sak om om du<br />

försöker ta bort, kopiera eller byta namn på enskilda filer.<br />

För att kunna ta bort directories som har innehåll gå först<br />

upp en nivå och ta val 2=Edit to display för överliggande directory<br />

vilket kommer att lista alla objekt där. Sedan använder du<br />

val 9=Recursive delete för att ta bort de directory och alla subdirectories,<br />

oavsett om de innehåller objekt eller inte.<br />

Konstiga namn är fel för OS/400 och måste ha skapats av ett<br />

icke OS/400 program. Namn med blanksteg, slashes eller andra<br />

specialtecken kan inte tolkas korrekt av WRKLNK eller andra<br />

OS/400 kommandon och det är ett stort problem när man skal<br />

ta bort demDu kan ta bort dessa filer med kommandot QSH<br />

RM (remove) genom att ange filnamnet mellan dubbla kvottecken.<br />

Till exempel:<br />

Qsh<br />

Rm ”Konstiga fil Namn”<br />

Om filnamnet innehåller dubbla kvottecken kan du klara dig<br />

om du gör backslash före dem:<br />

Rm ”Mel \”rotorhead\” Beckman”<br />

12<br />

Om det finns ASCII tecken som inte existerar I EBCDIC som<br />

tilde(~) kan du använda dig av det hexadecimalt. För att ta bort<br />

filen ”time~bandits” skulle du använda:<br />

Rm ”time\x98bandits”<br />

Tip ” 5 Regler för auktorisation<br />

Inskränkningar i auktorisationen i IFS är något som du måste<br />

förstå om du skall få IFS att spela bra <strong>till</strong> traditionella OS/400<br />

applikationer.<br />

IFS:en använder sig av auktorisationsregler som liknar Unixvärlden<br />

och representeras av kollektiva flaggor för filer och<br />

directory kallad ”mode of saccess”. Det finns tre typer av<br />

access: Läs, Skriv och Kör. Kör flaggan har en dubbel funktion.<br />

För en fil indikerar det att den kan köras som ett program; för<br />

ett directory att den kan bli genomsökt.<br />

För det mesta visar OS/400 flaggorna symboliskt som *<br />

värde eller som en trekaraktärers sträng. Till exempel *RX,<br />

detta menas läs och kör <strong>till</strong>åtelse, *X är enbart <strong>till</strong>åtet att exekvera.<br />

Flaggorna lägger beslag en bit i ett binärt nummer som<br />

kan komma fram som ett decimalt värde när man titta på den<br />

på andra system (t. ex. via FTP) Det binära bit possitionen är<br />

1xx för läs, x1x för skriv och xx1 för körflaggan.<br />

Det finns tre olika <strong>till</strong>åtelseflaggor: en för ägaren, en för ägarens<br />

grup och en generell. Du kan översätta det med nyckelorden<br />

*OWNER, *GROUP och *PUBLIC.<br />

Det blir ofta problem när du försöker kopiera från en auktorisationssektor<br />

<strong>till</strong> en annan. Till exempel när du kopierar en<br />

OS/400 datafil <strong>till</strong> IFS med att använda kommandot CPY-<br />

TOSTMF måste du ha *OBJMGT auktorisation för OS/400objektet<br />

bara för att kommandot behöver få tag i source objektets<br />

auktorisationsinformation – ägarnamn och ägaren<br />

auktorisation – för att kunna mappa detta för att skapa en fil i<br />

IFS. Om ett program saknar denna auktorisation kommer<br />

CPYTOSTMF att misslyckas.<br />

IFS kräver *RX <strong>till</strong>åtelse <strong>till</strong> alla directories i sökvägen som<br />

du vill läsa eller manipulera, men kräver bara *X <strong>till</strong>åtelse för<br />

samma sökväg för att navigera <strong>till</strong> directoryt via kommandot<br />

CD eller chdir funktionen. Detta betyder att du kan navigera<br />

<strong>till</strong> ett directory som du sedan finner att du är utan <strong>till</strong>stånd at<br />

läsa, lägga <strong>till</strong> eller ta bort filer i directoryt.<br />

IFS ger <strong>till</strong>åtelse för nya filer på ett ganska konstigt sätt som<br />

många finner förvirrande. IFS sätter ägare och gruppnamn för<br />

det nya objekten samma som ”parent directory” <strong>till</strong> directory<br />

som har det nya objektet och inte <strong>till</strong> directoryt som objektet<br />

ligger i som man kanske skulle kunna tänka sig.. Däremot<br />

kommer *PUBLIC från det närmaste directoryt. Detta <strong>till</strong>stånd<br />

har den sidoeffekten att du kan skapa objekt som du sedan inte<br />

har <strong>till</strong>åtelse <strong>till</strong>.<br />

Om dessa regler hade varit konsistent hade bara varit och<br />

lärt sig hur den uppträder men individuella program kan ha<br />

sina egna egenheter. Till exempel kopierar CPYTOSTMF bara<br />

ägarauktorisation från en source OS/400 objekt. Den kopierar<br />

inte gruppnamn eller auktorisation och sätter dessutom<br />

*PUBLIC <strong>till</strong> 0 (no bits lika med *NONE). Windows och Unix<br />

program accessar ett IFS directory från annat ställe och kan<br />

göra egna saker också.<br />

Meningen med detta tips är att få er att förstå hur IFS fungerar<br />

när det gäller grundläggande <strong>till</strong>åtelseregler och ”default”<br />

och att alltid verifiera att det utförts som du har tänkt dig. De<br />

flesta problem som uppstår med IFS:en har att göra med felaktig<br />

autorisation.<br />

Artikeln kommer från iSeries News<br />

och är publicerad med <strong>till</strong>åtelse från iSeries News.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!