Välkommen till - Data3
Välkommen till - Data3
Välkommen till - Data3
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.