Bagaimana saya bisa melindungi file dari perubahan pengguna?

15

Saya menggunakan Ubuntu 12.04 dan saya ingin melindungi beberapa gambar pengguna lain menggunakan perintah su (Saya memiliki hak admin). Bagaimana saya bisa melindungi file menggunakan terminal sementara masih memungkinkan pengguna untuk membacanya?

Jatttt
sumber
Saya ingin siapa pun dapat melihatnya, tetapi bot tidak dapat mengedit dari menghapusnya
Jatttt
@ user222588 terdengar cukup jelas, jangan khawatir
Bruno Pereira
Metode ini tergantung di mana file-file itu, di mana mereka berada? Sebuah usb, hard drive utama Anda?
Braiam

Jawaban:

25

Ubuntu menggunakan format sistem file EXT4 secara default (saya berasumsi bahwa kita tidak membicarakan hal lain di sini).

Jika Anda tidak ingin mengambil kepemilikan file tanpa menghapus kemampuan pengguna untuk membaca file itu, Anda bisa mulai dengan membolehkan mereka membaca, tetapi tidak menulis ke file itu dengan:

chmod a-w,ug+r foo_file

deskripsi: ubah izin file, semua tidak bisa menulis , pengguna + grup dapat membaca

Kemudian dapat membuat file tidak dapat diubah sehingga bahkan pengguna dengan izin root tidak dapat mengubah lalu dengan menggunakan yang berikut:

sudo chattr +i foo_file

Untuk dapat menghapus atau bahkan memodifikasi file ini, Anda perlu menggunakan perintah:

sudo chattr -i foo_file

dan kemudian Anda akan dapat melakukan sesuatu dengannya.

Titik plus menggunakan ini adalah bahwa sebagian besar pengguna (dan admin) tidak pernah mengalami file yang tidak dapat diubah di Linux.

Itu adalah pengguna akan melihat ini ketika mencoba untuk menghapus (atau mengubah) file:

~> sudo chmod a-w,ug+r asd
~> ll asd
-r--r--r-- 1 bruno bruno 156 feb 21 20:46 asd
~> sudo chattr +i asd
~> chmod +w asd
chmod: changing permissions of ‘asd’: Operation not permitted
~> rm asd
rm: remove write-protected regular file ‘asd’? y
rm: cannot remove ‘asd’: Operation not permitted
~> sudo rm asd
rm: cannot remove ‘asd’: Operation not permitted

sementara masih bisa membacanya:

~> cat asd
asd
...
Videos

Setelah Anda mengeluarkan chattr +ifile "terkunci", tidak ada perubahan yang dapat dilakukan sampai pengguna dengan izin root menonaktifkannya chattr -i.

Bruno Pereira
sumber
Salut teman saya penjelasan yang bagus.
rɑːdʒɑ
8

Cukup gunakan seperti di bawah ini di terminal Anda ( CTRL+ ALT+ T)

chmod 700 -R /path/to/directory
rɑːdʒɑ
sumber
apa yang salah dengan ini? suara negatif dengan alasan yang tepat sangat dihargai.
rɑːdʒɑ
1

Coba perintah di bawah ini pada terminal,

chmod u-rw /path/to/directory

Perintah di atas tidak akan mengizinkan pengguna atau grup lain untuk membaca atau menulis direktori tempat gambar disimpan.

chmod u+rw /path/to/directory

Untuk mengembalikan perubahan, jalankan perintah di atas.

Avinash Raj
sumber
1
berikan alasan untuk downvote.
Avinash Raj
2
Saya membayangkan downvote adalah karena Anda mengambil hak dari pemilik, bukan pengguna dan grup lain.
Ben Voigt
0

Jika Anda ingin mengenkripsi file yang dapat Anda gunakan bcryptuntuk mengenkripsi dan mendekripsi file. Ini menggunakan enkripsi file blowfish.

ketik: sudo apt-get install bcryptuntuk menginstalnya.

Setelah instalasi ketik sudo bcrypt file-nameuntuk mengenkripsi itu.

g_p
sumber
0

Saya merekomendasikan untuk menggunakan Truecrypt untuk membuat "removable disk" terenkripsi ke 1 file. Jika Anda membuat misalnya partisi Truecrypt 1GB dan Anda dapat melindungi file ini dengan kata sandi. (Opsi ahli: Anda dapat menetapkan 2 kata sandi untuk file itu: dengan kata sandi pertama Anda melihat bagian normal file dan dengan kata sandi 2 Anda melihat bagian tersembunyi) Anda dapat memasang file ini di Linux, Mac atau Windows (mount to drive e:) dan Anda akan memperlihatkan file 1GB itu seperti flashdisk / flash drive, dan Anda dapat melepasnya saat diinginkan.

Jika Anda membuat file 1GB itu (atau ukuran apa pun, atau disk penuh atau flashdisk), Anda dapat menambahkan ekstensi apa pun untuk disembunyikan oleh file itu. (Jangan pernah menempatkan file itu di direktori home Anda sebagai secret.truecrypt.file.with.pwd lol)

Jika Anda menggunakan nama file sistem apa pun di folder sistem, mungkin pengguna biasa tidak akan menyadari bahwa itu bukan file sistem, melainkan file yang dienkripsi pribadi.

Misalnya untuk menyembunyikan file ini:

/usr/lib/libc8.2.so
/usr/lib/libxml24.so.9.1.3

Nama file temp lainnya:

Win386.swp
nsz17BE.tmp
mmc00C1B00C.xml
jusched.log
IMT211.xml
i4j8470767517827925011.tmp
FTP7F0.tmp
e4j3B.tmp
  • Pilih satu skema dan ubah angka untuk nama file.

  • dan juga mengatur hak ... dan setelah selesai menghapus perintah konsol sejarah

  • Dengan solusi itu, pengguna normal tidak akan pernah menemukan file rahasia Anda.

  • Di Flashdisk, buat folder TEMP dan gunakan nama file temp, seperti contoh file. dan buat beberapa cadangan dengan nama berbeda ...

Anda dapat menginstal truecrypt jika Anda mau, misalnya:

sudo add-apt-repository ppa:michael-astrapi/ppa
sudo apt-get update
sudo apt-get install truecrypt

Informasi lebih lanjut di beranda Truecrypt

Malaikat Jatuh
sumber
0

Jika dengan melindungi, maksud Anda mencegah modifikasi apa pun pada file-file ini sama sekali, pertimbangkan untuk menggunakan utilitas chattr . Ini memiliki opsi menandai file sebagai tidak dapat diubah (tidak dapat diubah).

chattr +i /home/username/pictures/example1.png

Ini akan mencegah semua pengguna dan bahkan pengguna root menghapus atau memodifikasi file yang ditetapkan sebagai tidak dapat diubah.

Anda dapat membalikkan tindakan ini dengan mengganti "+ i" dengan "-i".

Graham G
sumber