Saya harus mengubah kepemilikan file / direktori menggunakan. chmod
Saya tahu hanya nama pengguna pemilik tetapi ingin mengubah nama grup default secara bersamaan. Pada tahap ini nama grup belum diputuskan jadi saya menempatkan sama dengan nama pengguna
chown -R username:username path_to_dir
Perintah dapat berjalan untuk berbagai sistem / pengguna, Jadi yang menjadi perhatian saya adalah, apakah linux selalu memiliki pasangan nama pengguna (pengguna): nama pengguna (grup) ATAU pada titik tertentu ini group_name default mungkin memberikan kesalahan.
Meskipun saya sudah mulai menemukan GID dari milik pengguna
id username | tr '(=)' ':' | awk -F: '{print $3}
Tapi untuk ilmu saya ingin tahu. Hingga saat ini analisis terhadap /etc/passwd
/etc/groups
beberapa pengguna seperti "shutdown, stop, sync, opeartor" semua pengguna telah terdaftar dalam grup juga.
EDIT 1: id -gn nama pengguna juga merupakan opsi yang baik
id -g username
?id -gn username
yang mencetak nama, bukan ID.Jawaban:
Tidak ada jaminan bahwa nama grup =
username
akan ada.Skenario yang paling umum adalah bahwa administrator sistem menggunakan Linux menciptakan pengguna baru secara lokal pada sistem tanpa spesifikasi eksplisit untuk grup, yang berarti bahwa grup akan dibuat secara default sama dengan nama pengguna dan menetapkan pengguna untuk memiliki GID default untuk grup yang baru dibuat.
Ini tidak berarti bahwa administrator sistem lain akan mengikuti prosedur ini dan jika Anda memasukkan layanan penamaan lain ke dalam campuran seperti NIS atau LDAP, grup yang ditugaskan untuk default kemungkinan tidak akan sama dengan GID baru dengan nama grup yang sama dengan nama pengguna.
Jadi Anda tidak harus mengandalkan fakta bahwa nama pengguna = groupname
sumber
useradd
skrip yang secara default membuat grup dengan nama yang sama, tidak semua memiliki. Terakhir kali saya menggunakannya (bertahun-tahun yang lalu), skrip kreasi pengguna slackware secara default memiliki satu grupusers
yang semua anggotanya dijadikan anggota. docs.slackware.com/slackbook:users menyarankan ini mungkin masih menjadi masalahnya.Meskipun idiom grup pribadi pengguna sering digunakan dalam sistem Linux modern, * nix sebenarnya tidak memerlukan grup primer unik untuk setiap pengguna, dan sangat mungkin bagi beberapa akun pengguna untuk berbagi grup utama yang umum seperti
users
ataustaff
.Bahkan dalam kasus di mana idiom UPG diberlakukan, tidak ada alasan khusus bahwa GID numerik dari UPG tertentu harus sama dengan UID pemilik, meskipun sebagian besar alat pembuatan akun akan mencoba untuk menetapkan UID dan GID secara berurutan, jika mereka mau. tersedia. ID dapat dengan mudah keluar dari langkah jika pengguna dan / atau kelompok perlu dibuat konsisten di beberapa sistem (misalnya untuk mengakomodasi pangsa NFS yang sudah ada sebelumnya).
sumber
Seperti yang telah ditunjukkan oleh Ramesh secara default, UID dan GID sama untuk pengguna biasa. Namun ini tidak selalu terjadi sehingga Anda tidak boleh membuat asumsi seperti ini dapat mendatangkan malapetaka ke sistem Anda. Menetapkan izin file / folder ke grup yang salah agak berantakan, bukan?
Jadi, jawaban singkatnya: tidak, UID tidak selalu sama dengan GID. Namun,
/etc/passwd
berisi UID dan GID dari grup default di baris yang sama sehingga agak mudah untuk mengekstraknya.sumber
adduser
daripadauseradd
dan default di/etc/adduser.conf
ditetapkan untukUSERGROUPS=yes
membuat grup untuk setiap pengguna baru. Kelompok-kelompok ini biasanya (tidak selalu,) memiliki GID yang sama dengan UID pengguna untuk siapa mereka diciptakan.Dari tautan ini , saya melihat informasi di bawah ini.
ID pengguna (UID) adalah bilangan bulat positif unik yang ditetapkan oleh sistem operasi mirip-Unix untuk setiap pengguna. Setiap pengguna diidentifikasi ke sistem dengan UID-nya, dan nama pengguna umumnya hanya digunakan sebagai antarmuka untuk manusia.
UID disimpan, bersama dengan nama pengguna terkait dan informasi spesifik pengguna lainnya, dalam
/etc/passwd
file, yang dapat dibaca dengan perintah cat sebagai berikut:Bidang ketiga berisi UID, dan bidang keempat berisi ID grup (GID), yang secara default sama dengan UID untuk semua pengguna biasa.
EDIT
Namun, seperti yang ditunjukkan @Karlson, tidak benar bahwa UID akan sama dengan GID secara default.
Pernyataan ini benar hanya jika tidak ada grup biasa yang ditambahkan secara terpisah dan tidak ada grup yang secara eksplisit ditentukan pada setiap kreasi pengguna . Secara default gid untuk pengguna yang ditambahkan berikutnya =
max(gid) + 1
. Tidak ada korelasi antara UID dan GID yang diperlukan oleh sistem * NIX apa pun yang kebetulan terjadi pada beberapa kasus.Lebih banyak referensi
http://www.thegeekstuff.com/2009/06/useradd-adduser-newuser-how-to-create-linux-users
sumber
-g
flag padauseradd
program, akan membuat grup untuk Anda dan kecuali terjadi pergeseran GID, itu akan = UID. Namun, jika metode pembuatan tidak diketahui, Anda tidak dapat mengandalkan kenyataan bahwa ini akan menjadi masalah:uid=123456(ME) gid=777(ABC) groups=777(ABC)