Documentation for a newer release is available. View Latest

Mengelola Pengguna dan Grup

Kontrol pengguna dan grup adalah elemen inti administrasi sistem Fedora. Bab ini menjelaskan cara menambah, mengelola, dan menghapus pengguna dan grup di antarmuka pengguna grafis dan pada baris perintah, dan mencakup topik tingkat lanjut, seperti membuat direktori grup.

Perkenalan ke Pengguna dan Grup

Sementara pengguna bisa berupa orang (yang berarti akun yang diikat ke pengguna fisik) atau akun yang ada untuk dipakai oleh aplikasi tertentu, grup adalah ekspesi lojik dari organisasi, mengikat pengguna bersama bagi suatu tujuan yang sama. Pengguna dalam suatu grup berbagi izin yang sama untuk membaca, menulis, atau mengeksekusi berkas-berkas yang dimiliki oleh grup itu.

Setiap pengguna dikaitkan dengan sebuah nomor identifikasi unik yang bernama ID pengguna (UID). Demikian juga, setiap grup dikaitkan dengan ID grup (GID). Pengguna yang membuat sebuah berkas juga merupakan pemilik dan pemilik grup dari berkas tersebut. Berkas diberikan izin baca, tulis, dan eksekusi terpisah untuk pemilik, grup, dan semua orang lainnya. Pemilik berkas hanya dapat diubah oleh root, dan izin akses dapat diubah oleh pengguna root dan pemilik berkas.

Selain itu, Fedora mendukung access control lists (ACL) untuk berkas dan direktori yang memungkinkan izin untuk pengguna tertentu di luar pemilik ditetapkan. Untuk informasi selengkapnya tentang fitur ini, lihat bab Access Control Lists dari Panduan Administrator Sistem Red Hat Enterprise Linux 7.

Grup Pribadi Pengguna

Fedora menggunakan suatu skema user private group (UPG), yang membuat grup UNIX lebih mudah dikelola. Suatu grup privat pengguna (user private group) dibuat saat pengguna baru ditambahkan ke sistem. Itu memiliki nama yang sama dengan pengguna dimana itu dibuat untuknya dan pengguna itu adalah satu-satunya anggota dari grup privat pengguna tersebut.

Grup privat pengguna membuat aman menata izin baku bagi berkas atau direktori yang baru dibuat, mengizinkan pengguna dan grup pengguna tersebut membuat perubahan ke berkas atau direktori.

The setting which determines what permissions are applied to a newly created file or directory is called a umask and is configured in the /etc/bashrc file. Traditionally on UNIX-based systems, the umask is set to 022, which allows only the user who created the file or directory to make modifications. Under this scheme, all other users, including members of the creator’s group, are not allowed to make any modifications. However, under the UPG scheme, this "group protection" is not necessary since every user has their own private group.

Daftar dari semua grup disimpan dalam berkas konfigurasi /etc/group.

Kata Sandi Shadow

Dalam lingkungan dengan beberapa pengguna, sangat penting untuk memakai kata sandi shadow yang disediakan oleh paket shadow-utils untuk meningkatkan keamanan dari berkas-berkas autentikasi sistem. Untuk alasan ini, program instalasi memfungsikan kata sandi shadow secara baku.

Berikut ini adalah daftar dari keuntungan kata sandi shadow dibanding dengan cara tradisional menyimpan kata sandi pada sistem berbasis UNIX:

  • Kata sandi shadow memperbaiki keamanan sistem dengan memindah hash kata sandi terenkripsi dari berkas /etc/passwd yang dapat dibaca siapa pun ke /etc/shadow, yang hanya dapat dibaca oleh pengguna root.

  • Kata sandi shadow menyimpan informasi tentang masa kedaluwarsa kata sandi.

  • Kata sandi shadow memungkinkan berkas /etc/login.defs memaksakan kebijakan keamanan.

Kebanyakan utilitas yang disediakan oleh paket shadow-utils bekerja dengan benar baik ketika kata sandi shadow difungsikan atau tidak. Namun, karena informasi masa kedaluwarsa kata sandi disimpan secara eksklusif dalam berkas /etc/shadow, beberapa utilitas dan perintah tidak bekerja tanpa terlebih dahulu memfungsikan kata sandi shadow:

  • Utilitas chage untuk menata parameter masa kedaluwarsa kata sandi. Untuk rincian, lihat bagian Keamanan Kata Sandi dalam Panduan Keamanan Red Hat Enterprise Linux 7.

  • Utilitas gpasswd untuk mengadministrasi berkas /etc/group.

  • Perintah usermod dengan opsi -e, --expiredate atau -f, --inactive.

  • Perintah useradd dengan opsi -e, --expiredate atau -f, --inactive.

Mengelola Pengguna dalam suatu Lingkungan Grafis

Utilitas Users mengizinkan Anda melihat, mengubah, menambah, dan menghapus pengguna lokal dalam antar muka pengguna grafis.

Memakai Alat Pengaturan Pengguna

Tekan Super untuk memasuki Ringkasan Aktivitas, ketikkan Users dan tekan Enter. Alat pengaturan Users muncul. Tombol Super muncul dalam berbagai bentuk, bergantung pada papan ketik dan perangkat keras lain, tapi sering sebagai tombol Windows atau Command, dan biasanya di sebelah kiri Spasi.

Untuk membuat perubahan pada akun pengguna, terlebih dahulu pilih tombol Buka Kunci dan autentikasi diri Anda seperti yang ditunjukkan oleh kotak dialog yang muncul. Perhatikan bahwa kecuali Anda memiliki hak istimewa superuser, aplikasi akan meminta Anda untuk mengautentikasi sebagai root. Untuk menambah dan menghapus pengguna, pilih tombol + dan -. Untuk menambahkan pengguna ke grup administratif wheel, ubah Tipe Akun dari Standar menjadi Administrator. Untuk menyunting pengaturan bahasa pengguna, pilih bahasa dan menu tarik turun muncul.

Alat pengaturan Pengguna
Gambar 1. Alat Pengaturan Pengguna

When a new user is created, the account is disabled until a password is set. The Add User menu contains the options to set a password by the administrator immediately, or to allow the user to choose a password at the first login.

Memakai Alat Baris Perintah

Apart from the Users settings tool described in Managing Users in a Graphical Environment, which is designed for basic managing of users, you can use command line tools for managing users and groups that are listed in Command line utilities for managing users and groups.

Tabel 1. Utilitas baris perintah untuk mengelola pengguna dan grup
Utilitas Deskripsi

id

Menampilkan ID pengguna dan grup.

useradd, usermod, userdel

Utilitas standar untuk menambahkan, memodifikasi, dan menghapus akun pengguna.

groupadd, groupmod, groupdel

Utilitas standar untuk menambahkan, memodifikasi, dan menghapus grup.

gpasswd

Utilitas standar untuk mengelola berkas konfigurasi /etc/group.

pwck, grpck

Utilitas yang dapat digunakan untuk verifikasi kata sandi, grup, dan berkas shadow terkait.

pwconv, pwunconv

Utilitas yang dapat digunakan untuk konversi kata sandi menjadi kata sandi shadow, atau kembali dari kata sandi shadow ke kata sandi standar.

grpconv, grpunconv

Mirip dengan sebelumnya, utilitas ini dapat digunakan untuk konversi informasi shadow untuk akun grup.

Menambahkan Pengguna Baru

Untuk menambahkan pengguna baru ke sistem, ketik yang berikut ini pada shell prompt sebagai root:

useradd opsi namapengguna

… di mana options adalah opsi baris perintah seperti yang dijelaskan di Opsi baris perintah useradd umum. Secara baku, perintah useradd membuat akun pengguna yang terkunci. Untuk membuka kunci akun, jalankan perintah berikut sebagai root untuk menetapkan kata sandi:

passwd namapengguna

Secara opsional, Anda dapat mengatur kebijakan usia kata sandi. Lihat Mengaktifkan Usia Kata Sandi untuk informasi tentang cara mengaktifkan usia kata sandi.

Tabel 2. Opsi baris perintah umum useradd
Opsi Deskripsi

-c comment

comment dapat diganti dengan string apa pun. Opsi ini umumnya digunakan untuk menentukan nama lengkap pengguna.

-d home_directory

Direktori beranda yang akan digunakan alih-alih baku /home/username/.

-e date

Tanggal kapan akun akan dinonaktifkan dalam format YYYY-MM-DD.

-f{blank} days

Banyaknya hari setelah kata sandi kedaluwarsa hingga akun dinonaktifkan. Jika 0 ditentukan, akun dinonaktifkan segera setelah kata sandi kedaluwarsa. Jika -1 ditentukan, akun tidak dinonaktifkan setelah kata sandi kedaluwarsa.

-g{blank} group_name

Nama grup atau nomor grup untuk grup baku (utama) pengguna. Grup harus ada sebelum ditentukan di sini.

-G{blank} group_list

Daftar nama grup atau nomor grup tambahan (suplementer, selain baku), dipisahkan oleh koma, di mana pengguna adalah anggota. Grup harus ada sebelum ditentukan di sini.

-m

Buat direktori beranda jika tidak ada.

-M

Jangan membuat direktori beranda.

-N

Jangan membuat grup pribadi pengguna untuk pengguna.

-p password

Kata sandi dienkripsi dengan crypt.

-r

Buat akun sistem dengan UID kurang dari 1000 dan tanpa direktori beranda.

-s

Shell login pengguna, yang baku ke /bin/bash.

-u uid

ID Pengguna untuk pengguna, yang harus unik dan lebih dari 999.

Opsi baris perintah yang terkait dengan perintah usermod pada dasarnya sama. Perhatikan bahwa jika Anda ingin menambahkan pengguna ke grup suplementer lain, Anda perlu menggunakan opsi -a, --append dengan opsi -G. Jika tidak, daftar grup tambahan untuk pengguna akan ditimpa oleh yang ditentukan dengan perintah usermod -G.

Menjelaskan Proses

Langkah-langkah berikut mengilustrasikan apa yang terjadi ketika perintah useradd juan diberikan pada suatu sistem yang kata sandi shadow-nya difungsikan:

  1. Sebuah baris baru bagi juan dibuat dalam /etc/passwd:

    juan:x:1001:1001::/home/juan:/bin/bash

    Baris tersebut memiliki karakteristik berikut:

    • Itu diawali dengan nama pengguna juan.

    • Ada sebuah x bagi ruas kata sandi yang mengindikasikan bahwa sistem memakai kata sandi shadow.

    • Sebuah UID lebih dari 999 dibuat. Di bawah Fedora, UID di bawah 1000 dicadangkan untuk penggunaan sistem dan tidak boleh diberikan ke pengguna.

    • Sebuah GID lebih dari 999 dibuat. Di bawah Fedora, GID di bawah 1000 dicadangkan untuk penggunaan sistem dan tidak boleh diberikan ke pengguna.

    • Informasi GECOS opsional dibiarkan kopsong. Ruas GECOS dapat dipakai untuk menyediakan informasi tambahan tentang pengguna, seperti nama lengkap dan nomor telepon mereka.

    • Direktori rumah bagi juan diatur ke /home/juan.

    • Shell baku diatur ke /bin/bash.

  2. Sebuah baris baru bagi juan dibuat dalam /etc/shadow:

    juan:!!:14798:0:99999:7:::

    Baris tersebut memiliki karakteristik berikut:

    • Itu dimulai dengan nama pengguna juan.

    • Dua tanda seru (!!) muncul dalam ruas kata sandi dari berkas /etc/shadow, yang mengunci akun.

      Catatan

      Bila suatu kata sandi terenkripsi diberikan memakai flag -p, itu ditempatkan dalam berkas /etc/shadow pada baris baru bagi pengguna.

    • Kata sandi diatur agar tidak pernah kedaluwarsa.

  3. Suatu baris baru bagi sebuah grup bernama juan dibuat dalam /etc/group:

    juan:x:1001:

    Sebuah grup dengan nama yang sama dengan pengguna dinamai grup pribadi pengguna. Untuk informasi lebih banyak tentang grup pribadi pengguna, lihat Grup Pribadi Pengguna.

    Baris yang dibuat dalam /etc/group memiliki karakteristik berikut:

    • Itu dimulai dengan nama grup juan.

    • Sebuah x muncul dalam ruas kata sandi mengindikasikan bahwa sistem memakai kata sandi grup shadow.

    • GID yang cocok dengan yang tercantum bagi grup utama juan dalam /etc/passwd.

  4. Sebuah baris baru bagi suatu grup bernama juan dibuat dalam /etc/gshadow:

    juan:!::

    Baris tersebut memiliki karakteristik berikut:

    • Itu dimulai dengan nama grup juan.

    • Sebuah tanda seru (!) muncul dalam ruas kata sandi dari berkas /etc/gshadow, yang mengunci grup.

    • Semua ruas lain kosong.

  5. Suatu direktori bagi pengguna juan dibuat dalam direktori /home/:

    ~]# ls -ld /home/juan
    drwx------. 4 juan juan 4096 Mar  3 18:23 /home/juan

    Direktori ini dimiliki oleh pengguna juan dan grup juan. Itu memiliki hak baca, tulis, dan eksekusi hanya bagi pengguna juan. Semua hak lain ditolak.

  6. Berkas di dalam direktori /etc/skel (yang memuat pengaturan pengguna baku) disalin ke dalam direktori /home/juan yang baru. Isi dari /etc/skel mungkin bervariasi bergantung kepada aplikasi yang terpasang:

    ~]# ls -la /home/juan
    total 24
    drwx------. 4 juan juan 4096 Mar  3 18:23 .
    drwxr-xr-x. 5 root root 4096 Mar  3 18:23 ..
    -rw-r--r--. 1 juan juan   18 Jul 09 08:43 .bash_logout
    -rw-r--r--. 1 juan juan  176 Jul 09 08:43 .bash_profile
    -rw-r--r--. 1 juan juan  124 Jul 09 08:43 .bashrc
    drwxr-xr-x. 4 juan juan 4096 Jul 09 08:43 .mozilla

Pada titik ini, suatu akun terkunci yang bernama juan ada pada sistem. Untuk mengaktifkannya, administrator selanjutnya mesti memberi kata sandi ke akun memakai perintah passwd dan, secara opsional, mengatur panduan masa berlaku kata sandi.

Menambahkan Grup Baru

Untuk menambahkan suatu grup baru ke sistem, ketikkan yang berikut pada prompt shell sebagai root:

groupadd opsi nama_grup

…dimana opsi adalah opsi baris perintah seperti yang diuraikan dalam Opsi baris perintah umum groupadd.

Tabel 3. Opsi baris perintah groupadd yang umum
Opsi Deskripsi

-f, --force

Saat digunakan dengan -g gid dan gid sudah ada, groupadd akan memilih gid unik lainnya untuk grup.

-g{blank} gid

ID grup untuk grup, yang harus unik dan lebih besar dari 999.

-K, --key key=value

Menimpa default /etc/login.defs.

-o, --non-unique

Memungkinkan membuat grup dengan GID duplikat.

-p, --kata sandi{blank} password

Gunakan kata sandi terenkripsi ini untuk grup baru.

-r

Buat grup sistem dengan GID kurang dari 1000.

Memfungsikan Masa Berlaku Kata Sandi

Untuk alasan keamanan, disarankan agar meminta pengguna mengubah kata sandi mereka secara berkala. Ini dapat dilakukan dengan menggunakan perintah chage.

Kata sandi shadow mesti difungsikan untuk memakai chage

Kata sandi shadow mesti difungsikan untuk memakai perintah chage. Untuk informasi lebih lanjut, lihat Kata Sandi Shadow.

Untuk mengonfigurasi kedaluwarsa kata sandi bagi seorang pengguna dari prompt shell, jalankan perintah berikut sebagai root:

chage options username

…di mana options adalah opsi baris perintah seperti yang dijelaskan dalam opsi baris perintah chage. Ketika perintah chage diikuti langsung oleh nama pengguna (yaitu, ketika tidak ada opsi baris perintah yang ditentukan), perintah tersebut menampilkan masa berlaku kata sandi pengguna saat ini dan memungkinkan Anda untuk mengubah nilai-nilai ini secara interaktif.

Tabel 4. opsi baris perintah chage
Option Description

-d days

Specifies the number of days since January 1, 1970 the password was changed.

-E date

Specifies the date on which the account is locked, in the format YYYY-MM-DD. Instead of the date, the number of days since January 1, 1970 can also be used.

-I days

Specifies the number of inactive days after the password expiration before locking the account. If the value is 0, the account is not locked after the password expires.

-l

Lists current account aging settings.

-m days

Specify the minimum number of days after which the user must change passwords. If the value is 0, the password does not expire.

-M days

Specify the maximum number of days for which the password is valid. When the number of days specified by this option plus the number of days specified with the -d option is less than the current day, the user must change passwords before using the account.

-W days

Specifies the number of days before the password expiration date to warn the user.

You can configure a password to expire the first time a user logs in. This forces users to change passwords immediately.

  1. Set up an initial password. There are two common approaches to this step: you can either assign a default password, or you can use a null password.

    To assign a default password, type the following at a shell prompt as root:

    passwd namapengguna

    To assign a null password instead, use the following command:

    passwd -d username
    Avoid using null passwords whenever possible

    Using a null password, while convenient, is a highly insecure practice, as any third party can log in first and access the system using the insecure username. Always make sure that the user is ready to log in before unlocking an account with a null password.

  2. Force immediate password expiration by running the following command as root:

    chage -d 0 username

    This command sets the value for the date the password was last changed to the epoch (January 1, 1970). This value forces immediate password expiration no matter what password aging policy, if any, is in place.

Upon the initial log in, the user is now prompted for a new password.

Memfungsikan Log Keluar Otomatis

Especially when the user is logged in as root, an unattended login session may pose a significant security risk. To reduce this risk, you can configure the system to automatically log out idle users after a fixed period of time:

  1. Make sure the screen package is installed. You can do so by running the following command as root:

    dnf install screen

    For more information on how to install packages in Fedora, refer to Installing Packages.

  2. As root, add the following line at the beginning of the /etc/profile file to make sure the processing of this file cannot be interrupted:

    trap "" 1 2 3 15
  3. Add the following lines at the end of the /etc/profile file to start a screen session each time a user logs in to a virtual console or remotely:

    SCREENEXEC="screen"
    if [ -w $(tty) ]; then
      trap "exec $SCREENEXEC" 1 2 3 15
      echo -n 'Starting session in 10 seconds'
      sleep 10
      exec $SCREENEXEC
    fi

    Note that each time a new session starts, a message will be displayed and the user will have to wait ten seconds. To adjust the time to wait before starting a session, change the value after the sleep command.

  4. Add the following lines to the /etc/screenrc configuration file to close the screen session after a given period of inactivity:

    idle 120 quit
    autodetach off

    This will set the time limit to 120 seconds. To adjust this limit, change the value after the idle directive.

    Alternatively, you can configure the system to only lock the session by using the following lines instead:

    idle 120 lockscreen
    autodetach off

    This way, a password will be required to unlock the session.

The changes take effect the next time a user logs in to the system.

Membuat Direktori Grup

System administrators usually like to create a group for each major project and assign people to the group when they need to access that project’s files. With this traditional scheme, file management is difficult; when someone creates a file, it is associated with the primary group to which they belong. When a single person works on multiple projects, it becomes difficult to associate the right files with the right group. However, with the UPG scheme, groups are automatically assigned to files created within a directory with the setgid bit set. The setgid bit makes managing group projects that share a common directory very simple because any files a user creates within the directory are owned by the group that owns the directory.

For example, a group of people need to work on files in the /opt/myproject/ directory. Some people are trusted to modify the contents of this directory, but not everyone.

  1. As root, create the /opt/myproject/ directory by typing the following at a shell prompt:

    mkdir /opt/myproject
  2. Add the myproject group to the system:

    groupadd myproject
  3. Associate the contents of the /opt/myproject/ directory with the myproject group:

    chown root:myproject /opt/myproject
  4. Allow users in the group to create files within the directory and set the setgid bit:

    chmod 2775 /opt/myproject

    At this point, all members of the myproject group can create and edit files in the /opt/myproject/ directory without the administrator having to change file permissions every time users write new files. To verify that the permissions have been set correctly, run the following command:

    ~]# ls -ld /opt/myproject
    drwxrwsr-x. 3 root myproject 4096 Mar  3 18:31 /opt/myproject
  5. Add users to the myproject group:

    usermod -aG myproject username

Sumber Daya Tambahan

For more information on how to manage users and groups on Fedora, see the resources listed below.

Installed Documentation

For information about various utilities for managing users and groups, see the following manual pages:

  • useradd(8) — Halaman manual untuk perintah useradd mendokumentasikan bagaimana memakainya untuk membuat pengguna baru.

  • userdel(8) — Halaman manual untuk perintah userdel mendokumentasikan bagaimana memakainya untuk menghapus pengguna.

  • usermod(8) — Halaman manual untuk perintah usermod mendokumentasikan bagaimana memakainya untuk mengubah pengguna.

  • groupadd(8) — Halaman manual untuk perintah groupadd mendokumentasikan bagaimana memakainya untuk membuat grup baru.

  • groupdel(8) — Halaman manual untuk perintah groupdel mendokumentasikan bagaimana memakainya untuk menghapus grup.

  • groupmod(8) — Halaman manual untuk perintah groupmod mendokumentasikan bagaimana memakainya untuk mengubah keanggotaan grup.

  • gpasswd(1) — Halaman manual bagi perintah gpasswd mendokumentasikan bagaimana mengelola berkas /etc/group.

  • grpck(8) — Halaman manual bagi perintah grpck mendokumentasikan bagaimana memakainya untuk verifikasi integritas berkas /etc/group.

  • pwck(8) — Halaman manual bagi perintah pwck mendokumentasikan bagaimana memakainya untuk verifikasi integritas berkas /etc/shadow.

  • pwconv(8) — Halaman manual untuk perintah-perintah pwconv, pwunconv, grpconv, dan grpunconv mendokumentasikan bagaimana mengonversi informasi ter-shadow bagi kata sandi dan grup.

  • id(1) — Halaman manual bagi perintah id mendokumentasikan bagaimana menampilkan ID pengguna dan grup.

Untuk informasi tentang berkas konfigurasi terkait, lihat:

  • group(5) — Halaman manual bagi berkas /etc/group mendokumentasikan bagaimana memakai berkas ini untuk mendefinisikan grup sistem.

  • passwd(5) — Halaman manual bagi berkas /etc/passwd mendokumentasikan bagaimana memakai berkas ini untuk mendefinisikan informasi pengguna.

  • shadow(5) — Halaman manual bagi berkas /etc/shadow mendokumentasikan bagaimana memakai berkas ini untuk menata kata sandi dan informasi kedaluwarsa akun bagi sistem.