Skip to content
VDS · Sistem operasi

User dan sudo alih-alih root

Cara membuat user kerja, memberinya sudo, memindahkan SSH key, dan berhenti login ke server sebagai root.

Diperbarui 23 Agustus 2026

Mesin ini hadir dengan akses root penuh, dan insting pertama Anda adalah tetap bekerja sebagai root. Itu praktis sampai ada salah ketik pertama pada rm -rf. Konfigurasi yang benar berbeda: pengguna biasa untuk tugas sehari-hari, root melalui sudo dan hanya saat Anda benar-benar membutuhkannya.

Buat pengguna

Debian dan Ubuntu:

adduser artem
usermod -aG sudo artem

AlmaLinux dan CentOS Stream:

adduser artem
passwd artem
usermod -aG wheel artem

Grupnya berbeda: sudo pada keluarga Debian, wheel pada keluarga RHEL. Periksa haknya:

sudo -l -U artem

Pindahkan kunci SSH

Kunci yang ditambahkan di tab "Access" pada panel /hosting/vds/m/<id> tersimpan pada pengguna root. Anda harus menempatkannya untuk pengguna baru sendiri:

mkdir -p /home/artem/.ssh
cp /root/.ssh/authorized_keys /home/artem/.ssh/
chown -R artem:artem /home/artem/.ssh
chmod 700 /home/artem/.ssh
chmod 600 /home/artem/.ssh/authorized_keys

Izin di sini bukan formalitas: jika terlalu longgar, sshd akan diam-diam menolak menerima kunci tersebut.

Pastikan Anda dapat masuk sebagai pengguna baru di jendela terminal terpisah tanpa menutup jendela saat ini:

ssh artem@<address>
sudo whoami

Hanya setelah pemeriksaan berhasil, Anda boleh lanjut ke menonaktifkan login root.

Cara menggunakan sudo

sudo systemctl restart nginx
sudo -i
sudo -u www-data ls /var/www

sudo -i memberi Anda shell root penuh — untuk rangkaian perintah, bukan untuk pekerjaan permanen. Setiap pemanggilan sudo tercatat di log, dan itulah jejak Anda saat menyelidiki insiden:

journalctl -t sudo -n 50
grep sudo /var/log/auth.log

Selengkapnya tentang log — siapa yang masuk ke mesin.

Hak untuk layanan

Kesalahan umum lainnya adalah menjalankan aplikasi sebagai root "supaya berjalan". Untuk setiap layanan, buat pengguna sistem tanpa shell:

useradd --system --no-create-home --shell /usr/sbin/nologin appsrv
chown -R appsrv:appsrv /opt/app

Dengan begitu, celah pada aplikasi tidak langsung menyerahkan seluruh mesin kepada penyerang.

Kesalahan umum

KesalahanPenyebabSolusi
artem is not in the sudoers fileTidak ada di grup atau tidak login ulangusermod -aG sudo artem, login ulang
Kunci tidak diterimaIzin pada .ssh lebih longgar dari 700 atau pemiliknya rootchown dan chmod seperti di atas
Kata sandi sudo tidak berfungsiPengguna tidak memiliki kata sandipasswd artem
Mengedit sudoers merusak sudoKesalahan sintaks pada fileHanya visudo; perbaiki melalui mode penyelamatan

Edit /etc/sudoers secara eksklusif dengan perintah visudo — perintah ini memeriksa sintaks sebelum menyimpan. File yang rusak mencabut sudo dari semua orang sekaligus.