Wie kann ich Benutzer daran hindern, Dateien aus dem Papierkorb zu löschen?

7

Ich möchte meine Benutzer darauf beschränken, Dateien aus dem Papierkorb zu löschen. Außerdem möchte ich nicht, dass meine Benutzer Dateien unter Umgehung des Papierkorbs löschen. Gibt es eine Möglichkeit, dies zu tun?

karthick87
quelle
Sie möchten nicht, dass sie Dateien löschen können? Oder möchten Sie, dass einige Dateien in einem bestimmten Verzeichnis nicht gelöscht werden können?
Belacqua
Sie können die Dateien löschen, aber ich möchte nicht, dass sie es aus dem Papierkorb löschen.
karthick87
Es hört sich also so an, als ob Sie möchten, dass die Benutzer die Funktion "In den Papierkorb löschen" haben, aber sie haben nicht wirklich die Möglichkeit, Dinge dauerhaft zu löschen. Sie machen sich auch keine Sorgen über eine Befehlszeile rmoder andere Befehlszeilenverknüpfungen?
Belacqua

Antworten:

2

Teil eins

Wir werden die Attribute der Papierkorbdateien ändern, damit nur root sie zurück ändern und schließlich löschen kann.

1) Bearbeiten Sie /etc/rc.local so, dass es so aussieht:

#! / bin / sh -e
#
# rc.local
#
# Dieses Skript wird am Ende jedes Mehrbenutzer-Runlevels ausgeführt.
# Stellen Sie sicher, dass das Skript bei Erfolg oder auf andere Weise "0 beendet"
# Wert bei Fehler.
#
# Um dieses Skript zu aktivieren oder zu deaktivieren, ändern Sie einfach die Ausführung
# Bits.
#
# Standardmäßig führt dieses Skript nichts aus 
# aber desgua hat es geändert 
#, um eine Kopie der Papierkorbdateien aufzubewahren
while ["$ var1"! = "end"]
tun
sudo chattr + i /home/user_name/.local/share/Trash/files/* 
Schlaf 2
erledigt
Ausfahrt 0

4) Machen Sie es ausführbar.

sudo chmod + x /etc/rc.local

5) Starten Sie neu oder melden Sie sich ab und melden Sie sich wieder an.

ps-1: nur um den Prozessor zu schonen, wird die Attributänderung alle 2 Sekunden vorgenommen. Sie können das ändern, wie Sie möchten.
ps-2: um das Attribut "i" (unveränderlich) zu entfernen, führen Sie einfach Folgendes aus:

sudo chattr -i /home/user_name/.local/share/Trash/files/*

Zweiter Teil

So deaktivieren Sie die Umgehung des Papierkorbs.

1) Öffnen Sie den gconf-Editor.

gconf-editor

2) Gehen Sie zu / apps / nautilus / settings / enable_delete, klicken Sie mit der rechten Maustaste darauf und klicken Sie auf "Obligatorisch festlegen".

Teil 3
Deaktivieren von Umschalt + Entf

Wir werden die Keymap modifizieren.

1) Erstellen Sie eine Datei

nano ~ / .Xmodmap

2) Fügen Sie dies ein und speichern Sie:

Schlüsselcode 119 = BackSpace löschen

obs.: Verwenden Sie "xev", um zu überprüfen, ob Ihre Tastatur Del wirklich "keycode 119" ist.

3) Wir möchten sicher nicht, dass diese Datei gelöscht wird, also:

 sudo chattr + i ~ / .Xmodmap

5) Neustart, Abmeldung oder Ausführung:

xmodmap ~ / .Xmodmap

Jetzt fertig!

  • letzte Änderung 04/07/2011
Desgua
quelle
Ein guter :) Trotzdem kann ich den Müll mit Umschalt + Entf umgehen ...
arrangiere den
Jetzt denke ich, dass alles erledigt ist. ;-)
Desgua
@ karthick89 Bitte sag mir, ob du das brauchst.
Desgua
Wow, du nagelst wirklich jede einzelne (ziemlich exzentrische) OPs-Anforderung. +1 dafür!
MestreLion
4

Nein, Benutzer können immer die Dateien löschen, die sie besitzen (modulo einige komplexe ACL-Setups, die für einen Desktop nicht möglich sind).

Adam Byrtek
quelle
3

Der Papierkorb in Ubuntu ist nur ein spezielles Unterverzeichnis unter dem Home-Ordner des Benutzers, der per Definition diesem Benutzer gehört. Selbst wenn Sie die Dateiberechtigungen ändern, kann der Benutzer sie zurück ändern und die Datei dann löschen.

Wenn Sie versuchen, Datenverlust zu vermeiden, besteht eine viel bessere Lösung darin, automatisierte Sicherungen einzurichten. Auf diese Weise kann alles, was gelöscht wurde, wiederhergestellt werden.

ImaginaryRobots
quelle
Richtig, wenn Sie die Dateien (als Root) an einen anderen Benutzer übertragen, kann der Benutzer sie nur ändern, wenn er über Sudo / Root-Fähigkeiten verfügt. Dies ist natürlich nicht für das gesamte Benutzerverzeichnis möglich. +1 für die automatischen Sicherungen.
Belacqua
Entschuldigung für die falsche Bearbeitung ....
Belacqua
1

Ich habe es nicht gründlich getestet, aber Sie sollten in der Lage sein, so etwas zu tun

chmod -r $HOME/.local/share/Trash/files

Dann können Sie Dateien in den Papierkorb verschieben, aber dort nicht anzeigen. Aber natürlich kann jeder die Berechtigungen zurück ändern.

Sie müssen Ihre Sitzung / Ihren Computer neu starten, um diese Änderung zu übernehmen.

ordnen
quelle
Dies behebt nicht das schwierigere Problem, das das OP aufgeworfen hat: "Außerdem möchte ich nicht, dass meine Benutzer Dateien unter Umgehung des Papierkorbs löschen."
Belacqua
0

Desguas Antwort deckte alle Ihre Anforderungen ab (und sollte meiner Meinung nach akzeptiert werden, Antwort), aber ich denke, es ist wichtig, einige Punkte hervorzuheben:

  • Unabhängig davon, was Sie mit den Dateien im Papierkorb tun, bearbeiten Sie die Dateien und ihre Berechtigungen in einem vom Benutzer steuerbaren Ordner ( $HOME/.local/share/Trash). Und da Sie keine Berechtigungen für $ HOME des Benutzers entfernen können, kann der Benutzer alle Änderungen rückgängig machen.

  • Gleiches gilt für Gnome-Konfigurationen wie Nautilus-Einstellungen und Tastaturbindungen. Bestenfalls können Sie das Standardverhalten ändern , aber auch hier kann jeder Benutzer diese Einstellungen für seine eigene Sitzung überschreiben.

  • Was ist mit rmund ähnlichen CLI-Befehlen? rmist nur ein Beispiel, aber es gibt Unmengen anderer Befehle, mit denen ein Benutzer seine eigenen Dateien löschen (oder zerstören) kann. Planen Sie überhaupt, das Terminal zu entfernen? Was ist mit Gnomes ALT + F2 (Anwendung ausführen)?

Mein Punkt ist: Egal was zu tun ist, es sind die Benutzerdateien, es ist die Benutzersitzung, und sie können jeden Schutz umgehen, den Sie tun, wenn sie wollen (und wissen wie). Desguas Antwort ist erstaunlich, aber seien Sie sich bewusst, dass es nur kosmetisch ist und nur dann nützlich ist, wenn Sie nicht-technische Benutzer haben. Es soll eher eine Annehmlichkeit als eine echte Sicherheitsmaßnahme sein.

Es gibt keinen wirklichen Weg, um wirklich das zu erreichen, was Sie wollen, es sei denn, Sie ändern wirklich die gesamte Distribution auf sehr ungewöhnliche Weise.

Das heißt, warum genau willst du das? Für Sicherheit oder Bequemlichkeit? Ist das richtige Linux-Training für Ihre Benutzer nicht viel besser (und einfacher) als dieses?

MestreLion
quelle