UNIX Dateien löschen
hatschi
- sonstiges
0 Ashura0 hatschi
0 Christoph Schnauß0 Tom0 Christoph Schnauß0 Tom0 XaraX
0 XaraX
0 Thomas W.
Hallo,
kann mir hier jemand verraten wie man unter UNIX Dateien mit bestimmten
Namen löschen kann, di aber nur unter einem bestimmten User-Name
auftreten?
Hallo hatschi.
kann mir hier jemand verraten wie man unter UNIX Dateien mit bestimmten
Namen löschen kann, di aber nur unter einem bestimmten User-Name
auftreten?
Was bedeutet der Teil des Satzes nach dem Komma?
Was heißt „…, die aber nur unter einem bestimmten User-Namen auftreten“?
Einen schönen Mittwoch noch.
Gruß, Ashura
Also ich hab es bis jetzt teilweise gelöst!
bis jetzt hab ich als befehl gefunden:
find /dir -name '...' -user userName --> das funktioniert soweit.
wenn ich jetzt aber:
find /dir -name '...' -user userName -exec rm{}
bekomme ich eine fehlermeldung wegen dem "-exec"
Hi,
Also ich hab es bis jetzt teilweise gelöst!
bis jetzt hab ich als befehl gefunden:
find /dir -name '...' -user userName --> das funktioniert soweit.
wenn ich jetzt aber:
find /dir -name '...' -user userName -exec rm{}
zwischen rm und dem File muß m.E. white-space stehen.
Und das Kommando hinter -exec muß durch einen ; abgeschlossen werden, der - damit er nicht von der Shell direkt gefressen wird - escaped werden muß, also
-exec rm {} ;
cu,
Andreas
你好 MudGuard,
zwischen rm und dem File muß m.E. white-space stehen.
Jupp.
Und das Kommando hinter -exec muß durch einen ; abgeschlossen werden, der
- damit er nicht von der Shell direkt gefressen wird - escaped werden muß,
also-exec rm {} ;
Besser:
find /dir -name '...' -user userName -print0 | xargs -0 rm
再见,
克里斯蒂安
hallo hatschi,
kann mir hier jemand verraten wie man unter UNIX Dateien mit bestimmten
Namen löschen kann, di aber nur unter einem bestimmten User-Name
auftreten?
Der Löschbefehl lautet rm (für remove). Für "bestimmte usernamen" funktioniert das entweder dann, wenn du als root angemeldet bist, oder eben wenn du als dieser user angemeldet bist.
Grüße aus Berlin
Christoph S.
Hello,
Der Löschbefehl lautet rm (für remove). Für "bestimmte usernamen" funktioniert das entweder dann, wenn du als root angemeldet bist, oder eben wenn du als dieser user angemeldet bist.
Und _wie_ schränkt man die Löschung auf Dateien eines bestimmten Owners ein?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
hallo Tom,
Und _wie_ schränkt man die Löschung auf Dateien eines bestimmten Owners ein?
Nicht auf der Konsole. Man meldet sich eben als dieser Benutzer an.
Außerdem: "Benutzer" haben bei einem ordentlich verwalteten System keine root-Rechte und können außerhalb ihrer "home"-Verzeichnisse nichts schreiben. Also sucht man das entsprechende home-Verzeichnis auf und schaut nach, was da alles so herumliegt.
Grüße aus Berlin
Christoph S.
Hello,
Und _wie_ schränkt man die Löschung auf Dateien eines bestimmten Owners ein?
Nicht auf der Konsole. Man meldet sich eben als dieser Benutzer an.
?
Außerdem: "Benutzer" haben bei einem ordentlich verwalteten System keine root-Rechte und können außerhalb ihrer "home"-Verzeichnisse nichts schreiben. Also sucht man das entsprechende home-Verzeichnis auf und schaut nach, was da alles so herumliegt.
?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hallo Christoph,
Nicht auf der Konsole. Man meldet sich eben als dieser Benutzer an.
das dürfte in ShellScripten wohl schlecht möglich sein; zumal su
als stdin ein Terminal erwartet.
Außerdem: "Benutzer" haben bei einem ordentlich verwalteten System keine root-Rechte und können außerhalb ihrer "home"-Verzeichnisse nichts schreiben. Also sucht man das entsprechende home-Verzeichnis auf und schaut nach, was da alles so herumliegt.
Hallo? Das ist zwar richtig, was Du da schreibst, aber was hat das mit dem selektivem Löschen von Datein zu tun?
Gruß aus Berlin!
eddi
hallo eddi,
Man meldet sich eben als dieser Benutzer an.
das dürfte in ShellScripten wohl schlecht möglich sein
Richtig. Allerdings war bisher von einem einfachen Konsolenbefehl die Rede und nicht von einem ganzen Script. Wenn man häufiger vor so einer Frage steht, wird man sich vielleicht ein kleines Script basteln.
Außerdem: "Benutzer" haben bei einem ordentlich verwalteten System keine root-Rechte und können außerhalb ihrer "home"-Verzeichnisse nichts schreiben. Also sucht man das entsprechende home-Verzeichnis auf und schaut nach, was da alles so herumliegt.
Hallo? Das ist zwar richtig, was Du da schreibst, aber was hat das mit dem selektivem Löschen von Datein zu tun?
Die "Selektion" wird dadurch vollzogen, daß schonmal alle anderen Verzeichnisse (z.B. Systemverzeichnisse und andere Benutzerverzeichnisse) vom Suchvorgang mit "find" ausgeschlossen werden. Es kommt nun noch auf den/die Dateinamen an.
Wie immer gibt es mehrere Wege zur Problemlösung. Was in den anderen postings über "find" diskutiert wird, ist ja durchaus hilfreich.
Grüße aus Berlin
Christoph S.
Tach,
Die "Selektion" wird dadurch vollzogen, daß schonmal alle anderen Verzeichnisse (z.B. Systemverzeichnisse und andere Benutzerverzeichnisse) vom Suchvorgang mit "find" ausgeschlossen werden. Es kommt nun noch auf den/die Dateinamen an.
nein, damit würden auch Dateien gelöscht, deren Besitzer man nicht ist und genau darum ging es dem OP.
mfg
Woodfighter
hallo,
Die "Selektion" wird dadurch vollzogen, daß schonmal alle anderen Verzeichnisse (z.B. Systemverzeichnisse und andere Benutzerverzeichnisse) vom Suchvorgang mit "find" ausgeschlossen werden. Es kommt nun noch auf den/die Dateinamen an.
nein, damit würden auch Dateien gelöscht, deren Besitzer man nicht ist und genau darum ging es dem OP.
Dann muß man es halt nochmal ganz deutlich sagen: löschen kannst du als root (über su) bei Bedarf alles, unabhängig davon, wem eine Datei gehört und wo sie liegt. Als "Benutzer" kannst du nur deine eigenen Dateien löschen. Unter Umständen kannst du Dateien, die anderen gehören, einsehen, aber bei korrekt konfiguriertem System kannst du sie einfach nicht löschen, und es ist müßig, darüber nachzudenken, wie es eben vielleicht doch gehen könnte.
Grüße aus Berlin
Christoph S.
Tach,
Als "Benutzer" kannst du nur deine eigenen Dateien löschen. Unter Umständen kannst du Dateien, die anderen gehören, einsehen, aber bei korrekt konfiguriertem System kannst du sie einfach nicht löschen, und es ist müßig, darüber nachzudenken, wie es eben vielleicht doch gehen könnte.
sobald ich Schreibrechte habe, kann ich die Datei auch löschen und Dateien auf die mehr als ein Nutzer Schreibrechte haben sind in freier Wildbahn wohl eher häufig anzutreffen.
mfg
Woodfighter
Hello,
sobald ich Schreibrechte habe, kann ich die Datei auch löschen und Dateien auf die mehr als ein Nutzer Schreibrechte haben sind in freier Wildbahn wohl eher häufig anzutreffen.
... wenn Du nicht NDS für Linux/Unix installiert hast. Dann wird es nämlich langsam sortierter.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hallo Christoph,
Dann muß man es halt nochmal ganz deutlich sagen: löschen kannst du als root (über su) bei Bedarf alles, unabhängig davon, wem eine Datei gehört und wo sie liegt. Als "Benutzer" kannst du nur deine eigenen Dateien löschen. Unter Umständen kannst du Dateien, die anderen gehören, einsehen, aber bei korrekt konfiguriertem System kannst du sie einfach nicht löschen, und es ist müßig, darüber nachzudenken, wie es eben vielleicht doch gehen könnte.
Das ist Blödsinn. Es kann z.B. vollkommen sinnvoll sein, Schreibrechte (und damit verbundene Löschrechte) auch an die Gruppe zu geben. In diesem Fall kann ich sehr wohl fremde Dateien löschen und das heißt mitnichten, dass das System nicht richtig konfiguriert ist. Und es gibt noch viel mehr Situationen, wo anderer Benutzer als der Dateieigentümer auch Schreibrechte auf eine Datei haben müssen.
Schöne Grüße,
Johannes
Re:
Die "Selektion" wird dadurch vollzogen, daß schonmal alle anderen Verzeichnisse (z.B. Systemverzeichnisse und andere Benutzerverzeichnisse) vom Suchvorgang mit "find" ausgeschlossen werden. Es kommt nun noch auf den/die Dateinamen an.
leider gibt es haufenweise Saftware, die zwar in /tmp schreibt aber beim Ende oder durch Signalabbruch diese Daten nicht selbständig löscht. Wenn man eine User aus einem System rausschmeißt, spätestens dann will man auch solche Files loswerden.
Gruß aus Berlin!
eddi
Hello,
leider gibt es haufenweise Saftware, die zwar in /tmp schreibt aber beim Ende oder durch Signalabbruch diese Daten nicht selbständig löscht. Wenn man eine User aus einem System rausschmeißt, spätestens dann will man auch solche Files loswerden.
Ich habe mich eben gefragt, ob "Saftware" wohl ein Tippfehler war... *g*
PHP legt auch keine echten Temporary Files an, sondern emuliert diese.
Wenn also der Webserver oder nur der Interpreter (ist mir aber ewig nicht mehr passiert) abkotzt, dann bleiben immer ein paar Semi-Temp-Files zurück...
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Re:
Ich habe mich eben gefragt, ob "Saftware" wohl ein Tippfehler war... *g*
*ups* Eins von den dreißsig Bierchen gestern war wohl schlecht :/
Gruß aus Berlin!
eddi
Hello,
Ich habe mich eben gefragt, ob "Saftware" wohl ein Tippfehler war... *g*
*ups* Eins von den dreißsig Bierchen gestern war wohl schlecht :/
Ach, ich dachte, es sei Absicht gewesen zur implizierten Kennzeichnung der Qualität des Programm-Produktes :-)
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Hi,
Ich habe mich eben gefragt, ob "Saftware" wohl ein Tippfehler war... *g*
*ups* Eins von den dreißsig Bierchen gestern war wohl schlecht :/
Jaja, der Gerstensoft ... ;-)
cu,
Andreas
Hallo Tom,
Und _wie_ schränkt man die Löschung auf Dateien eines bestimmten Owners ein?
Gruß aus Berlin!
eddi
Hallo XaraX.
Und _wie_ schränkt man die Löschung auf Dateien eines bestimmten Owners ein?
find . -user {USERNAME} -type f | xargs rm
Zur Sicherheit sollte rm ggf. noch der Parameter -i übergeben werden.
Einen schönen Mittwoch noch.
Gruß, Ashura
Hi,
find . -user {USERNAME} -type f | xargs rm
Zur Sicherheit sollte rm ggf. noch der Parameter -i übergeben werden.
und außerdem noch ein -print0 an find respektive -0 an xargs, damit es auch bei fiesen Dateinamen funkt[tm].
Gruß,
Andreas.
Hallo Ashura,
find . -user {USERNAME} -type f | xargs rm
Zur Sicherheit sollte rm ggf. noch der Parameter -i übergeben werden.
Kommt drauf an. Bei einer ausreichend großen Anzahl von zu löschenden Dateien kann das ziemlich auf die Nerven gehen ;-)
Schöne Grüße,
Johannes
Hallo,
kann mir hier jemand verraten wie man unter UNIX Dateien mit bestimmten
Namen löschen kann, di aber nur unter einem bestimmten User-Name
auftreten?
Ich uebersetze mal: Du kennst die Namen der Dateien; die sollen aber nur geloescht werden, falls sie einem bestimmten Benutzer gehoeren.
"find" wird das wohl koennen (das Finden der Dateien), loeschen dann mit einer Kombination aus "xargs" und "rm".
Gruss
Thomas