Perintah chown Linux: ubah pemilik dan kelompok berkas

Perintah chown mengubah pengguna pemilik, kelompok pemilik, atau keduanya pada sebuah berkas atau direktori. Tentukan apakah Anda ingin mengganti pemilik saja atau pemilik bersama kelompok, lalu periksa hasilnya dengan stat. Perubahan yang salah pada data layanan dapat membuat layanan kehilangan akses.

Sintaks dan perbedaan dari chmod

chown [OPSI] PEMILIK[:KELOMPOK] BERKAS...

OPSI, PEMILIK, KELOMPOK, dan BERKAS adalah penanda yang diganti sesuai kebutuhan. Pada GNU chown, pemilik tanpa titik dua mengganti pemilik dan membiarkan kelompok tetap. Bentuk pemilik:kelompok mengganti keduanya, tanpa spasi di antara nama dan titik dua.

Chown mengatur kepemilikan, sedangkan chmod mengatur bit izin berkas dan direktori. Pada Linux, mengganti pemilik membutuhkan proses yang mempunyai hak yang sesuai. Pemilik berkas dapat mengganti kelompok ke kelompok yang diikutinya, mengikuti aturan sistem. Periksa chown --help, chown --version, dan man chown sebelum memakai opsi yang bergantung pada implementasi.

Siapkan sasaran dan catat keadaan awal

Gunakan berkas latihan baru di direktori tersendiri. Contoh memakai report.txt dan demo.txt, akun alice, serta kelompok editors atau developers. Nama-nama akun dan kelompok itu harus benar-benar ada pada sistem tujuan; jangan menganggapnya tersedia pada semua distribusi.

Buat berkas latihan yang belum ada dengan printf 'laporan\n' > report.txt dan printf 'demo\n' > demo.txt. Tanda > dapat menimpa isi, jadi jangan memakai nama yang sudah menyimpan data penting. Catat kepemilikan dan mode awal dengan stat -c '%u:%g %a %n' report.txt serta bentuk yang sama untuk demo.txt.

User ID (UID) dan group ID (GID) adalah nomor identitas pengguna dan kelompok. Bandingkan akun sasaran melalui id untuk memeriksa UID dan GID; misalnya, id alice mencari informasi akun alice. Pemeriksaan tersebut tidak membuat akun baru atau mengganti pemilik berkas.

Ganti pemilik saja

sudo chown alice report.txt

Contoh ini berlaku ketika sudo tersedia dan kebijakan mengizinkan perubahan oleh administrator. Ganti alice dengan akun sasaran yang telah diperiksa. Karena tidak ada titik dua atau kelompok setelah alice, GNU chown mempertahankan kelompok report.txt.

Jangan menambahkan titik dua tanpa memahami akibatnya. Bentuk alice: mempunyai arti berbeda: GNU chown juga memilih kelompok login milik alice. Untuk menghindari salah sasaran, gunakan bentuk yang tepat dan baca kembali pemilik serta kelompok.

Ganti pemilik dan kelompok sekaligus

sudo chown alice:editors report.txt

Perintah ini menetapkan alice sebagai pemilik dan editors sebagai kelompok report.txt. Editors adalah kelompok contoh, bukan kata kunci bawaan. Periksa bahwa akun, kelompok, berkas, dan wewenang Anda sesuai sebelum menjalankannya.

Perubahan pada satu berkas tidak berarti semua berkas di direktori yang sama ikut berubah. Tanpa -R, contoh tersebut hanya menyebut report.txt. Untuk data layanan, pilih kepemilikan berdasarkan akun layanan yang memang mengakses data, bukan nama akun yang kebetulan digunakan untuk masuk.

Baca kembali hasil dengan GNU stat

stat -c '%U:%G %n' report.txt

Pada GNU stat, %U menampilkan nama pemilik, %G nama kelompok, dan %n nama berkas. Jika contoh sebelumnya berhasil dan pemetaan nama tersedia, bagian kepemilikannya sesuai alice:editors. Pembacaan ini tidak mengubah berkas.

Untuk membandingkan nomor, gunakan stat -c '%u:%g %n' report.txt. Huruf kecil %u dan %g memilih UID dan GID numerik. Pembedaan nama dari nomor membantu ketika pemetaan akun pada host, kontainer, atau sistem berkas jaringan berbeda.

Contoh perubahan dan verifikasi lengkap

Contoh ini memakai demo.txt yang sudah disiapkan, akun alice, dan kelompok developers yang benar-benar ada. Developers pada contoh ini berbeda dari editors pada contoh sebelumnya. Jalankan hanya jika perubahan pada berkas latihan itu memang diizinkan.

sudo chown alice:developers demo.txt
stat -c '%U:%G %n' demo.txt

Contoh hasil yang diharapkan jika perubahan dan pencarian nama berhasil:

alice:developers demo.txt

GNU chown biasanya tidak mencetak pesan saat berhasil. Jika muncul kesalahan, jangan menganggap baris stat sesudahnya membuktikan perubahan telah berhasil: stat hanya membaca keadaan saat itu. Cocokkan hasil dengan sasaran dan periksa status chown segera sesudah perintah bila diperlukan.

Untuk memulihkan kepemilikan berkas latihan, administrator menggunakan pemilik dan kelompok awal yang telah dicatat, lalu membaca ulang hasilnya. Jangan menebak nilai lama. Pemulihan kepemilikan juga belum tentu memulihkan bit khusus yang berubah akibat operasi sebelumnya.

Opsi GNU yang perlu dibedakan

Opsi Arti
-R Mengubah direktori beserta berkas dan subdirektori secara rekursif.
-h Memilih tautan simbolis itu sendiri, bukan sasaran tautan, pada sistem yang mendukungnya.
--reference=BERKAS Memakai pemilik dan kelompok berkas rujukan.
-v Menampilkan keterangan untuk setiap berkas yang diproses.

Tautan simbolis adalah entri yang menunjuk ke jalur lain. Memilih apakah yang diubah adalah tautan atau sasarannya berbeda dari memilih direktori mana yang ditelusuri saat -R. Periksa kedua aspek itu sebelum operasi rekursif; -h tidak boleh dianggap sebagai penjelasan lengkap semua aturan penelusuran.

Rincian bentuk pemilik:kelompok, --reference, serta opsi penelusuran -H, -L, dan -P tersedia dalam manual GNU chown. Gunakan pemeriksaan jalur dengan stat, ls, atau find sebelum mengubah pohon direktori.

Perhatikan dampak pada layanan dan bit khusus

Salah jalur pada chown -R dapat mengubah banyak berkas yang semula mempunyai pemilik berbeda. Pilih sasaran sesempit mungkin dan simpan catatan keadaan awal sebelum perubahan yang luas. Memberikan semua data kepada satu akun belum tentu sesuai kebutuhan layanan.

Pada Linux, perubahan kepemilikan dapat menghapus bit khusus tertentu atau kapabilitas berkas eksekutabel. Karena itu, jangan menjanjikan bahwa chown selalu hanya mengganti nama pemilik tanpa dampak lain. Kondisi hak akses, bit khusus, dan sistem berkas jaringan dibahas dalam manual sistem Linux untuk perubahan kepemilikan.

Setelah perubahan data layanan, periksa bukan hanya nama pemilik tetapi juga kemampuan layanan membaca atau menulis data yang memang diperlukan. Jangan memakai perubahan kepemilikan acak untuk mengatasi galat akses tanpa memahami akun layanan, mode izin, dan lingkungan penyimpanan.

FAQ

Apa beda chown alice report.txt dan chown alice:editors report.txt?

Bentuk pertama mengganti pemilik saja dan mempertahankan kelompok. Bentuk kedua menetapkan pemilik alice sekaligus kelompok editors pada GNU chown.

Apakah chown sama dengan memberi izin baca atau tulis?

Tidak. Chown mengganti kepemilikan, sedangkan chmod mengelola bit izin. Keduanya memengaruhi pemeriksaan akses dengan cara berbeda, sehingga perlu dibaca bersama sesuai kebutuhan.