Difference between revisions of "Chmod"

From OnnoWiki
Jump to navigation Jump to search
(New page: Sumber: http://www.washington.edu/computing/unix/permissions.html How to Set File Permissions Using `chmod' Files and directories in Unix may have three types of permissions: read (`r'),...)
 
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Sumber: http://www.washington.edu/computing/unix/permissions.html
 
Sumber: http://www.washington.edu/computing/unix/permissions.html
  
How to Set File Permissions Using `chmod'
 
  
Files and directories in Unix may have three types of permissions: read (`r'), write (`w'), and execute (`x'). Each permission may be `on' or `off' for each of three categories of users: the file or directory owner; other people in the same group as the owner; and all others.
+
File dan directory di Unix mempunyai tiga (3) tipe ijin: read ("r"), write ("w"), dan execute ("x"). Setiap permission dapat di "on" atau "off" untuk masing-masing dari tiga (3) kategori dari pengguna:
Files
 
  
To determine the mode (or permission settings) of a particular file, use the command `ls -lg filename'. This command will produce a message similar to the following:
+
* owner dari file / directory
 +
* user lain dalam group yang sama dengan owner
 +
* semua yang lain (user se dunia)
  
-rwxr-x--x 1 owner group 2300 Jul 14 14:38 filename
+
==File==
  
The string of 10 characters on the left shows the mode. The initial character ('-' in this case) indicates what type of file it is. A '-' indicates that the file is a plain file. The character 'd' means it is a directory. Characters 2-4 are, respectively, `r', `w', or `x' if the corresponding permission is turned on for the owner or `-' if the permission is turned off. Characters 5-7 similarly show the permissions for the group; characters 8-10 for all others. The second string shows the number of links that exist to the file. The third string identifies the owner of the file and the fourth string tells what group the owner of the file is in.
+
Untuk mengetahui mode / permission / ijin dari sebuah file dapat menggunakan
  
To change the mode of a file, use the chmod command. The general form is
+
ls -lg filename
  
      chmod X@Y file1 file2 ...
+
Perintah ini akan membuat message kira-kira,
  
where: X is any combination of the letters `u' (for owner), `g' (for group), `o' (for others), `a' (for all; that is, for `ugo'); @ is either `+' to add permissions, `-' to remove permissions, or `=' to assign permissions absolutely; and Y is any combination of `r', `w', `x'. Following are some examples:
+
-rwxr-x--x 1 owner    2300 Jul 14 14:38 filename
  
    chmod u=rx file        (Give the owner rx permissions, not w)
+
Penjelasan / cara membacanya:
    chmod go-rwx file      (Deny rwx permission for group, others)
 
    chmod g+w file        (Give write permission to the group)
 
    chmod a+x file1 file2  (Give execute permission to everybody)
 
    chmod g+rx,o+x file    (OK to combine like this with a comma)
 
  
Directories
+
* 10 karakter di kiri, menunjukan mode / permission.
 +
* "-" karakter di paling awal menunjukan tipe file. "-" menunjukan file biasa. "d" menunjukan sebuah directory.
 +
* karakter 2-4 menunjukan permission bagi owner, "r", "w" atau "x" menunjukan ijin yang bagi owner. "-" jika tidak diberi permission.
 +
* karakter 5-7 menunjukan permission bagi group.
 +
* karakter 8-10 menunjukan permission bagi yang lain (seluruh dunia).
 +
* string ke dua menunjukan banyaknya link ke file tersebut
 +
* string ke tiga menunjukan owner dari file
  
The permission scheme described above also applies to directories. For a directory, whoever has `read' permission can list files using the ls command (and thus discover what files are there); whoever has `write' permission can create and delete files in that directory; whoever has execute permission can access a file or subdirectory of known name. To find out the mode of a directory:
 
  
      ls -dl dir ...  Show permissions for
+
Untuk mengubah mode dari sebuah file dapat menggunakan chmod, secara umum adalah,
                      the named directory(ies)
 
  
      ls -al dir ... Long list of all files
+
chmod X@Y file1 file2 ...
                      in named directory(ies)
 
                      (including those with names
 
                      starting in `.')
 
  
If no directories are specified, the listing is for all files in the current directory. The output will look something like:
+
dimana
 +
* X adalah huruf kombinasi dari "u" (untuk owner), "g" (untuk group), "o" (untuk others), "a" (untuk all; yaitu untuk "ugo")
 +
* @ bisa berisi "+" untuk menambahkan permission, "-" untuk membuang permission, atau "=" untuk mengalokasikan absolut permission
 +
* Y adalah kombinasi dari "r", "w", "x".
  
      drwx------12 fred        592 Jul 11 13:46 .
+
Contoh:
      drwxr-xr-x24 root      1424 Jul 10 13:07 ..
 
  
The initial `d' in the 10-character mode string indicates that the file is a directory. The file name `.' always refers to the current directory; the file name `..' always refers to the parent of the current directory. Thus, this output shows the permissions for the current directory and its parent.
+
chmod u=rx file        (Beri owner rx permission, tapi tidak w)
More Information
+
chmod go-rwx file      (Buang rwx permission untuk group, dan others)
 +
chmod g+w file         (Beri write permission untuk group)
 +
chmod a+x file1 file2  (Beri execute permission ke everybody)
 +
chmod g+rx,o+x file   (OK untuk combine menggunakan koma)
  
For more information, including octal specification of permissions, refer to the Unix User's Manual pages for chmod(1) and ls(1). To view these online, enter
+
==Directory==
 +
Skema izin yang dijelaskan di atas juga berlaku untuk direktori. Untuk sebuah direktori,
  
        man chmod
+
* siapa pun yang memiliki izin `read' dapat melihat daftar file menggunakan perintah ls (dan dengan demikian menemukan file apa yang ada di sana)
 +
* siapa pun yang memiliki izin `write' dapat membuat dan menghapus file dalam direktori itu;
 +
* Siapa pun yang telah melakukan izin bisa mengakses file atau subdirektori dari nama yang dikenal.
  
        man ls
+
Untuk mengetahui mode sebuah directory,
  
A variable called `umask' is used as a permission mask for all newly created files and directories. Umask is a 3 digit octal number. The default umask is 022 = 000 010 010 binary. The two one bits prevent "group" and "other" write permission. So, a newly created file will have rwx permission for the owner, and rx permission for group and others. A umask of 077 = 000 111 111 would cause new files to have no permissions set for group and others. In order to use a umask other than the default, you should include the line `umask num' (where num is an octal number) in your .cshrc file. For more about umask, enter
+
ls -dl dir  - Perlihatkan permission untuk dir directory
 +
ls -al dir  - Perlihatkan daftar panjang dari semua file yang ada di dir (directory), termasuk nama yang dimulai dengan '.'
  
      man umask
+
Jika tidak ada direktori yang ditentukan, daftar untuk semua file dalam direktori saat ini. Outputnya akan terlihat seperti:
  
An Example - Fred and Joe Want to Share Files
+
drwx------12 fred        592 Jul 11 13:46 .
 +
drwxr-xr-x24 root      1424 Jul 10 13:07 ..
  
There may be times that you want to copy a file from someone else's directory. How can you access that directory and copy the file? The following scenario describes the process.
+
Awal `d 'dalam string mode 10 karakter menunjukkan bahwa file adalah sebuah direktori.
 +
Nama file `. ' Selalu mengacu pada direktori saat ini;
 +
Nama file `.. 'selalu mengacu pada induk dari direktori saat ini.
  
Suppose that user `joe' wants to copy the file `prog.f' from user `fred.' At the Unix prompt, Fred should type
+
Dengan demikian, output ini menunjukkan hak akses untuk direktori saat ini dan induknya.
  
        chmod go+x ~
 
  
This command changes the mode of Fred's home directory (represented by the ~), giving permission to all users to get to files in that directory. Therefore, Joe can access any file, of which he knows the name, in Fred's home directory. Fred has told Joe that the file he wants is called `prog.f,' so now Joe types
 
  
      cp ~fred/prog.f prog.f
+
==umask==
  
If Joe had an existing file with the name `prog.f,' which he did not want overwritten by Fred's file, he could instead type
+
Variable "umask" digunakan sebagai permission mask untuk semua file dan directory yang baru dibuat. umask adalah 3 digit octal.
  
      cp ~fred/prog.f prog2.f
+
Default mask adalah 022 = 000 010 010 binary. dua 1 bit tersebut akan menghalangi "group" dan "other" untuk write permission. Oleh karena itu, file yang baru akan mempunyai ijin
  
If Joe receives a message from the system saying that he is denied permission to copy the file, Fred should make the file readable by others, changing its mode by entering
+
rwx r-x r-x (user group other)
  
      chmod go+r prog.f
+
umask 077 = 000 111 111 akan menyebabkan no permissions untuk group and others, atau
  
If Joe wanted to copy several files from Fred's home directory, for example `prog.a,' `prog.b,' `prog.c,' and to give these files the same names in his own home directory, he would type
+
rwx --- ---
  
      cp ~fred/prog.a ~fred/prog.b ~fred/prog.c .
+
Untuk mengunakan umask selain default, kita harus memasukan kalimat
  
The period (.) at the end of the command line specifies that the files are to be copied into Joe's current directory (which in this case is his home directory).
+
umask num (dimana num adalah octal number)
  
Once Joe has copied the files, Fred will probably want to change the mode of his home directory so that it is no longer accessible to the world at large. To do this, Fred should type
+
di .cshrc file.
  
      chmod go-rx ~
+
Untuk mengetahui lebih  lanjut tentang umask, baca-baca
  
As you can see, a + sign used with `chmod' adds accessibility and a - sign takes it away. It is possible to use these features on directories of all levels and all files within those directories, individually or as a group. For detailed online information about the `chmod' command, enter
+
man umask
  
        man chmod
+
==chmod dengan angka==
 +
 
 +
Sampai saat ini, kami telah mengatur mode dengan huruf. Ternyata kita juga bisa mengatur mode numerik. Begini cara kerjanya:
 +
 
 +
* Tuliskan izin yang anda inginkan untuk dimiliki file tersebut. Agar hidup anda lebih mudah, tulislah izin yang dikelompokkan menjadi tiga set huruf. Sebagai contoh, katakanlah anda ingin file info.sh memiliki izin ini
 +
 
 +
- rwx r-x r-- info.sh
 +
 
 +
* Di bawah setiap huruf, tuliskan angka 1; di bawah setiap "-" tulis angka nol. Abaikan "-" di awal yang memberitahu anda apakah itu file atau direktori. Ini memberi anda tiga bilangan biner.
 +
 
 +
- rwx r-x r-- info.sh
 +
  111 101 100
 +
 
 +
Sekarang ubah setiap tiga digit menjadi satu digit dengan menggunakan tabel ini:
 +
 
 +
Binary Menjadi
 +
000 0
 +
001 1
 +
010 2
 +
011 3
 +
100 4
 +
101 5
 +
110 6
 +
111 7
 +
 
 +
Dari contoh kita, 111 101 100 diterjemahkan ke nomor 754.
 +
 
 +
Sekarang gunakan nomor itu dalam perintah chmod untuk mengatur izin yang anda inginkan pada file tersebut:
 +
 
 +
chmod 754 info.sh
 +
 
 +
==Contoh==
 +
 
 +
Kadang kita perlu mengcopy sebuah file dari directory seseorang. Bagaimana caranya agar kita dapat mengakses directory tersebut?
 +
 
 +
Misalnya user 'joe' ingin mengcopy file 'prog.f' dari user 'fred'
 +
Di CLI, Fred perlu mengetik
 +
 
 +
chmod go+x ~
 +
 
 +
Perintah ini mengubah mode home directory Fred (direpresentasikan dengan ~), memberikan ijin ke semua user untuk mengambil file di directory tersebut. Oleh karena itu, Joe dapat mengakses semua file, yang dia ketahui namanya, di home directory Fred. Fred telah memberitahukan Joe bahwa file yang di inginkannya adalah 'prog.f', oleh karena itu Joe dapat mengetik
 +
 
 +
cp ~fred/prog.f prog.f
 +
 
 +
Jika Joe sudah ada file dengan nama 'prog.f', agar tidak di timpa, dia dapat menulis,
 +
 
 +
cp ~fred/prog.f prog2.f
 +
 
 +
Jika Joe menerima error message dari system saat mengakses karena 'permission deny', Fred harus membuat file tersebut bisa di baca oleh yang lain, dengan cara,
 +
 
 +
chmod go+r prog.f
 +
 
 +
Jika Joe ingin membuat beberpa copy file dari home directory Fred, contoh 'prog.a', 'prog.b', 'prog.c', dan memberikan nama yang sama di hpme directorynya, Fred dapat mengetik,
 +
 
 +
cp ~fred/prog.a ~fred/prog.b ~fred/prog.c .
 +
 
 +
Titik (.) di akhor perintah memberitahukan bahwa file tersebut di copykan ke directory tempat dia berada sekarang.
 +
 
 +
Setelah Joe selesai mengcopy semua file, Fred perlu mengubah mode dari home directory-nya supaya tidak bisa akses lagi. Untuk itu Fred perlu mengetik,
 +
 
 +
chmod go-rx ~
 +
 
 +
Tanda - di chmod akan membuang akses.
 +
Tanpa + di chmod akan menambahkan / memberikan akses.
 +
Untuk keterangan lebih lanjut tentang chmod bisa di baca di,
 +
 
 +
man chmod
 +
 
 +
==Informasi Lanjut==
 +
 
 +
Untuk membaca lebih lanjut bisa menggunakan man / user manual
 +
 
 +
man chmod
 +
man ls
  
  

Latest revision as of 02:55, 2 June 2020

Sumber: http://www.washington.edu/computing/unix/permissions.html


File dan directory di Unix mempunyai tiga (3) tipe ijin: read ("r"), write ("w"), dan execute ("x"). Setiap permission dapat di "on" atau "off" untuk masing-masing dari tiga (3) kategori dari pengguna:

  • owner dari file / directory
  • user lain dalam group yang sama dengan owner
  • semua yang lain (user se dunia)

File

Untuk mengetahui mode / permission / ijin dari sebuah file dapat menggunakan

ls -lg filename

Perintah ini akan membuat message kira-kira,

-rwxr-x--x 1 owner    2300 Jul 14 14:38 filename

Penjelasan / cara membacanya:

  • 10 karakter di kiri, menunjukan mode / permission.
  • "-" karakter di paling awal menunjukan tipe file. "-" menunjukan file biasa. "d" menunjukan sebuah directory.
  • karakter 2-4 menunjukan permission bagi owner, "r", "w" atau "x" menunjukan ijin yang bagi owner. "-" jika tidak diberi permission.
  • karakter 5-7 menunjukan permission bagi group.
  • karakter 8-10 menunjukan permission bagi yang lain (seluruh dunia).
  • string ke dua menunjukan banyaknya link ke file tersebut
  • string ke tiga menunjukan owner dari file


Untuk mengubah mode dari sebuah file dapat menggunakan chmod, secara umum adalah,

chmod X@Y file1 file2 ...

dimana

  • X adalah huruf kombinasi dari "u" (untuk owner), "g" (untuk group), "o" (untuk others), "a" (untuk all; yaitu untuk "ugo")
  • @ bisa berisi "+" untuk menambahkan permission, "-" untuk membuang permission, atau "=" untuk mengalokasikan absolut permission
  • Y adalah kombinasi dari "r", "w", "x".

Contoh:

chmod u=rx file        (Beri owner rx permission, tapi tidak w)
chmod go-rwx file      (Buang rwx permission untuk group, dan others)
chmod g+w file         (Beri write permission untuk group)
chmod a+x file1 file2  (Beri execute permission ke everybody)
chmod g+rx,o+x file    (OK untuk combine menggunakan koma)

Directory

Skema izin yang dijelaskan di atas juga berlaku untuk direktori. Untuk sebuah direktori,

  • siapa pun yang memiliki izin `read' dapat melihat daftar file menggunakan perintah ls (dan dengan demikian menemukan file apa yang ada di sana)
  • siapa pun yang memiliki izin `write' dapat membuat dan menghapus file dalam direktori itu;
  • Siapa pun yang telah melakukan izin bisa mengakses file atau subdirektori dari nama yang dikenal.

Untuk mengetahui mode sebuah directory,

ls -dl dir   - Perlihatkan permission untuk dir directory
ls -al dir   - Perlihatkan daftar panjang dari semua file yang ada di dir (directory), termasuk nama yang dimulai dengan '.'

Jika tidak ada direktori yang ditentukan, daftar untuk semua file dalam direktori saat ini. Outputnya akan terlihat seperti:

drwx------12 fred        592 Jul 11 13:46 .
drwxr-xr-x24 root       1424 Jul 10 13:07 ..

Awal `d 'dalam string mode 10 karakter menunjukkan bahwa file adalah sebuah direktori. Nama file `. ' Selalu mengacu pada direktori saat ini; Nama file `.. 'selalu mengacu pada induk dari direktori saat ini.

Dengan demikian, output ini menunjukkan hak akses untuk direktori saat ini dan induknya.


umask

Variable "umask" digunakan sebagai permission mask untuk semua file dan directory yang baru dibuat. umask adalah 3 digit octal.

Default mask adalah 022 = 000 010 010 binary. dua 1 bit tersebut akan menghalangi "group" dan "other" untuk write permission. Oleh karena itu, file yang baru akan mempunyai ijin

rwx r-x r-x (user group other)

umask 077 = 000 111 111 akan menyebabkan no permissions untuk group and others, atau

rwx --- ---

Untuk mengunakan umask selain default, kita harus memasukan kalimat

umask num (dimana num adalah octal number)

di .cshrc file.

Untuk mengetahui lebih lanjut tentang umask, baca-baca

man umask

chmod dengan angka

Sampai saat ini, kami telah mengatur mode dengan huruf. Ternyata kita juga bisa mengatur mode numerik. Begini cara kerjanya:

  • Tuliskan izin yang anda inginkan untuk dimiliki file tersebut. Agar hidup anda lebih mudah, tulislah izin yang dikelompokkan menjadi tiga set huruf. Sebagai contoh, katakanlah anda ingin file info.sh memiliki izin ini
- rwx r-x r-- info.sh
  • Di bawah setiap huruf, tuliskan angka 1; di bawah setiap "-" tulis angka nol. Abaikan "-" di awal yang memberitahu anda apakah itu file atau direktori. Ini memberi anda tiga bilangan biner.
- rwx r-x r-- info.sh
  111 101 100

Sekarang ubah setiap tiga digit menjadi satu digit dengan menggunakan tabel ini:

Binary	Menjadi
000	0
001	1
010	2
011	3
100	4
101	5
110	6
111	7

Dari contoh kita, 111 101 100 diterjemahkan ke nomor 754.

Sekarang gunakan nomor itu dalam perintah chmod untuk mengatur izin yang anda inginkan pada file tersebut:

chmod 754 info.sh

Contoh

Kadang kita perlu mengcopy sebuah file dari directory seseorang. Bagaimana caranya agar kita dapat mengakses directory tersebut?

Misalnya user 'joe' ingin mengcopy file 'prog.f' dari user 'fred' Di CLI, Fred perlu mengetik

chmod go+x ~

Perintah ini mengubah mode home directory Fred (direpresentasikan dengan ~), memberikan ijin ke semua user untuk mengambil file di directory tersebut. Oleh karena itu, Joe dapat mengakses semua file, yang dia ketahui namanya, di home directory Fred. Fred telah memberitahukan Joe bahwa file yang di inginkannya adalah 'prog.f', oleh karena itu Joe dapat mengetik

cp ~fred/prog.f prog.f

Jika Joe sudah ada file dengan nama 'prog.f', agar tidak di timpa, dia dapat menulis,

cp ~fred/prog.f prog2.f

Jika Joe menerima error message dari system saat mengakses karena 'permission deny', Fred harus membuat file tersebut bisa di baca oleh yang lain, dengan cara,

chmod go+r prog.f

Jika Joe ingin membuat beberpa copy file dari home directory Fred, contoh 'prog.a', 'prog.b', 'prog.c', dan memberikan nama yang sama di hpme directorynya, Fred dapat mengetik,

cp ~fred/prog.a ~fred/prog.b ~fred/prog.c .

Titik (.) di akhor perintah memberitahukan bahwa file tersebut di copykan ke directory tempat dia berada sekarang.

Setelah Joe selesai mengcopy semua file, Fred perlu mengubah mode dari home directory-nya supaya tidak bisa akses lagi. Untuk itu Fred perlu mengetik,

chmod go-rx ~

Tanda - di chmod akan membuang akses. Tanpa + di chmod akan menambahkan / memberikan akses. Untuk keterangan lebih lanjut tentang chmod bisa di baca di,

man chmod

Informasi Lanjut

Untuk membaca lebih lanjut bisa menggunakan man / user manual

man chmod
man ls


Referensi