Monday, 19 November 2012
Referensi Izin Akses Di Linux
IZIN AKSES DI LINUX
Pengantar
Izin berkas Linux akses yang digunakan untuk mengontrol siapa yang
dapat membaca, menulis dan mengeksekusi file tertentu. Ini merupakan pertimbangan penting
karena sifat multi-user sistem Linux dan sebagai mekanisme keamanan untuk
melindungi file sistem penting baik dari pengguna individu dan dari perangkat
lunak berbahaya atau virus. Izin
akses diimplementasikan pada tingkat file dengan izin yang tepat ditetapkan
berdasarkan pemilik berkas, pemilik grup dari file dan akses di seluruh dunia. Pada Linux, direktori juga file dan
oleh karena itu hak akses file diterapkan pada tingkat direktori juga, meskipun
beberapa perizinan yang diterapkan berbeda tergantung pada apakah file tersebut
merupakan file biasa atau direktori.
Sebagai perangkat juga direpresentasikan sebagai file maka
perintah izin yang sama dapat diterapkan untuk mengakses ke sumber daya
tertentu atau perangkat eksternal.
Mekanisme Kelompok menyediakan setiap pengguna dengan kelompok
standar (juga dikenal sebagai kelompok primer), tetapi kemudian memungkinkan
pengguna untuk ditambahkan ke kelompok lain. Hal
ini memungkinkan pengguna untuk diberikan sesuai tingkat akses dengan
menciptakan sebuah kelompok untuk masing-masing departemen atau fungsi pekerjaan,
membatasi akses ke kelompok-kelompok.
Kelompok default untuk setiap pengguna ditentukan oleh set-up
sistem. Hal ini biasanya
dikonfigurasi untuk membuat grup dengan nama yang sama dengan nama pengguna
yang hanya pengguna yang adalah anggota. Ini
adalah default yang paling aman karena berarti bahwa tidak ada pengguna lain
dengan akses standar. Alternatif
adalah untuk memiliki kelompok standar bahwa semua pengguna memiliki ketika
dibuat.
Desain izin akses memungkinkan baik jumlah fleksibilitas dalam apa
hak akses dapat diterapkan. Sebagai
contoh adalah mungkin untuk membatasi akses ke pemilik, membuat file dapat
dilihat secara publik tetapi hanya dapat diedit oleh pemilik dan juga untuk
menerapkan hak akses yang berbeda berdasarkan kelompok (misalnya anggota
departemen yang sama). Ada juga
juga fitur yang juga dapat digunakan untuk memberikan izin seolah-olah user
lain (SUID).Jika sesuatu di luar hak akses file standar diperlukan maka daftar
kontrol akses dapat digunakan sebagai pengganti (ACL). Penggunaan ACL kurang umum digunakan
dan mereka tidak dibahas secara rinci di sini.
Berbagai jenis pengguna
Username vs userid dan nama grup
vs groupid
Untuk sebagian besar dari dokumen ini saya akan mengacu pada
pengguna dan kelompok dengan nama mereka. Ini
adalah cara paling umum dan user-friendly dari memahami hak akses file. Ini Namun perlu dicatat bahwa di balik
layar ini disimpan sebagai userids numerik (uid) atau groupids (gid). Terjemahan dari uid / gid ditangani
oleh sistem operasi dan referensi yang tersimpan pada disk adalah id numerik. Hal ini biasanya tidak penting pada
sistem tunggal, tetapi harus dipertimbangkan ketika mentransfer file
menggunakan alat pengarsipan (misalnya tar) atau ketika memindahkan disk dari
satu sistem ke sistem lain. Jika
username / groupnames memiliki uid numerik yang berbeda / gid maka akses dapat
diberikan di mana tidak diharapkan, atau ditolak di mana diperlukan.
Terjemahan antara username dan userid (uid) disimpan dalam file /
etc / passwd, dan terjemahan dari groupname ke groupid (gid) ada dalam file /
etc / group. / Etc / passwd juga
termasuk pengguna utama (default) kelompok dan / etc / group file termasuk
semua pengguna yang merupakan anggota dari setiap kelompok (meskipun tidak
daftar pengguna mana yang adalah kelompok utama mereka).
Root (superuser)
Ada pengguna khusus pada sistem masing-masing dengan akses tak
terbatas ke sistem. Pengguna ini
memiliki username dan groupname akar dan uid dan gid numerik dari 0. Pengguna ini diperlukan untuk
memungkinkan tindakan administratif yang tidak diberikan di bawah pengguna lain
dan untuk daemon tertentu yang memiliki akses penuh ke sistem. Pengguna ini didefinisikan oleh uid -
sehingga superusers beberapa dapat dibuat dengan membuat beberapa entri dengan
uid ini. Hal ini tidak dianjurkan
karena menyediakan potensi masalah keamanan (lihat sudo bawah untuk metode yang
disarankan menyediakan akses root untuk pengguna normal).
Tergantung pada setup dan apakah secara fisik pada komputer atau
mengaksesnya dari jarak jauh mungkin atau tidak mungkin untuk login secara
langsung sebagai root. Hal ini
sangat dianjurkan untuk tidak login sebagai root kecuali benar-benar diperlukan
karena risiko informasi penting disengaja menghapus.
Su dan Sudo
Ketika log on ke komputer Linux Anda biasanya akan memiliki hak
pengguna tingkat. Untuk
mengangkat ke akses root pengguna su atau sudo perintah yang digunakan. Ini benar-benar dapat digunakan untuk
beralih ke setiap pengguna, namun hal ini paling sering digunakan ketika hak
akses root diperlukan. The su
perintah sudo dan dijalankan pada baris perintah, tetapi ada versi grafis yang
disebut gksudo. Ketika akses
diperlukan dalam aplikasi grafis maka biasanya akan set-up agar meminta
otentikasi yang sesuai secara otomatis. Atau
kadang-kadang mungkin untuk klik kanan pada ikon aplikasi dan pilih "Run
as administrator" atau "Run as root".
Su - Perintah su biasanya digunakan di mana
pengguna tahu password dari pengguna bahwa mereka ingin dijalankan sebagai. Secara default ini akan beralih ke
user root dan perintah sering (salah) disebut sebagai perintah superuser. Jika nama pengguna yang dimasukkan
pada baris perintah-maka akan berubah menjadi pengguna bahwa alih-alih. Jika Anda sudah menjalankan sebagai
root (mungkin melalui su sudah) maka tidak akan menanyakan password.
The '-' (tanda hubung) dapat digunakan untuk juga mengambil
pengaturan pengguna sebagai (misalnya jalur pencarian) serta hak istimewa.
Sintaks perintah adalah:
su [-] [username]
Screenshot berikut menunjukkan pengguna beralih ke superuser. Perhatikan bahwa password root yang
dimasukkan, bukan password pengguna.
stewart @ linuxserver1: ~ $ su -
Sandi:
root @ linuxserver1: ~ #
Sudo - Perintah sudo dapat digunakan sebagai
alternatif untuk perintah su, dan pada beberapa sistem yang digunakan secara
eksklusif (misalnya Ubuntu). Perintah
sudo bisa jauh lebih fleksibel daripada su, tergantung pada bagaimana
dikonfigurasi. Misalnya sudo
dapat dikonfigurasi untuk membatasi hak administrator untuk perintah tertentu
dan bahkan dapat dikonfigurasi sehingga pengguna tidak diperlukan untuk
memasukkan password saat menggunakan sudo (pemikiran yang cermat perlu
dilakukan untuk keamanan aplikasi dan apakah tanpa pengawasan sesi dapat
memungkinkan seseorang untuk mendapatkan izin akses). Dimana permintaan sudo pengguna untuk
memasukkan password ini biasanya password mereka sendiri daripada password root
(Ubuntu dan beberapa distro lain mengambil ini lebih lanjut dengan tidak
memiliki password root yang berarti bahwa akses root hanya dapat diperoleh
melalui sudo).
Setelah pengguna telah dikonfirmasi sendiri menggunakan sudo
biasanya akan memiliki periode waktu di mana sudo dapat dijalankan tanpa harus
memasukkan kembali password. Hal
ini sangat berguna bila digunakan dengan fitur lain dari sudo yang memungkinkan
perintah untuk dijalankan secara langsung daripada mengubah izin dari sesi
shell. Misalnya contoh berikut
ini sering digunakan pada Ubuntu untuk menginstal aplikasi baru:
sudo apt-get install
ApplicationName
Jika Anda ingin menjalankan sesi shell sebaliknya maka baik shell
harus dijalankan pada misalnya baris perintah
sudo bash
atau s-saklar yang digunakan.
sudo-s
Pada contoh di bawah pengguna diperlukan untuk mengotentikasi
pertama kalinya kemudian jalankan sudo, tetapi kemudian dapat menjalankan
perintah berikutnya tanpa harus kembali mengotentikasi.Password yang diberikan
adalah password pengguna sendiri dan bukan password root.
stewart @ linuxserver1: ~ $ sudo ls / etc / security
[Sudo] password untuk stewart:
access.conf limits.conf namespace.init pam_env.conf time.conf
group.conf opasswd namespace.conf sepermit.conf
stewart @ linuxserver1: ~ $ sudo ls / etc / security
access.conf limits.conf namespace.init pam_env.conf time.conf
group.conf opasswd namespace.conf sepermit.conf
stewart @ linuxserver1: ~ $
Catatan Saya telah membuat teks tebal dan menambahkan ruang kosong
untuk menunjukkan perintah yang sama yang dijalankan dua kali. Password diminta saat perintah pertama
kali dijalankan, tetapi tidak pada berjalan berikutnya menggunakan perintah
sudo karena akan ingat otentikasi baru-baru ini.
Untuk menjalankan perintah sebagai user selain root-u username
switch digunakan sebelum perintah.
Konfigurasi sudo terkandung dalam file / etc / sudoers.
Berikut menunjukkan beberapa opsi konfigurasi sudoers. Perhatikan bahwa kelompok admin atau
roda biasanya digunakan untuk membatasi siapa yang dapat menjalankan sudo tapi
ini adalah konvensi populer daripada aturan. Hal
ini dimungkinkan untuk menggunakan groupname apapun, atau sudo dapat
dikonfigurasi dengan daftar pengguna yang berwenang dalam file sudoers.
Sebuah keuntungan lebih lanjut dari sudo adalah bahwa akses user
login yang mungkin diperlukan sebagai fitur keamanan pada server dengan
beberapa adminstrators. Untuk
keamanan dan konfigurasi pilihan sudo biasanya lebih disukai daripada su.
Ekstrak berikut ini memungkinkan root atau anggota kelompok admin
untuk su ke pengguna lain.
# Pengguna keistimewaan spesifikasi
akar ALL = (ALL) ALL
# Anggota kelompok admin dapat mendapatkan hak root
% Admin ALL = (ALL) ALL
Pengguna izin pada file
Setelah membahas berbagai jenis pengguna dan kelompok ini kemudian
diterapkan ke file berdasarkan pada hak akses file. Ini tidak hanya berlaku untuk file
data, tetapi dapat diterapkan ke direktori untuk menentukan siapa yang dapat
mengubah ke direktori tertentu dan perintah untuk membatasi siapa yang bisa
menjalankan perintah itu.
Struktur File (inode)
Untuk memahami cara yang izin bekerja itu sering berguna untuk
memahami bagaimana hak akses file yang disimpan pada disk. Ini mendapat sedikit teknis jadi jika
Anda tidak merasa siap untuk ini merasa bebas untuk melompat ke bagian
berikutnya pada hak akses file.
Setiap file pada disk memiliki dua bagian. The inode yang menggambarkan file dan
blok data yang benar-benar memegang data. Hak
akses file yang terkandung dalam inode untuk file.
Informasi berikut ini disimpan dalam inode ini:
Ukuran file
Permissions
Tanggal & waktu penciptaan
Tanggal & waktu modifikasi terakhir
count Tautan
Ukuran file
Permissions
Tanggal & waktu penciptaan
Tanggal & waktu modifikasi terakhir
count Tautan
Ini adalah inode yang direferensikan oleh sistem operasi saat
menentukan jika pengguna memiliki izin yang relevan.
Direktori ada sebagai link ke inode dari semua file (atau
sub-direktori) yang terkandung dalam direktori tersebut. Hal ini ditunjukkan di bawah ini;
Struktur direktori pada disk
File Permissions
Hak akses file dapat dilihat dengan menggunakan perintah ls dengan
l-(pilihan listing panjang) seperti yang ditunjukkan di bawah ini
ls-l
total 0
-Rwxr-xr-x 1 stewart stewart 0 2009-01-30 17:00 dieksekusi
-R - r - r - 1 stewart stewart 0 2009-01-30 16:58 read-only-all.txt
-Rw-rw-r - 1 stewart insinyur 0 2009-01-30 16:59 baca-tulis-group.txt
Dari output ls hak akses file dapat dilihat di sebelah kiri.
Ini adalah 10 karakter pertama dari entri file. Karakter pertama berkaitan dengan jenis file maka sisanya dalam 3 kelompok 3 karakter yang berkaitan dengan jenis akses yang berbeda.
Ini adalah 10 karakter pertama dari entri file. Karakter pertama berkaitan dengan jenis file maka sisanya dalam 3 kelompok 3 karakter yang berkaitan dengan jenis akses yang berbeda.
Izin ini diterapkan ke (kiri ke kanan)
user - pemilik dari file
kelompok - kelompok orang, misalnya tim proyek atau departemen
lain - orang lain yang memiliki login ke komputer
user - pemilik dari file
kelompok - kelompok orang, misalnya tim proyek atau departemen
lain - orang lain yang memiliki login ke komputer
Ini kemudian dibagi menjadi 3 hak akses yang berbeda, yaitu mampu:
baca - Lihatlah isi file / mencari tahu apa file dalam direktori
menulis - Mengganti atau menghapus isi dari file / file membuat atau menghapus dalam sebuah direktori
mengeksekusi - Dapat mengeksekusi (dijalankan sebagai program) file / dapat mengubah ke direktori atau salinan dari direktori.
Ini ditata sebagai berikut (perhatikan ini adalah 10 karakter
pertama dari layar ls-l):
Akses izin tata letak
Jika entri tersebut diisi maka dalam mempengaruhi. Jika berlari keluar '-' maka tidak
berlaku.
Ada juga hak akses lebih lanjut yang dapat diatur, namun ini lebih
maju dan dijelaskan kemudian. Juga
mencatat bahwa akar dapat menimpa sebagian besar perizinan.
Mengubah Perizinan File (chmod)
Dengan asumsi bahwa Anda baik pemilik dari file atau akar adalah
mungkin bagi Anda untuk mengubah hak akses file untuk menambah atau menghapus
izin. Hal ini dilakukan dengan
menggunakan chmod (change mode) perintah.
Perintah chmod dapat digunakan dalam salah satu dari dua cara. Format simbolik atau format
oktal.Simbolis berguna untuk pengguna baru karena lebih mudah untuk digunakan,
namun jika usaha yang dilakukan untuk memahami format oktal maka dapat menjadi
cara yang ampuh dan cepat untuk mengubah file permissions.
Format dasar dari perintah ini adalah:
chmod modus nama file
Hanya format parameter modus yang berbeda ketika menggunakan
format izin yang berbeda.
Dalam izin Format simbolis ditambahkan atau dihapus dengan
menggunakan simbol-simbol berikut
u = pemilik file (pengguna)
g = kelompok pemilik (group)
o = orang lain pada sistem (lainnya)
+ = Menambahkan izin
- = Menghapus izin
r = read izin
w = write izin
x = mengeksekusi izin
Misalnya untuk menambahkan akses write pada kelompok perintah
berikut digunakan:
chmod g+ w file1
Dalam format Oktal modus ini didasarkan pada sejumlah oktal
mewakili hak akses modus yang berbeda, di mana masing-masing kelompok izin
(user, group, orang lain) memiliki nilai oktal mewakili membaca, menulis dan
mengeksekusi bit. Hal ini
memerlukan sedikit pengetahuan tentang biner atau basis nomor oktal. Format sebenarnya oktal (tapi ini
dapat disamakan dengan 3 biner terpisah untuk konversi desimal untuk
masing-masing user / group / semua izin). Manfaat
utama menggunakan format oktal adalah bahwa semua perizinan di-set pada waktu
yang sama dan perintah jauh lebih pendek daripada jika semua izin yang diatur
menggunakan format simbolik.
User Group Lainnya
Simbolis rwx rw-r -
Biner 111 110 100
4 +2 +1 4 +2 +0 4 +0 +0
Oktal 7 6 4
File di atas akan memiliki nomor oktal 764 dan karena itu akan
diubah dengan menggunakan perintah
chmod 764 file1
Cara alternatif bekerja di luar nilai-nilai oktal adalah dengan
menambahkan nomor berikut tergantung pada izin yang diperlukan.
= 4 Baca
Tulis = 2
Jalankan = 1
= 4 Baca
Tulis = 2
Jalankan = 1
Oleh karena itu jika Anda ingin mengatur dibaca ya, menulis tidak
ada dan melaksanakan untuk ya, ini akan menjadi 4 +1 = 5
Setuid, setgid dan sedikit lengket
Sejauh ini kita telah membahas hak akses file yang paling umum
bahwa pengguna akan perlu untuk menjadi akrab dengan. Ada satu set lebih lanjut dari izin
yang memberikan fungsionalitas lebih luar bahwa dari perizinan standar. Ini adalah setuid dan pilihan setgid,
dan sedikit lengket. Ini
ditunjukkan oleh ls dalam izin file normal dengan mengganti bit eksekusi
biasanya ditunjukkan dengan menggantinya dengan S, s, T atau t yang sesuai.
Sebuah s huruf kecil digunakan di mana bit eksekusi aktif, dan S
huruf besar di mana bit eksekusi tidak diatur.
Ketika digunakan pada file eksekusi ini akan membuat perintah dijalankan sebagai pemilik file (seringkali root) daripada orang yang meluncurkan aplikasi. Hal ini diperlukan di mana user biasa perlu menjalankan program yang perlu untuk mengakses file yang hanya dapat dibaca / ditulis oleh root. Misalnya perintah passwd yang perlu mengakses file bayangan dilindungi password:
Ketika digunakan pada file eksekusi ini akan membuat perintah dijalankan sebagai pemilik file (seringkali root) daripada orang yang meluncurkan aplikasi. Hal ini diperlukan di mana user biasa perlu menjalankan program yang perlu untuk mengakses file yang hanya dapat dibaca / ditulis oleh root. Misalnya perintah passwd yang perlu mengakses file bayangan dilindungi password:
$ Ls-l / usr / bin / passwd
-Rwsr-xr-x 1 root root 37.084 2009-04-04 6:49 / usr / bin / passwd
Namun ini dapat menjadi resiko keamanan jika sudah diatur pada
perintah yang baik memiliki cara bahwa pengguna dapat menjalankan perintah lain
(karena mereka juga akan berjalan sebagai root), atau jika ada bug dalam
aplikasi.
Bit setgid mirip dengan bit setuid, tetapi diatur pada akses
group. Ini berarti bahwa perintah
akan dijalankan sebagai kelompok yang memiliki file daripada kelompok default
pengguna.
Bit sticky digunakan untuk membatasi siapa yang dapat menghapus
file dalam direktori. Saat
melihat menggunakan ls itu menggantikan dunia mengeksekusi izin dengan t huruf
kecil jika bit eksekusi diaktifkan, dan T huruf jika bit eksekusi mati. Bila ini diatur pada direktori maka
hanya pemilik file (atau akar) dapat menghapus file dalam direktori tersebut. Ini digunakan dalam direktori / tmp
untuk memungkinkan pengguna untuk membuat file-file sementara, tapi berhenti
orang lain selain dari pengguna yang menghapus file sementara.
ls-ld / tmp
drwxrwxrwt 20 root root 413.696 2009-08-14 15:39 / tmp
Untuk mengatur salah satu izin khusus menggunakan format oktal
maka digit tambahan digunakan sebelum sisa nomor oktal. Ini dibuat sama dengan nilai lain
oktal menggunakan setuid, setgid, lengket di tempat rwx.
Misalnya nomor oktal 4755, akan mengatur bit setuid (4) dan
sisanya dari hak akses sesuai perintah passwd ditunjukkan sebelumnya.
Mengubah pemilik file (chown)
Pemilik pemilik dan kelompok file biasanya diatur ke pengguna dan
grup default dari orang yang menciptakan file tersebut.
Pemilik atau kelompok dapat diubah dengan menggunakan chown
(pemilik perubahan) perintah.
Formatnya adalah sebagai berikut:
chown user: nama file
group
Mengatur standar perizinan (umask)
Izin default untuk file baru dibuat tergantung pada nilai umask.
Umask bekerja dengan membatasi hak akses yang diberikan ke file
ketika dibuat oleh program baru. Jika
program mencoba untuk memberikan hak akses penuh maka umask akan membatasi hak
akses yang benar-benar mengatur. Namun
jika permintaan program perizinan yang kurang dari umask maka umask tidak akan
menambahkan izin tambahan.
Topeng bekerja dengan menerapkan negatif dari pengaturan umask
anded dengan izin yang diminta.Akibatnya melakukan suatu DAN TIDAK terhadap
nilai umask.
Hal ini diatur dalam profil / etc / atau / etc / bashrc untuk
semua pengguna, namun dapat diubah dalam pengguna ~ /. Bashrc
Umask harus ditetapkan sebagai masker kebalikan dari izin yang
diperlukan.
Misalnya umask dari 077 akan berarti bahwa kelompok dan semua
pengguna memiliki izin.
Referensi:
http://www.penguintutor.com/linux/file-permissions-reference
Subscribe to:
Post Comments (Atom)
bro tulisannya sangat menarik tapi sayang nih,,,, susunan kata2nya agak berantakan jadi sedikit puyeng bacanya. coba deh klo dirapiin dikit format penullisannya pasti enak di baca,
ReplyDeletetp jujur yah,,, isi yg ini top markotop :D