setguid
Ada 2 kekuatan di sini di tempat kerja. Yang pertama adalah bit setgid yang diaktifkan pada folder folder,.
drwxr-s---. user group folder
Itulah spaket karakter di awal baris ini. Mereka dikelompokkan sebagai berikut:
d - directory
rwx - read/write/execute bits for user
r-s - read/execute/setuid bits for group
--- - nothing for other users
The r-sberarti bahwa setiap file atau direktori dibuat di dalam folder ini akan memiliki kelompok otomatis diatur ke grup group.
Itulah yang menyebabkan file foo.txtdan bar.txtdibuat seperti:
-rw-r--r--. user group foo.txt
-rw-rw-r--. user group bar.txt
izin & umask
Izin yang Anda lihat adalah masalah lain. Ini diatur oleh pengaturan untuk Anda umask. Anda dapat melihat apa umaskyang diatur dengan perintah umask:
$ umask
0002
CATATAN: bit-bit ini juga disebut bit "mode".
Itu topeng sehingga akan menonaktifkan bit yang terkait dengan izin yang diaktifkan. Dalam contoh ini satu-satunya bit yang saya inginkan adalah izin menulis untuk yang lain.
0 - skipping for this conversation
0 - value of user bits
0 - value of group bits
2 - value of other bits
Representasi "bit" dalam perintah ini dalam bentuk desimal. Jadi 2 sama dengan 010 dalam bentuk biner, yang merupakan bit tulis. A 4 (100) berarti Anda ingin membaca dinonaktifkan. A 7 (111) berarti Anda ingin membaca / menulis / mengeksekusi semua yang dinonaktifkan. Membangunnya dari sini:
$ umask 007
Akan menonaktifkan bit baca / tulis / eksekusi untuk pengguna lain.
Jadi, bagaimana dengan file Anda?
Yah umaskmengatur izin yang akan ditetapkan ketika file baru dibuat. Jadi jika kita memiliki umaskset berikut :
$ umask 007
Dan mulai menyentuh file baru, kita akan melihatnya dibuat seperti ini:
$ touch newfile1.txt newfile2.txt
$ ls -l |grep newfile
-rw-rw---- 1 saml saml 0 Nov 3 22:34 newfile1.txt
-rw-rw---- 1 saml saml 0 Nov 3 22:34 newfile2.txt
Jika kami mengubahnya menjadi sesuatu yang lain, katakan ini:
$ umask 037
$ ls -l |grep newfile
-rw-rw---- 1 saml saml 0 Nov 3 22:36 newfile1.txt
-rw-rw---- 1 saml saml 0 Nov 3 22:36 newfile2.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile3.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile4.txt
Itu tidak akan berdampak pada file yang sudah kita buat. Lihat disini:
$ umask
0037
$ touch newfile1.txt newfile2.txt
$ ls -l | grep newfile
-rw-rw---- 1 saml saml 0 Nov 3 22:37 newfile1.txt
-rw-rw---- 1 saml saml 0 Nov 3 22:37 newfile2.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile3.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile4.txt
Jadi apa yang terjadi dengan browser file?
The umaskadalah apa yang saya menelepon pengaturan "lunak". Ini tidak berarti mutlak dan dapat dilewati dengan cukup mudah di Unix dalam beberapa cara. Banyak alat mengambil sakelar yang memungkinkan Anda menentukan izin sebagai bagian dari operasinya.
Ambil mkdircontoh:
$ umask
0037
$ mkdir -m 777 somedir1
$
$ ls -ld somedir1
drwxrwxrwx 2 saml saml 4096 Nov 3 22:44 somedir1
Dengan -msaklar kita dapat menimpanya umask. The touchperintah tidak memiliki fasilitas ini sehingga Anda harus mendapatkan kreatif. Lihat U&L Q&A ini berjudul: Dapatkah file dibuat dengan izin yang ditetapkan pada baris perintah?hanya metode seperti itu.
Cara lain? Timpa saja umask. Peramban file kemungkinan besar melakukan ini atau hanya mengabaikan sepenuhnya umaskdan meletakkan file menggunakan izin apa pun yang dikonfigurasikan untuk melakukannya.