chmod g+s .;
Perintah ini menetapkan ID grup (setgid) pada direktori saat ini, ditulis sebagai .
.
Ini berarti bahwa semua baru file dan subdirektori dibuat dalam direktori saat ini mewarisi ID sekelompok direktori, daripada kelompok ID utama dari pengguna yang menciptakan file. Ini juga akan diteruskan ke subdirektori baru yang dibuat di direktori saat ini.
g+s
memengaruhi ID grup file tetapi tidak memengaruhi ID pemilik.
Perhatikan bahwa ini hanya berlaku untuk file yang baru dibuat . File yang dipindahkan ( mv
) ke direktori tidak terpengaruh oleh pengaturan setgid. File yang disalin cp -p
juga tidak terpengaruh.
Contoh
touch un;
chgrp canard .;
chmod g+s .;
touch deux ;
Dalam hal ini, deux
akan menjadi milik grup canard
tetapi un
akan menjadi milik grup pengguna yang membuatnya, apa pun itu.
Catatan Kecil tentang Penggunaan Titik Koma di Perintah Shell
Tidak seperti c
atau perl
, perintah shell hanya perlu diikuti oleh tanda titik koma jika ada perintah shell lain yang mengikutinya pada baris perintah yang sama . Jadi, pertimbangkan baris perintah berikut:
chgrp canard .; chmod g+s .;
Titik koma akhir adalah berlebihan dan dapat dihapus:
chgrp canard .; chmod g+s .
Lebih lanjut, jika kita menempatkan dua perintah pada baris yang terpisah, maka titik koma yang tersisa tidak diperlukan:
chgrp canard .
chmod g+s .
cp
) sebenarnya baru dibuat. Jika mereka tidak mewarisi izin grup, program penyalinan memainkan permainan, seperti menyalin ke file sementara dan kemudian memindahkannya ke direktori target.cp -p
yang mengesampingkan pengaturan setgid.cp -p
menimpa pengaturan setgid? Pada setiap implementasi Unix yang ada? POSIX mengatakan bahwa itu tidak ditentukan apakah kegagalan untuk menyalin ID pengguna atau ID grup di bawah cp -p menghasilkan pesan diagnostik! Namun, bit S_SUID dan S_SGID, masing-masing, harus dibersihkan dalam situasi itu (yaitu jika file adalah setuid bob, tetapi kepemilikan bob tidak dapat disalin sehingga file tersebut dimiliki oleh janet, jangan membuatnya setuid janet.)cp -p
mengesampingkan pengaturan setgid?" Menurut spec POSIX, itulah yang seharusnya dilakukan. Ia melakukannya pada semua sistem Unix yang telah saya gunakan. Anda telah mengutip bagian dari spesifikasi mengenai apa yang harus dilakukan untuk melindungi keamanan dalam kasus ketika ID grup tidak dapat diduplikasi. Saya tidak pernah mengalami situasi "tidak bisa" seperti itu, bukan?Anda dapat mengubah izin file dengan perintah chmod. Di Unix, izin file, yang menetapkan siapa yang mungkin memiliki berbagai jenis akses ke file, ditentukan oleh kelas akses dan tipe akses. Kelas akses adalah kelompok pengguna, dan masing-masing dapat diberikan jenis akses khusus
Unix / Linux memiliki pengguna dan grup pengguna yang dapat ditugaskan untuk akses file
opsi g + s adalah sebagai berikut:
g - izin yang dimiliki pengguna lain dalam grup file untuk itu
s - mengatur ID pengguna atau grup pada eksekusi
di sini adalah contoh penggunaan:
(izinkan semua orang membaca, menulis, dan mengeksekusi file tertentu dan mengaktifkan ID grup yang ditetapkan)
Untuk mengatur / memodifikasi izin file, Anda perlu menggunakan program chmod. Tentu saja, hanya pemilik file yang dapat menggunakan chmod untuk mengubah izin file. chmod memiliki sintaks berikut: chmod [options] file mode (s) Bagian 'mode' menentukan izin baru untuk file yang mengikuti sebagai argumen. Mode A menentukan izin pengguna mana yang harus diubah, dan setelah itu tipe akses mana yang harus diubah. Katakanlah misalnya: chmod ax socktest.pl
Ini berarti bahwa bit eksekusi harus dihapus (-) untuk semua pengguna. (pemilik, grup, dan seluruh dunia) Izin dimulai dengan surat yang menentukan pengguna mana yang akan terpengaruh oleh perubahan, ini mungkin salah satu dari yang berikut:
Ini diikuti oleh instruksi perubahan yang terdiri dari + (set bit) atau - (bit jelas) dan huruf yang sesuai dengan bit yang harus diubah. Mari kita lihat beberapa contoh:
Nomor aneh ... Anda mungkin pernah mengalami hal-hal seperti chmod 755 file dan tentu saja Anda akan bertanya-tanya apa ini. Masalahnya adalah, Anda dapat mengubah seluruh pola izin file dalam sekali pakai menggunakan satu nomor seperti yang ada dalam contoh ini. Setiap mode memiliki nomor kode yang sesuai, dan seperti yang akan kita lihat ada cara yang sangat sederhana untuk mencari tahu nomor apa yang sesuai dengan mode apa pun. Setiap satu dari tiga digit pada nomor mode sesuai dengan salah satu dari tiga kembar tiga izin. (u, g dan o) Setiap bit izin dalam triplet sesuai dengan nilai: 4 untuk r, 2 untuk w, 1 untuk x. Jika izin Anda tambahkan nilai ini ke jumlah triplet izin. Jika sudah dihapus, maka Anda tidak menambahkan apa pun. (Beberapa dari Anda mungkin memperhatikan bahwa sebenarnya,
Jadi, 755 adalah cara singkat untuk mengatakan 'Saya tidak keberatan jika orang lain membaca atau menjalankan file ini, tetapi hanya saya yang dapat memodifikasinya' dan 777 berarti 'setiap orang memiliki akses penuh ke file ini'
referensi cacat
sumber
Hasil perintah ls akan bergantung pada umask.
g + s akan mengatur sgid ke file. Periksa di sini untuk informasi lebih lanjut tentang SUID SGID
jadi jika umask Anda misalnya adalah 022 hasilnya akan seperti:
sumber
Di Linux salah satu opsi pemasangan default untuk ext? fs adalah 'nogrpid | sysvgroups '. Jadi sentuhan pertama un, membuat file dengan id grup sama dengan fsgid dari proses pembuatan di mana fsgid = egid.
chmod g + s., membuat selanjutnya file / dir pembuatan mewarisi grup id dari folder induk dan jika hal yang dibuat adalah dir itu juga mendapat g + s ditetapkan sebagai induknya.
Di sini sentuh deux, buat deux, dengan canard grup.
Semantik berubah jika opsi mount adalah 'grpid | bsdgroups 'dalam kasus itu, pembuatan file / dir baru akan mewarisi id grup dari folder induknya bahkan tanpa mengatur g + s untuk induk itu sendiri.
sumber