Hosting Online Gratis untuk WorkStation

<Sebelumnya | Konten | Selanjutnya>

3.4.2. Alat-alatnya


3.4.2.1. Perintah chmod


Konsekuensi normal dari penerapan izin file yang ketat, dan terkadang mengganggu, adalah bahwa hak akses perlu diubah karena berbagai alasan. Kami menggunakan chmod perintah untuk melakukan ini, dan akhirnya ke chmod telah menjadi kata kerja bahasa Inggris yang hampir dapat diterima, yang berarti perubahan mode akses file. NS chmod perintah dapat digunakan dengan opsi alfanumerik atau numerik, apa pun yang paling Anda sukai.


Contoh di bawah ini menggunakan opsi alfanumerik untuk memecahkan masalah yang biasa terjadi pada pengguna baru:


asim:~> ./Halo

bash: ./hello: penerjemah buruk: Izin ditolak


asim:~> kucing halo

#! / bin / bash

gema "Halo, Dunia"


asim:~> ls -l halo

-rw-rw-r-- 1 asim asim 32 Jan 15 16:29 halo asim:~> chmod u+x halo

asim:~> ./Halo

Halo Dunia


asim:~> ls -l halo

-rwxrw-r-- 1 asim asim 32 Jan 15 16:29 halo*

asim:~> ./Halo

bash: ./hello: penerjemah buruk: Izin ditolak


asim:~> kucing halo

#! / bin / bash

gema "Halo, Dunia"


asim:~> ls -l halo

-rw-rw-r-- 1 asim asim 32 Jan 15 16:29 halo asim:~> chmod u+x halo

asim:~> ./Halo

Halo Dunia


asim:~> ls -l halo

-rwxrw-r-- 1 asim asim 32 Jan 15 16:29 halo*

The + dan - operator digunakan untuk memberikan atau menolak hak yang diberikan kepada kelompok tertentu. Kombinasi yang dipisahkan dengan koma diperbolehkan. Halaman Info dan manual berisi contoh yang berguna. Ini satu lagi, yang membuat file dari contoh sebelumnya menjadi file pribadi bagi pengguna asim:


asim:~> chmod u+rwx, go-rwx halo


asim:~> ls-l

halo

-rwx------

1 asim

asim

32 Jan 15 16:29 halo*

Jenis masalah yang menghasilkan pesan kesalahan yang mengatakan bahwa izin ditolak di suatu tempat biasanya merupakan masalah dengan hak akses dalam banyak kasus. Juga, komentar seperti, "Ini berhasil kemarin," dan "Ketika saya menjalankan ini sebagai root, ini berfungsi," kemungkinan besar disebabkan oleh izin file yang salah.


Ketika menggunakan chmod dengan argumen numerik, nilai untuk setiap hak akses yang diberikan harus dihitung bersama per grup. Jadi kita mendapatkan angka 3 digit, yang merupakan nilai simbolis untuk pengaturan chmod harus membuat. Tabel berikut mencantumkan kombinasi yang paling umum:


Tabel 3-9. Proteksi file dengan chmod


perintah

Arti

chmod 400 fillet

Untuk melindungi file dari penimpaan yang tidak disengaja.

chmod 500

direktori

Untuk melindungi diri Anda dari penghapusan, penggantian nama, atau pemindahan file secara tidak sengaja dari direktori ini.


chmod 600 fillet

File pribadi hanya dapat diubah oleh pengguna yang memasukkan perintah ini.

chmod 644 fillet

File yang dapat dibaca publik yang hanya dapat diubah oleh pengguna yang menerbitkan.

chmod 660 fillet

Pengguna yang tergabung dalam grup Anda dapat mengubah file ini, yang lain tidak memiliki akses sama sekali.

chmod 700 fillet

Melindungi file dari akses apa pun dari pengguna lain, sementara pengguna yang menerbitkan masih memiliki akses penuh.

chmod 755

direktori

Untuk file yang seharusnya dapat dibaca dan dieksekusi oleh orang lain, tetapi hanya dapat diubah oleh pengguna yang menerbitkan.

chmod 775 fillet

Mode berbagi file standar untuk grup.

chmod 777 fillet

Semua orang dapat melakukan segalanya untuk file ini.

Jika Anda memasukkan angka dengan kurang dari tiga digit sebagai argumen untuk chmod, karakter yang dihilangkan diganti dengan nol mulai dari kiri. Sebenarnya ada digit keempat pada sistem Linux, yang mendahului tiga digit pertama dan mengatur mode akses khusus. Segala sesuatu tentang ini dan banyak lagi terletak di halaman Info.


3.4.2.2. Masuk ke grup lain


Saat Anda mengetik id pada baris perintah, Anda mendapatkan daftar semua grup yang mungkin Anda ikuti, didahului dengan nama pengguna dan ID Anda serta nama grup dan ID yang saat ini terhubung dengan Anda. Namun, pada banyak sistem Linux Anda hanya dapat secara aktif masuk ke satu grup pada satu waktu. Secara default, ini aktif atau kelompok utama adalah salah satu yang Anda dapatkan dari / etc / passwd mengajukan. Bidang keempat dari file ini menyimpan ID grup utama pengguna, yang dicari di / etc / group mengajukan. Sebuah contoh:


asim:~> id

uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)


asim:~> grep asim / etc / passwd

asim:x:501:501: Asim El Baraka:/home/asim:/bin/bash


asim:~> grep 501 / etc / group

asim:x:501:

asim:~> id

uid=501(asim) gid=501(asim) groups=100(users),501(asim),3400(web)


asim:~> grep asim / etc / passwd

asim:x:501:501: Asim El Baraka:/home/asim:/bin/bash


asim:~> grep 501 / etc / group

asim:x:501:

Bidang keempat di baris dari / etc / passwd berisi nilai "501", yang mewakili grup asim dalam contoh di atas. Dari / etc / group kita bisa mendapatkan nama yang cocok dengan ID grup ini. Saat awalnya terhubung ke sistem, ini adalah grup yang asim akan menjadi milik.


Skema grup pribadi pengguna

Untuk memungkinkan lebih banyak fleksibilitas, sebagian besar sistem Linux mengikuti apa yang disebut: skema grup pribadi pengguna, yang menetapkan setiap pengguna terutama ke grupnya sendiri. Grup ini adalah grup yang hanya berisi pengguna tertentu, oleh karena itu dinamakan "grup pribadi". Biasanya grup ini memiliki nama yang sama dengan nama login pengguna, yang dapat sedikit membingungkan.

Terlepas dari grup pribadinya sendiri, pengguna asim bisa juga di grup Pengguna dan jaringan. Karena ini adalah grup sekunder untuk pengguna ini, dia perlu menggunakan baru untuk masuk ke salah satu grup ini (gunakan gpasswd untuk mengatur kata sandi grup terlebih dahulu). Dalam contoh, asim perlu membuat file yang dimiliki oleh grup jaringan.


asim:/var/www/html> baru jaringan


asim:/var/www/html> id

uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)

asim:/var/www/html> baru jaringan


asim:/var/www/html> id

uid=501(asim) gid=3400(web) groups=100(users),501(asim),3400(web)

Ketika asim membuat file baru sekarang, mereka akan berada dalam kepemilikan grup dari grup jaringan bukannya dimiliki oleh grup asim:



asim:/var/www/html> tes sentuh


asim:/var/www/html> ls -l tes

-rw-rw-r-- 1 asim web 0 Jun 10 15:38 tes

asim:/var/www/html> tes sentuh


asim:/var/www/html> ls -l tes

-rw-rw-r-- 1 asim web 0 Jun 10 15:38 tes

Masuk ke grup baru mencegah Anda dari keharusan menggunakan chown (lihat Bagian 3.4.2.4) atau hubungi administrator sistem Anda untuk mengubah kepemilikan untuk Anda.


Lihat halaman manual untuk baru for more information.


3.4.2.3. topeng file


Ketika file baru disimpan di suatu tempat, pertama-tama akan dikenakan prosedur keamanan standar. File tanpa izin tidak ada di Linux. Izin file standar ditentukan oleh masker untuk pembuatan file baru. Nilai topeng ini dapat ditampilkan menggunakan umask perintah:


bert:~> umask

0002

bert:~> umask

0002

Alih-alih menambahkan nilai simbolik satu sama lain, seperti chmod, untuk menghitung izin pada file baru, izin tersebut harus dikurangi dari total kemungkinan hak akses. Dalam contoh di atas, bagaimanapun, kita melihat 4 nilai yang ditampilkan, namun hanya ada 3 kategori izin: pemakai, kelompok dan Lainnya. Nol pertama adalah bagian dari pengaturan atribut file khusus, yang akan kita bahas di Bagian 3.4.2.4 dan Bagian 4.1.6. Mungkin saja nol pertama ini tidak ditampilkan di sistem Anda saat memasuki umask perintah, dan Anda hanya melihat 3 angka yang mewakili topeng pembuatan file default.


Setiap sistem mirip UNIX memiliki fungsi sistem untuk membuat file baru, yang dipanggil setiap kali pengguna menggunakan program yang membuat file baru, misalnya, saat mengunduh file dari Internet, saat menyimpan dokumen teks baru, dan sebagainya. Fungsi ini membuat file baru dan direktori baru. Izin baca, tulis, dan eksekusi penuh diberikan kepada semua orang saat membuat direktori baru. Saat membuat file baru, fungsi ini akan memberikan izin baca dan tulis untuk semua orang, tetapi atur izin eksekusi ke none untuk semua kategori pengguna. Ini, sebelum topeng diterapkan, direktori memiliki izin 777 or rwxrwxrwx, file biasa 666 or RW-RW-RW-.


The umask nilai dikurangi dari izin default ini setelah fungsi membuat file atau direktori baru. Dengan demikian, sebuah direktori akan memiliki izin dari 775 secara default, sebuah file 664, jika nilai topengnya adalah (0) 002. Ini ditunjukkan dalam contoh di bawah ini:


bert:~> mkdir newdir


bert:~> ls -ld direktori baru

drwxrwxr-x 2 bert bert

4096 28 Feb 13:45 direktori baru/

bert:~> mkdir newdir


bert:~> ls -ld direktori baru

drwxrwxr-x 2 bert bert


bert:~> sentuh file baru


bert:~> ls -l file baru

-rw-rw-r-- 1 bert bert

0 Feb 28 13:52 file baru

bert:~> sentuh file baru


bert:~> ls -l file baru

-rw-rw-r-- 1 bert bert


File versus direktori

Direktori mendapat lebih banyak izin secara default: direktori selalu memiliki menjalankan izin. Jika tidak memiliki itu, itu tidak akan dapat diakses. Coba ini dengan chmodding direktori 644!

Jika Anda masuk ke grup lain menggunakan baru perintah, topeng tetap tidak berubah. Jadi, jika diatur ke 002, file dan direktori yang Anda buat saat berada di grup baru juga akan dapat diakses oleh anggota lain dari grup tersebut; Anda tidak harus menggunakan chmod.


The akar pengguna biasanya memiliki izin pembuatan file default yang lebih ketat:


[root@estoban root]#umask 022

[root@estoban root]#umask 022

Default ini diatur ke seluruh sistem dalam file konfigurasi sumber daya shell, misalnya / Etc / bashrc or

/etc/profil. Anda dapat mengubahnya di file konfigurasi shell Anda sendiri, lihat Bab 7 tentang menyesuaikan lingkungan shell Anda.


3.4.2.4. Mengubah kepemilikan pengguna dan grup


Ketika file dimiliki oleh pengguna atau grup yang salah, kesalahan dapat diperbaiki dengan chown (ganti pemilik) dan chgrp (ganti grup) perintah. Mengubah kepemilikan file adalah tugas administratif sistem yang sering terjadi di lingkungan di mana file perlu dibagikan dalam grup. Kedua perintah tersebut sangat fleksibel, karena Anda dapat mengetahuinya dengan menggunakan --membantu .


The chown perintah dapat diterapkan untuk mengubah kepemilikan file oleh pengguna dan grup, sementara chgrp hanya mengubah kepemilikan grup. Tentu saja sistem akan memeriksa apakah pengguna yang mengeluarkan salah satu dari perintah ini memiliki izin yang cukup pada file yang ingin dia ubah.


Untuk hanya mengubah kepemilikan file oleh pengguna, gunakan sintaks ini:


chown pengguna baru fillet


Jika Anda menggunakan titik dua setelah nama pengguna (lihat halaman Info), kepemilikan grup juga akan diubah, ke grup utama pengguna yang mengeluarkan perintah. Pada sistem Linux, setiap pengguna memiliki grupnya sendiri, jadi formulir ini dapat digunakan untuk membuat file menjadi pribadi:


jacky:~> id

uid=1304(jacky) gid=(1304) grup=1304(jacky),2034(pproyek)


jacky:~> ls -l laporan_saya

-rw-rw-r-- 1 proyek jacky 29387 15 Jan 09:34 my_report jacky:~> chown jacky: laporan_saya

jacky:~> chmod atau my_report


jacky:~> ls -l laporan_saya

-rw-rw---- 1 jacky jacky 29387 15 Jan 09:34 my_report

jacky:~> id

uid=1304(jacky) gid=(1304) grup=1304(jacky),2034(pproyek)


jacky:~> ls -l laporan_saya

-rw-rw-r-- 1 proyek jacky 29387 15 Jan 09:34 my_report jacky:~> chown jacky: laporan_saya

jacky:~> chmod atau my_report


jacky:~> ls -l laporan_saya

-rw-rw---- 1 jacky jacky 29387 15 Jan 09:34 my_report

If jacky ingin membagikan file ini, tanpa harus memberikan izin kepada semua orang untuk menulisnya, dia dapat menggunakan

perintah chgrp:


jacky:~> ls -l laporan-20020115.xls

-rw-rw---- 1 jacky jacky 45635 15 Jan 09:35 report-20020115.xls jacky:~> laporan proyek chgrp-20020115.xls

jacky:~> chmod o= laporan-20020115.xls


jacky:~> ls -l laporan-20020115.xls

-rw-rw---- 1 jacky project 45635 15 Jan 09:35 report-20020115.xls

jacky:~> ls -l laporan-20020115.xls

-rw-rw---- 1 jacky jacky 45635 15 Jan 09:35 report-20020115.xls jacky:~> laporan proyek chgrp-20020115.xls

jacky:~> chmod o= laporan-20020115.xls


jacky:~> ls -l laporan-20020115.xls

-rw-rw---- 1 jacky project 45635 15 Jan 09:35 report-20020115.xls

Dengan cara ini, pengguna dalam grup proyek akan dapat bekerja pada file ini. Pengguna yang tidak ada dalam grup ini sama sekali tidak memiliki urusan dengannya.


Kedua chown dan chgrp dapat digunakan untuk mengubah kepemilikan secara rekursif, menggunakan -R pilihan. Dalam hal ini, semua file dan subdirektori yang mendasari direktori tertentu akan menjadi milik pengguna dan/atau grup tertentu.


pembatasan

Pada kebanyakan sistem, penggunaan chown dan chgrp perintah dibatasi untuk pengguna yang tidak memiliki hak istimewa. Jika Anda bukan administrator sistem, Anda tidak dapat mengubah kepemilikan pengguna atau grup untuk alasan keamanan. Jika penggunaan perintah ini tidak dibatasi, pengguna jahat dapat menetapkan kepemilikan file ke pengguna dan/atau grup lain dan mengubah perilaku lingkungan pengguna tersebut dan bahkan menyebabkan kerusakan pada file pengguna lain.


3.4.2.5. Mode khusus


Agar admin sistem tidak direpotkan memecahkan masalah izin sepanjang waktu, hak akses khusus dapat diberikan ke seluruh direktori, atau ke program terpisah. Ada tiga mode khusus:


• Modus bit tetap: Setelah menjalankan suatu pekerjaan, perintah disimpan dalam memori sistem. Awalnya ini adalah fitur yang banyak digunakan untuk menghemat memori: pekerjaan besar dimuat ke dalam memori hanya sekali. Tetapi hari ini memori tidak mahal dan ada teknik yang lebih baik untuk mengelolanya, sehingga tidak digunakan lagi untuk mengoptimalkan kemampuan pada satu file. Ketika diterapkan ke seluruh direktori, bagaimanapun, bit yang lengket memiliki arti yang berbeda. Dalam hal ini, pengguna hanya dapat mengubah file di direktori ini jika dia adalah pengguna pemilik file atau jika file memiliki izin yang sesuai. Fitur ini digunakan pada direktori seperti

/ var / tmp, yang harus dapat diakses oleh semua orang, tetapi tidak sesuai bagi pengguna untuk mengubah atau menghapus data satu sama lain. Bit lengket ditunjukkan oleh t di akhir bidang izin file:


tandai:~> ls -ld /var/tmp

drwxrwxrwt 19 akar akar

8192 16 Jan 10:37 /var/tmp/

tandai:~> ls -ld /var/tmp

drwxrwxrwt 19 akar akar

Bit lengket diatur menggunakan perintah chmod o+t direktori. Asal bersejarah "t" ada di UNIX' simpan akses teks fitur.

SUID (mengatur ID pengguna) dan SGID (mengatur ID grup): diwakili oleh karakter s di bidang izin pengguna atau grup. Ketika mode ini disetel pada file yang dapat dieksekusi, mode ini akan berjalan dengan izin pengguna dan grup pada file tersebut alih-alih dengan izin pengguna yang mengeluarkan perintah, sehingga memberikan akses ke sumber daya sistem. Kita akan membahas ini lebih lanjut di Bab 4.

• SGID (mengatur ID grup) pada direktori: dalam kasus khusus ini setiap file yang dibuat dalam direktori akan memiliki pemilik grup yang sama dengan direktori itu sendiri (sementara perilaku normalnya adalah file baru dimiliki oleh pengguna yang membuatnya). Dengan cara ini, pengguna tidak perlu khawatir tentang kepemilikan file saat berbagi direktori:


mimi:~> ls -ld /opt/docs

drwxrws--- 4 pengguna root

4096 25 Juli 2001 dokumen/

mimi:~> ls -ld /opt/docs

drwxrws--- 4 pengguna root


mimi:~> ls -l /opt/docs

-rw-rw---- 1 mimi pengguna

345672 30 Agustus 2001-Council.doc

mimi:~> ls -l /opt/docs

-rw-rw---- 1 mimi pengguna

Ini adalah cara standar untuk berbagi file di UNIX.


File yang ada dibiarkan tidak berubah!

File yang sedang dipindahkan ke direktori SGID tetapi dibuat di tempat lain tetap mempertahankan pengguna dan pemilik grup aslinya. Ini mungkin membingungkan.



Komputasi Awan OS Teratas di OnWorks: