Salin dan Bagikan
Panduan Administrasi Sistem Linux untuk Pemula: User Management dan Permissions - Tutorial lengkap administrasi sistem Linux untuk pemula mencakup user management, group management, …

Panduan Administrasi Sistem Linux untuk Pemula: User Management dan Permissions

Panduan Administrasi Sistem Linux untuk Pemula: User Management dan Permissions

Administrasi sistem Linux adalah skill fundamental yang harus dikuasai oleh setiap pengguna Linux, terutama yang menggunakan Linux untuk server atau development. Artikel ini membahas dasar-dasar administrasi sistem dengan fokus pada user management dan permissions.

User Management

1. Membuat User Baru

# Membuat user baru
sudo adduser username

# Atau dengan useradd (minimal)
sudo useradd -m username

# Set password
sudo passwd username

Perbedaan adduser dan useradd:

  • adduser: Interactive, user-friendly, membuat home directory dan setup default
  • useradd: Low-level, minimal, memerlukan opsi tambahan

2. Membuat User dengan Home Directory

# Dengan home directory
sudo useradd -m -d /home/username -s /bin/bash username

# -m: Create home directory
# -d: Specify home directory path
# -s: Specify default shell

3. Menambahkan User ke Groups

# Add user ke sudo group
sudo usermod -aG sudo username

# Add ke multiple groups
sudo usermod -aG sudo,docker,www-data username

# -a: Append (jangan lupa!)
# -G: Secondary groups

4. Mengubah User Properties

# Ganti username
sudo usermod -l newname oldname

# Ganti home directory
sudo usermod -d /new/home/dir -m username

# Ganti shell
sudo usermod -s /bin/zsh username

# Lock user
sudo usermod -L username

# Unlock user
sudo usermod -U username

5. Menghapus User

# Hapus user (keep home directory)
sudo userdel username

# Hapus user dan home directory
sudo userdel -r username

# Hapus dengan force (jika user sedang login)
sudo userdel -f username

6. Melihat Informasi User

# List semua users
cat /etc/passwd

# Cek user exists
id username

# Detail user
finger username
# atau:
getent passwd username

# User yang sedang login
who
w
last

Group Management

1. Membuat Group

# Membuat group baru
sudo groupadd groupname

# Dengan GID spesifik
sudo groupadd -g 1001 groupname

2. Mengubah Group

# Ganti nama group
sudo groupmod -n newname oldname

# Ganti GID
sudo groupmod -g 1002 groupname

3. Menghapus Group

sudo groupdel groupname

4. Melihat Group Information

# List semua groups
cat /etc/group

# Groups yang dimiliki user
groups username

# Primary group
id -gn username

# Semua groups
id username

File Permissions

1. Memahami Permission System

Struktur permission: -rwxrwxrwx

Position: 1234567890
         |---|---|---
          |    |    |
          |    |    +-- Others permissions
          |    +------- Group permissions
          +------------ Owner permissions

Tipe file:

  • -: Regular file
  • d: Directory
  • l: Symbolic link
  • c: Character device
  • b: Block device

Permission types:

  • r (read): 4
  • w (write): 2
  • x (execute): 1

2. Mengubah Permissions dengan chmod

# Numeric mode
chmod 755 file.txt    # rwxr-xr-x
chmod 644 file.txt    # rw-r--r--
chmod 600 file.txt    # rw-------
chmod 777 file.txt    # rwxrwxrwx (avoid!)

# Symbolic mode
chmod u+x file.txt    # Add execute for owner
chmod g-w file.txt    # Remove write for group
chmod o+r file.txt    # Add read for others
chmod a=r file.txt    # Set read-only for all

# Recursive
chmod -R 755 directory/

3. Mengubah Ownership dengan chown

# Ganti owner
sudo chown user file.txt

# Ganti group
sudo chown :group file.txt

# Ganti owner dan group
sudo chown user:group file.txt

# Recursive
sudo chown -R user:group directory/

# Copy ownership dari file lain
sudo chown --reference=file1.txt file2.txt

4. Mengubah Group dengan chgrp

# Ganti group
sudo chgrp groupname file.txt

# Recursive
sudo chgrp -R groupname directory/

Special Permissions

1. Setuid (Set User ID)

# Set setuid bit
chmod u+s /usr/bin/somebinary

# Numeric: 4
chmod 4755 /usr/bin/somebinary

# Check
ls -l /usr/bin/somebinary
# Output: -rwsr-xr-x

2. Setgid (Set Group ID)

# Set setgid bit pada file
chmod g+s file.txt

# Set setgid bit pada directory (new files inherit group)
chmod g+s directory/

# Numeric: 2
chmod 2755 directory/

# Check
ls -l directory/
# Output: drwxr-sr-x

3. Sticky Bit

# Set sticky bit (hanya owner bisa delete file di directory)
chmod +t /tmp

# Numeric: 1
chmod 1777 /tmp

# Check
ls -ld /tmp
# Output: drwxrwxrwt

Access Control Lists (ACL)

1. Install ACL

sudo apt install acl

2. Menggunakan setfacl

# Grant read+write untuk user spesifik
setfacl -m u:username:rw file.txt

# Grant read+execute untuk group
setfacl -m g:groupname:rx directory/

# Grant untuk everyone
setfacl -m o::r file.txt

# Recursive
setfacl -R -m u:username:rwx directory/

# Set default ACL untuk new files
setfacl -d -m u:username:rw directory/

3. Menggunakan getfacl

# View ACL
getfacl file.txt

# View directory ACL
getfacl directory/

# Remove ACL
setfacl -x u:username file.txt

# Remove all ACL
setfacl -b file.txt

System Maintenance

1. Disk Space Management

# Cek disk space
df -h

# Cek directory size
du -sh /path/to/directory

# Top 10 largest directories
du -h / | sort -rh | head -10

# Find large files
find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null

# Cleanup package cache
sudo apt clean
sudo apt autoremove

2. Memory Management

# Cek memory usage
free -h

# Top memory consuming processes
ps aux --sort=-%mem | head -10

# Monitor dengan htop
htop

# Clear cache (hati-hati!)
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches

3. Process Management

# List processes
ps aux

# Tree view
ps auxf

# Cek process dengan resource tertinggi
top
htop

# Kill process
kill PID
kill -9 PID

# Kill by name
killall processname

# Nice level (priority)
nice -n 10 command
renice -n 10 -p PID

4. Log Management

# View system logs
sudo tail -f /var/log/syslog

# View authentication logs
sudo tail -f /var/log/auth.log

# Rotate logs manual
sudo logrotate -f /etc/logrotate.conf

# Journal logs (systemd)
journalctl -xe
journalctl -u servicename

System Monitoring

1. Uptime dan Load

# Uptime
uptime

# Load average
 cat /proc/loadavg

# CPU info
lscpu
cat /proc/cpuinfo

2. Network Monitoring

# Network connections
netstat -tulpn
ss -tulpn

# Bandwidth usage
iftop
nload

# Interface statistics
ip -s link

3. Scheduled Tasks

# List cron jobs
 crontab -l

# Edit cron
crontab -e

# System cron
ls /etc/cron.*
cat /etc/crontab

# View cron logs
grep CRON /var/log/syslog

Best Practices

1. Security

# Disable root SSH login
sudo nano /etc/ssh/sshd_config
# PermitRootLogin no

# Lock unused accounts
sudo usermod -L username

# Check for SUID files (potential security risk)
find / -perm -4000 -type f 2>/dev/null

# Check world-writable files
find / -perm -2 -type f 2>/dev/null

2. User Creation Checklist

# 1. Create user
sudo adduser username

# 2. Add to appropriate groups
sudo usermod -aG sudo,users,www-data username

# 3. Set password policy
sudo passwd username

# 4. Create home directory (automatic dengan adduser)

# 5. Copy default configs
sudo cp /etc/skel/.bashrc /home/username/
sudo cp /etc/skel/.profile /home/username/

# 6. Set ownership
sudo chown -R username:username /home/username

# 7. Test login
su - username

3. Regular Maintenance Script

#!/bin/bash
# maintenance.sh

echo "=== System Maintenance ==="

# Update
echo "Updating system..."
sudo apt update && sudo apt upgrade -y

# Cleanup
echo "Cleaning up..."
sudo apt autoremove -y
sudo apt clean

# Check disk space
echo "Disk space check:"
df -h

# Check failed services
echo "Failed services:"
sudo systemctl --failed

# Check logs
echo "Recent errors:"
sudo grep -i "error" /var/log/syslog | tail -5

echo "=== Maintenance Complete ==="

Troubleshooting

1. Permission Denied

# Check permissions
ls -la file.txt

# Check ownership
ls -l file.txt

# Fix ownership
sudo chown $USER:$USER file.txt

# Fix permissions
chmod 644 file.txt

2. User Cannot Login

# Check if account locked
sudo passwd -S username

# Check shell validity
cat /etc/shells
grep username /etc/passwd

# Check home directory exists
ls -ld /home/username

3. Command Not Found After User Creation

# Check PATH
echo $PATH

# Source profile
source ~/.bashrc
source ~/.profile

# Check shell
 echo $SHELL

Kesimpulan

Administrasi sistem Linux meliputi:

  1. User Management: Membuat, mengubah, menghapus user accounts
  2. Group Management: Mengelola group memberships
  3. Permissions: Mengontrol access ke files dan directories
  4. Special Permissions: Setuid, setgid, sticky bit
  5. ACL: Access control untuk granular permissions
  6. Maintenance: Disk, memory, process, dan log management

Menguasai konsep-konsep ini adalah dasar untuk menjadi Linux system administrator yang kompeten.

Artikel Terkait

Link Postingan : https://www.tirinfo.com/panduan-administrasi-sistem-linux-user-management-permissions/

Hendra WIjaya
Tirinfo
6 minutes.
3 February 2026