Page 1 of 1

Bitte um kurzes Script :)

Posted: 2003-06-15 00:36
by static
Hi,
ich bin leider nicht so fit im Bashcoding, deshalb hoffe ich auf eine nette Seele die mir kurz einen gefallen macht und mir ein Codeschnippsel erstellt.
Ich möchte gerne alle Dateien in einem Verzeichnis, die die UID xxxx haben der UID yyyy zuweisen. Dürfte doch eigentlich ein 1-Zeiler sein, oder? :-D

Wäre wirklich sehr froh darum, thx im voraus

so long
static

Re: Bitte um kurzes Script :)

Posted: 2003-06-15 00:46
by olaf.dietsche
static wrote:ich bin leider nicht so fit im Bashcoding,
Da hilft nur: lesen und probieren.
deshalb hoffe ich auf eine nette Seele die mir kurz einen gefallen macht und mir ein Codeschnippsel erstellt.
Ich möchte gerne alle Dateien in einem Verzeichnis, die die UID xxxx haben der UID yyyy zuweisen. Dürfte doch eigentlich ein 1-Zeiler sein, oder? :-D
Ungetestet:

Code: Select all

find /verzeichnis -uid xxx | xargs chown yyy
Ansonsten mußt du dir

Code: Select all

man find
für die richtigen Optionen ansehen. ;-)

Re: Bitte um kurzes Script :)

Posted: 2003-06-15 00:52
by static
olaf.dietsche wrote:Da hilft nur: lesen und probieren.
Habs mir vorgenommen :lol:

Code: Select all

find /verzeichnis -uid xxx | xargs chown yyy
funzt wunderbar - xargs war hierbei der Teil auf den ich nicht gekommen bin :wink:

thx @ olaf

so long
static

Re: Bitte um kurzes Script :)

Posted: 2003-06-15 18:47
by majortermi
static wrote:

Code: Select all

find /verzeichnis -uid xxx | xargs chown yyy
funzt wunderbar - xargs war hierbei der Teil auf den ich nicht gekommen bin :wink:
Geht auch ohne xargs, ich hätte das so gelöst:

Code: Select all

chown yyy `find /verzeichnis -uid xxx`

Re: Bitte um kurzes Script :)

Posted: 2003-06-15 21:07
by olaf.dietsche
MajorTermi wrote:

Code: Select all

find /verzeichnis -uid xxx | xargs chown yyy
Geht auch ohne xargs, ich hätte das so gelöst:

Code: Select all

chown yyy `find /verzeichnis -uid xxx`
Wenn es sehr viele Dateien sind, dann stößt man mit den Backticks an die Systemgrenzen. Bei xargs werden die Dateien in handliche Portionen aufgeteilt, also quasi der Mittelweg zwischen deiner Version (genau ein chown Aufruf) und find ... -exec chown (sehr viele chown Aufrufe).

Re: Bitte um kurzes Script :)

Posted: 2003-06-16 01:17
by dea

Code: Select all

find /verzeichnis -type f -uid XXX -exec chown YYY {} ;
Wenn nicht alle Dateien innerhalb des Verzeichnisses dem User XXX gehören und/oder wenn sich darunter wiederum nicht zu ändernde Verzeichnisse befinden.

Ansonsten:

Code: Select all

chown -R YYY /verzeichnis/*
Setzt den User YYY für _alle_ Dateien und Unterverzeichnisse unterhalb von /verzeichnis/. Lässt Du -R weg, werden lediglich alle Verzeichnisse (ohne ihren "Inhalt") und Dateien diesem User zugeordnet ...

man find, man chown

Re: Bitte um kurzes Script :)

Posted: 2003-06-16 01:22
by Outlaw
Das hat mir yast übrigens zum Ã?ndern aller Dateien auf der gesamten Platte einer UID vorgeschlagen, als ich eine User ID geändert habe:

Code: Select all

find / -uid ALT -exec chown NEU {} ;
ALT = alte UID
NEU = neue UID

Gruß Outi