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