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
| Kesalahan | Penyebab | Solusi |
|---|---|---|
artem is not in the sudoers file | Tidak ada di grup atau tidak login ulang | usermod -aG sudo artem, login ulang |
| Kunci tidak diterima | Izin pada .ssh lebih longgar dari 700 atau pemiliknya root | chown dan chmod seperti di atas |
| Kata sandi sudo tidak berfungsi | Pengguna tidak memiliki kata sandi | passwd artem |
| Mengedit sudoers merusak sudo | Kesalahan sintaks pada file | Hanya visudo; perbaiki melalui mode penyelamatan |
Edit
/etc/sudoerssecara eksklusif dengan perintahvisudo— perintah ini memeriksa sintaks sebelum menyimpan. File yang rusak mencabut sudo dari semua orang sekaligus.