Ketika saya menginstal sebuah program, saya sarankan untuk melakukannya chmod 4555
. Oke, saya tahu tentang nilai jika saya hanya menggunakan tiga angka. Sebagai contoh
chmod 555 test-file
akan memberi
-r-xr-xr-x
4 untuk menulis, 2 untuk membaca dan 1 untuk mengeksekusi. Tetapi, ketika saya melakukan ini:
chmod 4555 test-file
itu memberi saya
-r-sr-xr-x
Jadi, x
berubah menjadi s
. Apa artinya?
command-line
chmod
Mas Bagol
sumber
sumber
Jawaban:
Sebenarnya ada 4 set atribut yang dapat Anda kerjakan via
chmod
.Special
,User/Owner
,Group
, DanOthers
agar, ketika bekerja dengan chmods empat nomor, dengan nomor pertama adalah bit khusus yang dapat diatur.chmod 4555
sama dengan yang berikut:Set UID
bit - Jalankan file sebagai pemilik tanpa memandang pengguna mana yang menjalankannyaRead, Execute
Read, Execute
Read, Execute
The
s
di 'dibaca manusia' string Anda untuk perizinan menunjukkan bahwaSetUID
bit (dijelaskan di bawah) diatur.Secara efektif, kita dapat memecah
chmod
argumen izin empat-angka ke dalam deskriptor spesifik sebagai berikut, dan melakukan perhitungan untuk menentukan apa yang akan4
di bagian pertama,5
di bagian berikutnya, dan seterusnya.Ingatlah bahwa itu
####
adaSpecial
User/Owner
Group
danOthers
dalam urutan itu.Untuk
Special
atribut (angka pertama dalamchmod
argumen empat angka ):Set UID
- Jalankan file sebagai pemilik terlepas dari pengguna yang menjalankannya (ditampilkan sepertis
dalam string izin yang dapat dibaca manusia untukUser
bagian) = +4 (di--s
bawahUser/Owner
)Set GID
- Jalankan file sebagai grup terlepas dari pengguna / grup yang menjalankannya (ditampilkan sepertis
dalam string izin yang dapat dibaca manusia untukGroup
bagian) = +2 (di--s
bawahGroup
)Sticky Bit
- EFEKTIF PADA DIREKTORI SAJA - Jika diatur, hanya pengguna pemilik direktori danroot
dapat menghapus direktori, dan hanya pemilik file atauroot
dapat menghapus file di dalamnya. (ditampilkan sepertit
pada string izin yang dapat dibaca manusia untukOthers
bagian) = +1 (di--t
bawahOthers
)Untuk
User/Owner
,Group
danOthers
atribut (tiga angka terakhir dalamchmod
argumen empat angka ):Read
= +4 (r--
)Write
= +2 (-w-
)Execute
(untuk file), atau 'Masukkan Ke / Daftar Item' (untuk direktori) = +1 (--x
)sumber
Ini disebut
SETUID
bit. jika diatur olehchmod 4555 test-file
(dalam kasus Anda), makatest-file
dapat dieksekusi oleh pengguna mana pun seolah-olah pengguna adalah pemilik file.Ketika
SETUID
bit diatur maka ID Pengguna Efektif (EUID
) dari pengguna yang tidak memiliki izin untuk mengeksekusi file sebaliknya (dengan izin normal, misalnya0744
), mengambil EUID dari pemilik file dan dapat mengeksekusi file.sumber