Wie kann ich eine Datei vor Benutzeränderungen schützen?

15

Ich verwende Ubuntu 12.04 und möchte einige Bilder eines anderen Benutzers mit dem Befehl su schützen (ich habe Administratorrechte). Wie kann ich eine Datei mit dem Terminal schützen, während der Rest der Benutzer sie noch lesen kann?

Jatttt
quelle
Ich möchte, dass jeder es sehen kann, der es nicht bearbeiten oder löschen kann
Jatttt
@ user222588 klingt klar genug, keine Sorge
Bruno Pereira
Die Methode hängt davon ab, wo sich die Dateien befinden und wo sie sich befinden. Ein USB, Ihre Hauptfestplatte?
Braiam

Antworten:

25

Ubuntu verwendet standardmäßig das EXT4-Dateisystemformat (ich gehe davon aus, dass wir hier über nichts anderes sprechen).

Wenn Sie den Besitz der Datei nicht übernehmen möchten, ohne dass der Benutzer diese Datei nicht lesen kann, können Sie zunächst zulassen, dass die Benutzer diese Datei lesen, aber nicht mit den folgenden Schritten in sie schreiben:

chmod a-w,ug+r foo_file

Beschreibung: Dateiberechtigungen ändern, alle können nicht schreiben , Benutzer + Gruppe können lesen

Dann können Sie Dateien unveränderlich machen, sodass sich selbst Benutzer mit Root-Berechtigung nicht ändern können, indem Sie Folgendes verwenden:

sudo chattr +i foo_file

Um diese Datei löschen oder sogar ändern zu können, müssten Sie den folgenden Befehl verwenden:

sudo chattr -i foo_file

und dann können Sie etwas damit anfangen.

Das Plus daran ist, dass die meisten Benutzer (und Administratoren) noch nie unveränderliche Dateien unter Linux kennengelernt haben.

Dies wird dem Benutzer angezeigt, wenn er versucht, die Datei zu entfernen (oder zu ändern):

~> 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

noch lesen können:

~> cat asd
asd
...
Videos

Nachdem Sie chattr +ifestgestellt haben, dass die Datei "gesperrt" ist, können keine Änderungen vorgenommen werden, bis ein Benutzer mit Root-Berechtigungen sie mit deaktiviert chattr -i.

Bruno Pereira
quelle
Grüße meinen Freund. so eine nette Erklärung.
Donnerstag,
8

Verwenden Sie einfach wie unten in Ihrem Terminal ( CTRL+ ALT+ T)

chmod 700 -R /path/to/directory
rɑːdʒɑ
quelle
was ist daran falsch? negative Stimme mit einem guten Grund sehr geschätzt.
Donnerstag,
1

Versuchen Sie den folgenden Befehl auf dem Terminal,

chmod u-rw /path/to/directory

Mit dem obigen Befehl kann kein anderer Benutzer oder keine andere Gruppe das Verzeichnis lesen oder schreiben, in dem Bilder gespeichert sind.

chmod u+rw /path/to/directory

Um die Änderungen zurückzusetzen, führen Sie den obigen Befehl aus.

Avinash Raj
quelle
1
Bitte geben Sie den Grund für die Ablehnung an.
Avinash Raj
2
Ich würde mir vorstellen, dass der Nachteil darin besteht, dass Sie dem Eigentümer die Rechte entziehen, nicht anderen Benutzern und Gruppen.
Ben Voigt
0

Wenn Sie die Datei verschlüsseln möchten, können Sie sie bcryptzum Ver- und Entschlüsseln verwenden. Es verwendet Blowfish-Dateiverschlüsselung.

Typ: sudo apt-get install bcryptum es zu installieren.

Nach der Installation geben Sie ein sudo bcrypt file-name, um es zu verschlüsseln.

g_p
quelle
0

Ich empfehle Truecrypt zu verwenden, um einen verschlüsselten "Wechseldatenträger" in 1 Datei zu erstellen. Wenn Sie zum Beispiel 1 GB Truecrypt-Partition erstellen und Sie können diese Datei mit einem Passwort schützen. (Expertenoption: Sie können 2 Kennwörter für diese Datei festlegen: Mit dem ersten Kennwort sehen Sie einen normalen Teil der Datei und mit dem Kennwort 2 den verborgenen Teil.) Sie können diese Datei unter Linux, Mac oder Windows einbinden (auf Laufwerk einbinden e:). und Sie zeigen, dass 1 GB-Datei wie ein Pendrive / Flash-Laufwerk, und Sie können die Bereitstellung aufheben, wenn Sie möchten.

Wenn Sie diese 1-GB-Datei (oder eine beliebige Größe oder eine vollständige Festplatte oder ein pendrive) erstellen, können Sie eine beliebige Erweiterung hinzufügen, damit diese Datei ausgeblendet wird. (Legen Sie diese Datei niemals als secret.truecrypt.file.with.pwd lol in Ihrem Ausgangsverzeichnis ab.)

Wenn Sie einen Systemdateinamen im Systemordner verwenden, bemerkt der normale Benutzer möglicherweise nie, dass es sich nicht um eine Systemdatei handelt, sondern um eine private verschlüsselte Datei.

Zum Beispiel zum Ausblenden dieser Datei:

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

Andere temporäre Dateinamen:

Win386.swp
nsz17BE.tmp
mmc00C1B00C.xml
jusched.log
IMT211.xml
i4j8470767517827925011.tmp
FTP7F0.tmp
e4j3B.tmp
  • Wählen Sie ein Schema und ändern Sie die Nummern für einen Dateinamen.

  • und auch Rechte setzen ... und danach die History-Konsolenbefehle entfernen

  • Mit dieser Lösung findet ein normaler Benutzer niemals Ihre geheime Datei.

  • Erstellen Sie in Pendrive einen TEMP-Ordner und verwenden Sie einen temporären Dateinamen, z. B. Dateibeispiele. und mache ein paar Backups mit unterschiedlichen Namen ...

Sie können truecrypt installieren, wenn Sie möchten, zum Beispiel:

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

Weitere Informationen auf der Truecrypt-Homepage

Gefallener Engel
quelle
0

Wenn Sie mit "schützen" meinen, dass Sie Änderungen an diesen Dateien verhindern möchten, sollten Sie das Dienstprogramm " chattr" verwenden . Es hat die Option Dateien als unveränderlich markieren (nicht änderbar).

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

Dadurch wird verhindert, dass alle Benutzer und sogar der Root-Benutzer Dateien entfernen oder ändern, die als unveränderlich eingestuft sind.

Sie können diese Aktion umkehren, indem Sie das "+ i" durch "-i" ersetzen.

Graham G
quelle