Menulis izin pada file biner / file yang dapat dieksekusi: Apakah perlu?


0

Saya pikir:

echo hello world > /usr/bin/firefox

akan menampilkan pesan di browser. Tidak ada yang terjadi. Lalu saya mencoba:

echo hello world > /usr/bin/kwrite

untuk melihat apakah kwrite terbuka dengan 'hello world' yang diketik di depan. Sekali lagi, tidak ada yang terjadi. Kemudian setelah mencoba menjalankan kedua perintah:

computer:~$ kwrite
/usr/bin/kwrite: line 1: hello: command not found
computer:~$ firefox
/usr/bin/firefox: line 1: hello: command not found

Perbuatan ls -l /usr/bin/:

-rwxr-xr-x 1 root   root     182576 2012-08-21 06:42 apt-ftparchive
-rwxr-xr-x 1 root   root     116996 2012-08-21 06:41 apt-get
-rwxr-xr-x 1 root   root    2151596 2011-10-20 21:45 aptitude
-rwxr-xr-x 1 root   root       1939 2011-10-20 21:45 aptitude-create-state-bundle
-rwxr-xr-x 1 root   root       3007 2011-10-20 21:45 aptitude-run-state-bundle
-rwxr-xr-x 1 root   root       7336 2012-08-21 06:41 apt-key
lrwxrwxrwx 1 root root   20 2012-12-29 10:41 /usr/bin/firefox -> /opt/firefox/firefox
-rwxr-xr-x 1 root root 5476 2010-11-17 04:58 /usr/bin/kwrite
-rwxr-xr-x 1 root   root     181104 2010-02-16 01:40 zip
-rwxr-xr-x 1 root   root       1184 2011-01-21 23:49 zxpdf

File biner di /usr/bin (dan folder nampan lainnya) di sistem saya, setidaknya pengguna menulis izin pada (?) Jadi apa yang saya lakukan secara efektif adalah menulis ke executable 'hello world', meskipun /usr/bin/kwrite adalah binary exec sementara /opt/firefox/firefox adalah skrip shell

Jadi jelas bahwa file yang dapat dieksekusi rentan terhadap jenis kecelakaan ini. Jadi saya ingin bertanya apakah izin menulis itu diperlukan. Saya ingin mematikannya namun saya ingin memastikan saya tidak melewatkan sesuatu di sini.


1
Anda mencoba hal ini sebagai pengguna root?
Keith

Iya nih. Saya adalah pengguna root.
WikiWitz

Jawaban:


6

Pertama, Anda pasti sudah mencoba echo hello world > /usr/bin/kwrite sebagai root sejak semua w atau menulis bit

mati -rwxr-xr-x untuk pengguna dan grup. Untuk pertanyaan kedua Anda, hanya root yang memiliki izin untuk menulis

kebanyakan file biner kecuali dikompilasi dan diinstal oleh pengguna normal.

Anda harus memoles notasi izin file Anda juga. ini bagus link


Jadi apa bedanya jika root kehilangan izin menulis pada binari?
WikiWitz

Anda tidak akan dapat memperbarui / meningkatkan ketika pembaruan baru dirilis. Dan, seharusnya tidak ada alasan untuk menghapus root izin menulis dari file yang dapat dieksekusi. Bagaimanapun, pengguna root adalah orang yang memelihara sistem.
WeloSefer

2

File biner memiliki izin menulis pengguna, karena pengguna adalah root . Hanya root yang bisa menulis /usr/bin.

Anda harus benar-benar memoles tidak melakukan hal-hal sederhana (seperti menggunakan browser dan pengolah kata) sebagai root. Lihat Membatasi Kerusakan di sini: http://www.howtogeek.com/124950/htg-explains-why-you-shouldnt-log-into-you-linux-system-as-root/

Juga, Anda mungkin akan melihat ada beberapa .sh file dalam /usr/bin. Ini mungkin bisa diedit oleh root jika perlu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.