Memahami dan Mengatur File Attribut serta Hak Akses pada Linux

memahami file atribut pada linux dan cara mengatur hak akses user pada linux

Memahami Hak Akses User(User Privileges)

Sebenarnya windows dan linux sama-sama menggunakan attribut file permission untuk mengatur hak akses user dan aplikasi terhadap sebuah file,pembatasan hak akses ini dibuat untuk tujuan keamanan.

Pada Windows -Kebanyakan pengguna windows tidak mau tau dan windows pun memberi kemudahan walau user komputer disetting tidak sebagaimana mestinya(semua user mempunyai hak akses administrator),mungkin karena windows dibuat agar penggunanya nyaman dan kesan nya tidak ada error, namum pengaturan hak akses user yang tidak benar (semua user berlevel administrator) memberikan resiko mudahnya malware menginfeksi seluruh sistem ketika user ceroboh mengeksekusi sebuah file yang ternyata malware.pada intinya privilage/hak akses dibuat untuk membatasi akses fitur penting pada sistem operasi agar tidak disalahgunakan oleh user yang tidak bertanggung jawab /malware,karena malware pada dasarnya perintah dan tindakan user yang dikemas dalam bentuk aplikasi.

Malware perlu hak akses tertinggi-Malware memerlukan hak akses tertinggi (administrator pada windows,root pada linux) untuk bisa menginfeksi sebuah sistem dengan utuh,jika malware berjalan pada user biasa maka fungsi malware tidak akan berjalan sempurna karena tidak bisa membaca dan mengakses file dan fitur penting sistem operasi yang hanya bisa diakses oleh user dengan privilage tertinggi (administrator/root). oleh karena itu biasanya malware telah disenjatai dengan  tehnik

privilage sistem pertahanan akhir linux terhadap hacker dan exploit

Pada Linux-Pemberian user privilage harus dipikirkan dengan matang-matang, apalagi untuk user dengan privilage root (setara hak akses administrator pada windows),karena root adalah dewa , dinama root # bisa melakukan apapun terhadap sistem karena root merupakan hak akses tertinggi pada linux sistem.

privilage escalation(pengangkatan hak akses user secara paksa) yang berfungsi untuk menggkat privilage dari user biasa ke administrator/root agar malware bisa berjalan dan menginfeksi sistem dengan sempurna.

hakSecara default user biasa pda linux mempunyai hak akses yang sangat terbatas terhadap sistem (tidak bisa mengakses setting dan file system) sehingga keamanan di linux lebih terjamin dibandingkan windows yang terkesan “umbaran” dalam memberikan hak akses walau pada user biasa sekalipun, pada windows OS juga sangat mudah untuk melakukan privilage user escalation dan banyak cara untuk membypass pertahanan windows,sedangkan di Linux akan sangat susah karena linux mempunyai komunitas opensource yang sangat besar sehingga pembaruan Kernel dan Patch system sering sekali dilakukan untuk mengatasi berbagai macam masalah keamanan.

Memahami  Attribut file permission dan ownership pada Linux

Pada dunia keamanan,File permission dan attribut pada linux digunakan untuk mempertahankan system dari hacker yang mempunyai akses ke mesin,baik akses langsung fisik,remote atau melalui malware.Walau hacker telah berhasil masuk kedalam sistem linux,bukan berarti hacker telah  memegang kendali 100% sebelum dia berhasil mengangkat user privilage  menjadi root.File permission dan attribut berperan penting dalam mempertahankan linux dari hacker karena tanpa memegang root privilage maka hak akses dan ruang gerak hacker akan  sangat terbatas (bisa masuk tapi tidak bisa melakukan apa-apa) .

File attribut dan permission digunakan pada linux dengan multi user untuk mengatur hak akses sebuah file ,sehingga user tidak bisa melihat dan mengakses file milik user lain yang ada di dalam sistem tersebut.

Intinya-File permission dan attribut (ownership) adalah komponen penting linux yang menyediakan cara aman untuk menyimpan file dengan membatasi hak akses kepada  user lain yang ada di dalam sistem.

File attribute- Pada Unix Like OS (termasuk Linux dan MacOS) setiap file mempunyai 3 attribut yang menerangkan akan hak akses ke file tersebut yaitu –

Owner Permission – Hak akses/permission terhadap pemilik/pembuat file tersebut

Group Permission -Hak akses/permission suatu group dan semua user didalam group tersebut terhadap file tersebut.

Other (World) permission – Hak akses untuk semua user yang ada di dalam sistem tersebut (baik owner,group dan user lain yang ada dalam sistem) terhadap file tersebut

Indikator Permission – Untuk melihat file permission kamu bisa menggunakan perintah ls -l dan hasilnya akan terlihat seperti dibawah ini :

penjelasan attribut permission pada linux files

Keterangan : 

  1. Jumlah block yang terpakai oleh file                                            5. Jumlah Hardlink yang menuju ke file/directory tersebut
  2. Jenis File(digit pertama) dan Owner Permission(digit ke 2-4)     6. File Owner (User dan Group Owner)
  3. Group Permission (digit ke 5-7)                                                    7. Ukuran File
  4. Other /World Permission (digit ke 8-10)                                       8. Nama File /Folder (Warna Biru untuk folder,putih file tanpa atribut X dan hijau untuk file dengan attribut executable-X)

Digit pertama merupakan attribute special permission yang bisa salah satu dari attribut dibawah ini

  • _ – File biasa tanpa special permisison
  • d – Directory/folder
  • – Sysmbolic link dari file atau directory
  • s/g  – Menandakan setuid/setgid permissions. digunakan untuk menberitahu system agar file executable dijalankan menggunakan user owner /group owner permission ketika dijalankan user lain.
  • t – Indikasi dari sticky bit permissions. attribut ini biasanya diletakan di digit akhir (hasil tampilan ari perintah ls -l), attribut sticky bertujuan untuk mencegah penghapusan file oleh user lain yang mempunyai read-write access terhadap file tersebut (*file /directory)
  • S /T/G dengan huruf besar menandakan bahwa file tidak diberi atribut permission x sedangkan s/t dengan huruf kecil menandakan file diberi atribut permission x

Kolom pertama yang perlu diperhatikan, kolom pertama dibagi menjadi 3 seksi (nomer 234) kolom inilah yang merupakan attribut permission dari sebuah file. Setiap section terdiri dari 3 digit attribut yang bisa diisi dengan rwx

3 Permission dasar pada linux – Permission untuk Memodifikasi file(Write – W) ,Membaca file (Read- R) dan mengeksekusi/menjalankan  (execute – X) jika file tersebut berbentuk binnary,tanda – pada attribut menandakan file tersebut tidak mempunyai permission yang seharusnya ada pada kolom tersebut.Atribut permission sebuah file mempunyai urutan rwx ,jika file hanya mempunyai permission read maka menjadi r– , permission ini dibagi menjadi 3 seksi seperti yang dijelaskan sebelum nya yaitu Owner,Group dan other (world)

Ownership /Hak kepemilikan File dalam Linux

Penjelasan detail akan dibahas pada bab ini,jadi jangan melakukan quick reading agar kamu benar-benar paham karena ini sangat penting dan agak membingungkan khususnya bagi pemula.

Pada contoh diatas terlihat semua file dan folder mempunyai owner dan group owner(6) yang sama yaitu user masarie sebagai owner dan group users sebagai group owner , dari informasi kotak nomer 6 pada gambar diatas bisa kita tafsirkan sebagai berikut :

Owner permission attribute (user masarie) berada di kotak nomer 2 yaitu pada digit 2-4 (rwx),digit pertama menerangkan jenis file (d untuk directory – untuk file biasa dan l untuk Link/shortcut)

Group permision (semua user yang berada di group users) berada di kotak nomer 3 yaitu digit ke 5-7

Permision untuk other/world berada pada 3 digit terakhir di kotak nomer 4 ,yang artinya semua user selain user masarie dan  semua user yang tidak masuk dalam group users menggunakan permission pada kotak nomer 4 yaitu digit 8-10

Root adalah dewa-Bisa melakukan apapun bahkan bisa mengakses file  dengan permision 000 (———) ,jadi berhati-hatilah memberikan akses root kepada user (menggunakan sudo)

Mengatur File Permission dan Ownership pada linux

Secara default owner dari sebuah file adalah user dan group dari pembuat file tersebut, namun adakalanya kita perlu meyesuaikan ownner dari sebuah file untuk kepentingan konfigurasi lebih lanjut,misalnya sharing file dengan user lain atau saat penginstallan aplikasi /service.

sebagai contoh jika kita membuat file dengan nama jajal menggunaan user masarie (masarie berada di group users) maka permision untuk file yang baru kita buat dengan user tersebut akan terlihat seperti dibawah ini :

[[email protected] ~]$ touch jajal
[[email protected] ~]$ ls -l jajal 
-rw-r--r-- 1 masarie users 0 Jul 11 14:25 jajal
[[email protected] ~]$

pada contoh diatas owner dari file tersebut adalah user masarie (permision read-write)dan permision untuk group dan world adalah read-only (r)

Ownership hanya bisa diubah oleh user root atau user yang berada di sudo list sedangkan permission hanya bisa diubah oleh owner dari file tersebut, selain owner tidak bisa merubah permission walau user lain diberi permission rwx sekalipun.

Merubah Ownership

Untuk bisa merubah ownership sebuah file /folder  user harus mempunyai privilage root,baik melalui sudo atau berada di group root /wheel. perintah chown digunakan untuk mengeset owner dan group owner sebuah file misalnya perintah sudo chown andi:users laporan.doc merubah kepemilikan/owner file laporan.doc ke user andi dan mengatur permision semua user yang ada di groups users terhadap file laporan.doc ,dan semua user yang tidak berada di grup users ataupun andi menggunakan permission other(world). Dengan kata lain hanya user andi yang bisa mengubah permission dari file tersebut,karena user andi merupakan owner dari file laporan.doc 

format perintah merubah ownership – sudo chown user:group namaFile contoh: sudo chown andi:users laporan.doc

Menggunakan Binary References untuk merubah permissions

Cara ini merupakan cara favorit yang digunakan oleh banyak user linux karena untuk mengeset permission owner,group dan other bisa dilakukan dengan  simpel  cukup memasukan 3 digit angka kepada chmod command, setiap permission diwakili dengan angka dan setiap attribut (r/w/x) mempunyai nilai yang berbeda seperti dijabarkan dibawah ini :

Contohchmod 640 dokumen1 – yang artinya mengeset attribut permission file dengan nama dokumen1 sehingga owner mempunyai permission read-write ,group mempunyai permisson read dan other tidak mempunyai permision apapun terhadap file ini.

Digit pertama mewakili permission untuk owner,digit kedua mewakili permission untuk group dan digit ketiga mewakili permission untuk other(world).Adapun nilai dari masing-masing attribut permission (rwx) adalah :

r=4  (read /dibolehkan membaca file)
w=2 (write /dibolehkan mengedit-delete file)
x=1  (executable /dibolehkan mengeksekusi file untuk file binnary)
t=1  (adalah permission untuk mengeset  sticky bit dan diletakan di digit pertama misal 1640)
s=4  (SUID attribut,agar aplikasi menggunakan user owner berikut permission nya ketika dijalankan oleh user lain)
g=2  (SGID attribut,agar aplikasi menggunakan group owner berikut permission nya ketika dijalankan oleh user lain)

untuk mengeset permission sesuai dengan yang kamu inginkan,kamu hanya perlu menjumlahkan total nilai dari permission yang ingin kamu gunakan.

contoh: file dengan nama dokumen1 ingin dirubah dengan permission -rw-r—– kamu hanya perlu memasukan 640 ke chmod command darimana asalnya angka 640?
pertama – kita bagi attribut permission diatas menjadi 3 bagian yaitu owner permision,group dan other permission seperti dibawah ini
-rw-               r–          —
0+4+2+0   4+0+0    0+0+0
kedua – kita jumlahkan nilai permission untuk setiap bagian(section)
6                     4              0
ketiga -tinggal kita masukan ke chmod command angka 640 (chmod 640 dokumen1)yang sama artinya dengan -rw-r—– ,read write untuk owner,read untuk group dan otheer tidak diberi permission apapun.

Menggunakan symbolik/huruf untuk merubah permissions

kita juga bisa mengeset permission menggunakan symbol huruf ,walau caranya agak sedikit ribet karena saat pengesetan permission perlu dilakukan satu per satu baik untuk owner,group dan other.

r – Read
w – Write
x – Execute

Adapun simbol untuk mengeset permision yang kita maksud,kita gunakan simbol:

– Owner   -> Mengeset Owner permission
g – Group    ->Mengeset Group permission
o – Others    ->Mengeset Other permission
a – All users  ->Mengeset semua permission (owner,group dan other sekaligus)
Tanda + (plus) dan (minus) digunakan sebagai operator untuk meambahkan/mengaktifkan permission atau menghapus/mencabut permission.
Contoh – kita ingin mengeset permission sebuah file dengan nama dokumen.doc menjadi rwxr—–yang sebelum nya beratribut rwxrw-r– ,maka kita hanya perlu mengubah permission group dan other karena owner permission nya masih sama.
-Ubah group permision menjadi read only (r–) dengan menghapus permission write (w) menggunakan perintah chmod g-w dokumen.doc
-Ubah other permission menjadi nothing () dengan menghapus permission read (r) menggunakan perintah chmod o-r dokumen.doc
 gunakan tanda + jika kamu ingin menambahkan attribut dan tanda – jika ingin mencabut attribut

Advanced dan Special Permission

Linux mempunyai special permission selain permission rwx yang telah dijelaskan sebelum nya,permission ini sangat berguna ketika sistem yang kita bangun mulai sedikit rumit dengan user yang komplex dengan kebutuhan tertentu.

Sticky bit Permission

Permission ini digunakan untuk mengantisipasi dihapusnya sebuah file/folder oleh user  (other/world) yang mempunyai permission Write (w) terhadap file/folder tersebut,dengan demikian hanya root dan owner yang bisa mendelet file/folder tersebut. jadi ingat,attribut ini hanya digunakan untuk mengeset user yang masuk dalam kategori other/world (bukan owner ataupun group).
sticky bit permission dengan executable permission

numeric value sticky bit permission =1 dan sysmbolic character sticky bit permission =t

Contoh kita ingin mengeset sticky bit permission pada folder /home/share maka kita bisa mengesetnya menggunakan :

Cara symbolic
chmod o+t /home/share atau chmod +t /home/share 
Untuk menghapus atribut permision kita gunakan operator (minus)
chmod o-t /home/share atau chmod -t /home/share

Cara Numeric
Pertama kita harus tau permission seperti apa yang kita inginkan pada directory /home/share misal : drwxrw-rwx lalu kita mengkonversi kedalam numeric 3 digit  permission dan  menambahkan angka 1 pada digit awal menjadi 4 digit.
r(2)+w(4)+x(1)  r(2)+w(4)+ (0) r(2)+w(4)+x(1) –> drwxrw-rwx =767
chmod 1767 /home/share

setelah diberi attribut sticky bit permission maka jika dilihat menggunakan perintah ls -l maka akan terlihat seperti dibawah ini

T besar dan t Kecil pada sticky bit attribute

T besar dan t kecil memiliki makna yang berbeda, dimana T besar mengindikasikan atribut x tidak diset dan t kecil mengindikasikan attribut x diset.
Logic nya begini sticky bit + execute permision diwakili dengan t kecil dan  sticky bit + non execute permission diwakili dengan T besar
sticky bit permission tanpa executable permission

contoh: jika kita ingin membuat folder /home/share menjadi non executable tapi tetap menerapkan attribut sticky bit permission maka caranya :

Cara symbolic
chmod o+t /home/share atau chmod +t /home/share 

chmod o-x /home/share

Cara Numeric
Pertama kita harus tau permission seperti apa yang kita inginkan pada directory /home/share misal : drwxrw-rw- lalu kita mengkonversi kedalam numeric 3 digit  permission dan  menambahkan angka 1 pada digit awal menjadi 4 digit.
r(2)+w(4)+x(1)  r(2)+w(4)+ (0) r(2)+w(4)+(0) –> drwxrw-rw- =766
chmod 1766 /home/share

ketika kita lihat dengan perintah ls-l maka akan terlihat seperti dibawah ini (atribut T besar)

SUID Permission

SUID (Set owner User ID up on execution) merupakan special permission yang diberikan kepada file pada linux sistem.Secara normal ketika aplikasi dijalankan di linux aplikasi tersebut dieksekusi menggunakan user dan permission dari user itu sendiri.SUID memberikan permission secara sementara kepada aplikasi agar dijalankan menggunakan user dan permission dari owner file/aplikasi tersebut, bukan menggunakan user dan permission user yang menjalanan nya.
cara setting SUID permisison di linux

Kapan dan untuk apa SUID digunakan?

SUID digunakan ketika kita sebagai admin tidak mau memberikan akses root /sudo kepada user yang akan menjalankan aplikasi tertentu,tetapi aplikasi tertentu hanya bisa berjalan jika dijalankan oleh root maka solusinya adalah dengan set owner aplikasi ke user root dan  menambahkan permission SUID ke aplikasi tersebut.Setelah aplikasi diset SUID maka aplikasi akan berjalan menggunakan user root dan permission root walau dijalankan oleh user biasa tanpa permission root /sudo.

Cara mengeset SUID pada sebuah file /aplikasi 

SUID memiliki numerical value 4 dan symbolic value s ,jadi untuk mengeset file/folder dengan attribut SUID kita hanya perlu menambahkan angka 4 pada digit pertama saat set permission menggunakan cara numerical/octal  dan menambahkan +s jika menggunakan cara symbolic

Contoh : kita ingin set SUID pada file degan nama aplikasi.sh

Cara symbolic
chmod u+s aplikasi.sh dan untuk menghapus SUID permission  gunakan  chmod u-s aplikasi.sh 

Cara Numeric
Pertama kita harus tau permission seperti apa yang kita inginkan pada file aplikasi.sh misal : -rwx–x–x lalu kita mengkonversi kedalam numeric 3 digit  permission dan  menambahkan angka 4 pada digit awal menjadi 4 digit.
r(2)+w(4)+x(1)    (0)+(0)+ x(1)     (0)+(0)+x(1) –> -rwx–x–x =711
chmod 4711 aplikasi.sh untuk menghapus SUID permission ganti 4 jadi tak ada chmod 711 aplikasi.sh

Mengeset SUID harus dilakukan oleh user owner yang ingin permission nya diturunkan (inherit) ketika file/aplikasi tersebut dijalankan oleh user lain.

S besar dan s kecil memiliki arti yang berbeda ketika muncul di atribut saat menggunakan perintah ls -l ,dimana S besar mengindikasikan atribut x tidak diset dan s kecil mengindikasikan attribut x diset. 
Logic nya begini SUID + execute permision diwakili dengan s kecil dan  SUID + non execute permission diwakili dengan S besar

SGID permisison

SGID (Set Group ID up on execution) adalah special permission yang diberikan untuk file/folder pada linux.Pada kasus normal,ketika user mengeksekusi file/aplikasi maka aplikasi tersebut akan berjalan menggunakan user dan permission user yang menjalankannya.SGID atribut memberikan permission sementara kepada user diluar group (other) untuk menjalankan file/aplikasi menggunakan permission group dari file/aplikasi itu sendiri.
cara setting SGID permission di linux

SGID mirip dengan SUID.Perbedaan nya adalah SUID menggunakan owner permission untuk menjalankan file/aplikasi sedangkan SGID menggunakan group permission untuk menjalankan file/aplikasi ketimbang menggunakan permission user yang menjalankan file/applikasi tersebut.

Cara mengeset SGID pada sebuah file /aplikasi 

SGID memiliki numerical value 2 dan symbolic value s ,jadi untuk mengeset file/folder dengan attribut SUID kita hanya perlu menambahkan angka 2 pada digit pertama saat set permission menggunakan cara numerical/octal  dan menambahkan +s jika menggunakan cara symbolic

Contoh : kita ingin set SGID pada file degan nama aplikasi.sh

Cara symbolic
chmod g+s aplikasi.sh dan untuk menghapus SUID permission  gunakan  chmod g-s aplikasi.sh 

Cara Numeric
Pertama kita harus tau permission seperti apa yang kita inginkan pada file aplikasi.sh misal : -rwxrwx— lalu kita mengkonversi kedalam numeric 3 digit  permission dan  menambahkan angka 2 pada digit awal menjadi 4 digit.
r(2)+w(4)+x(1)    r(2)+w(4)+ x(1)     (0)+(0)+(0) –> -rwxrwx— =770
chmod 2770 aplikasi.sh untuk menghapus SUID permission ganti 4 jadi tak ada chmod 770 aplikasi.sh

 

Hak Akses[privileges] user terhadap Shell dan Sudoers

Ketika user dibuat ,kita sebagai root bisa mengatur home directory dan apakah user tersebut dibolehkan mengakses shell atau tidak,karena user pada linux tidak semua memerlukan shell akses (untuk alasan keamanan) saat digunakan.

Taukah kamu ,di linux setiap service mempunyai user dan privilage sendiri untuk menjalankan service ,Misalnya MariaDB service (Database server) menggunakan user mysql tanpa shell (/sbin/nologin) dan aplikasi daemon (service)lain nya juga berkarakteristiks eperti mariaDB.

user dan shell linux

shell path /sbin/nologin pada user mysql  artinya user mysql memang tidak diberikan akses ke shell,karena service MariaDB yang menggunakan user mysql untuk menjalankan service tidak memerlukan shell(kalau gak perlu maka jangan dikasih,ini untuk alasan keamanan).

Apa itu Shell pada linux?

Shell -Simpel nya shell adalah program yang mengambil perintah dari ketikan yang kamu ketik lewat keyboard dan memberikan nya kepada Sistem operasi untuk dijalankan.Pada zaman dahulu kala shell merupakan  satu satunya interface yang ada pada komputer berbasis Unix untuk melakukan interaksi dengan komputer tersebut.Pada zaman modern seperti sekarang ini komputer mempunyai banyak interface seperti graphical user interfaces (GUIs) dan command line interfaces (CLIs) yang berguna seperti shell untuk mengetikan perintah dalam bentuk text dengan keyboard seperti zaman dahulu kala.

Aplikasi Shell -mayoritas Linux modern saat ini menggunakan bash yang bertindak sebagai aplikasi shell ,bash yang merupakan akronim dari Bourne Again SHell,merupakan pengembangan dari aplikasi shell sebelumnya dengan nama sh yang dibuat oleh Steve Bourne.bash bukan satu-satunya aplikasi shell namun bash digunakan oleh sebagian besar distro linux, aplikasi shell selain bash antara lain ksh,tcsh dan zsh.

Terminal emulator – Karena linux sekarang sudah menggunakan GUI dan untuk memudahkan mengakses shell maka linux menggunakan terminal emulator,ada banyak jenis terminal emulator saat ini yang pada dasarnya sama yaitu memudahkan user untuk mengakses shell dari GUI tanpa harus menggunakan remote SSH atau melalui TTY. bebrapa terminal emulator yang populer diantaranya Xterm,gnome-terminal,konsole,rxvt dll.

Cara setting privileges user untuk shell

Path– ada beberapa path yang menyatakan bahwah user tidak diberi akses ke shell, path ini baiknya dicek dulu untuk setiap distro linux yang kalian gunakan dan gunakan yang tersedia pada linux kalian .Path yang menyatakan tanpa wewenang shell antara lain /bin/false , /bin/nologin ,  /sbin/nologin ,  /usr/sbin/nologin . dengan memberikan path yang disediakan oleh sistem maka user masih bisa melakukan login melalui SSH (jika diberi permission remote dan login) dan bisa melakukan port forwarding (tehnik ini biasanya dipakai oleh jasa penjualan akun SSH premium untuk proxy)

Untuk  mengeset akses shell user bisa kita lakukan saat membuat user atau setelah user dibuat. contoh pemberian akses user ke shell saat user dinbuat [[email protected] masarie]# useradd -md /home/andi -s /bin/bash andi   dan untuk mencabut akses shell user andi maka kita gunakan perintah [[email protected] masarie]# usermod -s /bin/false andi

melihat shell user – Untuk melihat shell user  kita bisa melihat isi file /etc/passwd dengan perintah cat /etc/passwd  dan untuk melakukan pencarian tertentu kita gunakan cat /etc/passwd |grep andi
melihat shell yang digunakan user pada linux

Apa itu sudoers

Walau user diberi akses ke shell namun bukan berarti user tersebut mempunyai akses penuh ke mesin,karena hanya user dengan privilage root yang mempunyai akses tak terbatas terhadap  mesin.Pemberian privilage root harus dipertimbangkan dengan matang karena jika diberikan ke user yang salah maka akibatnya bisa fatal.

Sudo– Karena tanggung jawab yang begitu besar memegang akses root maka sudo ada dengan segala kemudahan nya, sudo pada dasarnya mengizinkan administrator memberikan wewenang kepada user atau user yang ada didalam group utnuk menjalankan perintah dengan privilage root (bukan user root tapi bisa menjalankan perintah root).

sudo merupakan alternatif dari su untuk menjalankan perintah sebagai root.tidak seperti su yang menjalankan shell /terminal emulator sebagai root,sudo hanya memberikan akses root secara sementara kepada sebaris perintah yang didepan nya dibubuhi sudo.Dengan hanya memberikan akses root secara sementara,sudo memeprkecil kemungkinan kerusakan system yang dikarenakan salah  mengetik perintah /typo. Contoh : jika kita ingin merubah owner menggunakan perintah chown maka kita tambahkan sudo didepannya agar perintah chown dieksekusi dengan privilage root  [[email protected] ~]$ sudo chown andi:users /home/andi

Cara setting privileges user untuk sudoers

Ada beberapa cara agar user yang kamu inginkan bisa mendapatkan akses root dengan memasukan user yang dimaksud pada sudoers,namun mengedit langsung file /etc/sudoers dan menambahkan user yang dimaksud adalah solusi paling mudah .

Edit file sudoers dengan perintah sudo nano /etc/sudoers dan tambahkan user dibawah ## User privilege specification dengan format namauser ALL=(ALL) ALL  jangan hapus baris  root ALL=(ALL) ALL tambahkan saja dibawah nya
memasukan user ke sudoers
save dengan menekan ctrl+x lalu Y lalu tekan enter

Mengelola user dan group

Untuk bisa setting privilage dengan tepat,maka sebagai administrator harus tau bagaimana mengatur user ,berikut ringkasan perintah untuk megelola user dan group

Mengelola User

Untuk Membuat user ,home directory dan shell gunakan perintah useradd -md /home/andi -s /bin/bash andi untuk mengeset password gunakan perintah passwd andi
Untuk melakukan pengaturan lain terhadap user gunakan perintah usermod --help untuk melihat opsi yang tersedia.
Gunakan perintah awk -F':' '{ print $1}' /etc/passwd untuk melihat user yang ada pada linux.

Untuk menghapus user dan home direcotory serta mail spool gunakan perintah userdel -r andi

Mengelola Group 

Untuk membuat group gunakan perintah groupadd groupName
Untuk melihat semua group dan anggota didalam nya gunakan perintah cat /etc/group
Gunakan perintah sudo usermod -a -G groupName userName untuk memasukan user ke group tertentu tanpa mengeluarkan dari group sebelum nya.
grpupdel namaGroup untuk menghapus group
sudo gpasswd -d user group untuk menghapus user dari group tertentu

Kesimpulan :

Linux meupakan sistem operasi yang mengatur privilage dengan sangat ketat,karena ketatnya privililage di linux inilah yang membuat linux sulit untuk diambil alih oleh hacker walau hacker sudah berhasil masuk ke mesin (jika dikonfigurasi dengan tepat).walau malware telah berjalan di linux karena tidak sengaja ter eksekusi ,sistem linux belum sepenuhnya terinfeksi asal yang menjalankan bukan user dengan privilage root. Akan sangat disarankan untuk tidak login root secara langsung saat menggunakan linux,gunakan sudo jika ingin mengekseskusi perintah dengan privilage root agar terhindar dari hal yang tidak diinginkan.

Root adalah privilage tertinggi pada linux,maka gunakan dan berikan ke user dengan bijak dan gunakan seperlunya,camkan peringatan yang muncul saat kamu menggunakan perintah sudo

[[email protected] ~]$ sudo vi /etc/resolv.conf

 We assume you have received the usual lecture from the local System
 Administrator. It usually boils down to these three things:

 #1) Respect the privacy of others.
 #2) Think before you type.
 #3) With great power comes great responsibility.

 Password: