Skip to content

Latest commit

 

History

History
207 lines (149 loc) · 3.79 KB

10-permission-pipe.md

File metadata and controls

207 lines (149 loc) · 3.79 KB
title author institute date theme header-includes
Permission, Link, dan Stream
Praktikum Sistem Operasi
Ilmu Komputer IPB
2019
Dresden
\renewcommand{\figurename}{Gambar}

Permission

Ownership

  • Tiap file memiliki owner
    • hanya superuser yang dapat mengubah kepemilikan file
  • Tiap file memiliki permission
    • mengatur hak akses file tersebut

Permission

  • Tiga jenis user:

    • u: user owner
    • g: group owner
    • o: others
  • Tiga jenis permission:

Permission File Directory
r read list files
w write add or remove files
x execute enter the directory

chown

Mengubah kepemilikan suatu file.

chown [OPTION] OWNER[:GROUP] FILE
  • -R: recursive; ubah direktori seisinya

chmod

Mengubah mode permission suatu file.

chmod [OPTION] MODE FILE...
  • -R: recursive; ubah direktori seisinya

Format chmod

  • Format mode simbolis:
    • [ugoa][+-=][rwx]
  • Format mode oktal:
    • 4 (read) + 2 (write) + 1 (exec)

Contoh chmod

  • r--r--r--
    • chmod 444 FILE
    • chmod a=r FILE
  • rw-rw----
    • chmod 660 FILE
    • chmod ug=rw,o= FILE
  • rwxr-xr-x
    • chmod 755 FILE
    • chmod u=rwx,go=rx FILE

UNIX permissions

Latihan

Link

Hard Link vs SymLink

  1. Hard link
    • mengacu ke id file (inode)
    • perubahan nama file tidak berpengaruh
    • hanya bisa dalam satu partisi
  2. Symbolic link
    • mengacu ke nama file
    • perubahan nama file menyebabkan broken link
    • bisa lintas partisi dan link ke direktori

ln

Membuat link antar-file.

ln [OPTION] TARGET LINK-NAME
  • -s: symbolic; buat symlink

Inode

File Stream

Stream Standar

Setiap proses memiliki tiga stream standar I/O:

  1. standard input (stdin)
  2. standard output (stdout)
  3. standard error (stderr)
            +------------+
            |            |
stdin  ---> |   PROSES   | --->  stdout
            |            |
            +-----+------+
                  |
                  \--->  stderr

Pipe

  • Menyalurkan output proses menjadi input proses selanjutnya
  • Berguna untuk membuat pipeline perintah
                     pipe
+------------+         +        +------------+
|            |         |        |            |
|  PROCESS1  +---------|------->|  PROCESS2  |
|            | stdout  |  stdin |            |
+------------+         +        +------------+
  • Contoh:
    • echo "halo" | rev
    • echo "2 + 5" | bc
    • who | wc -l

Redirect

  • Mengarahkan stream standar proses ke suatu file yang ditentukan oleh pengguna
Karakter Redirect
< stdin
> stdout
>> stdout (append)
2> stderr
  • Contoh:

    date > now.txt 2> err.txt
    rev < now.txt
    rev < now.txt > rev.txt

Pipe