Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

CHMOD Script - Ideen gesucht

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

24.02.2010, aktualisiert 04.03.2010, 3972 Aufrufe, 11 Kommentare

Hallo,

wir haben einen SLES 10 Server, welche dummerweise 777 Berechtigungen auf verschieden Ordner zugewiesen bekommen hat.
Wie auch immer das passieren konnte, ich weiß es nicht!

Nun möchte ich natürlich die richtigen Default-Berechtigungen wieder herstellen.

Meine Idee, ich setze eine neuen TEST SLES 10 auf und mounte z.B. das sbin Verzeichnis vom TEST SLES auf den produktiven SLES als test_sbin.

Nun brauche ich ein Script, welches Datei für Datei im Ordner test_sbin die Berechtigung überprüft und diese im original Ordner sbin wieder herstellt.

Ist das irgendwie möglich? Leider bin ich kein Bash Profi und habe keinen Schimmer, wie ich das Programmieren könnte.

Für Ideen und Vorschläge wäre ich sehr dankbar.

Gruß
ottscho
Mitglied: Raven42
24.02.2010 um 18:22 Uhr
Wenn der chmod überhaupt noch funktioniert, dann ... :


Aus dem Bauch heraus (NICHT GETESTET!!!)

Der Befehl chmod hat eine Option '--reference=<DATEI>'
Damit können die Rechte einer Datei genauso wie die der Referenzdatei gesetzt werden.

01.
#!/bin/sh
02.

03.
# Variablen fuer die Verzeichnisse + Log-Datei
04.
test=/test_sbin
05.
orig=/sbin
06.
log=/tmp/chmod.log
07.

08.
cd $orig
09.

10.
# jede Datei anfassen und
11.
# testen ob die Vergleichsdatei da ist
12.
# Wenn nicht, Dateinamen in Log-datei
13.
# Rechte setzen wie die Originaldatei
14.
for i in *; do
15.
  [ -e $test/$i ] && {
16.
    chmod --reference=$test/$i $i
17.
  } || {
18.
    echo $i >> $log
19.
  }
20.
done
EDIT: Hab noch das Logging hinzu gefügt
EDIT2: Änderung wegen Verzeichniswechsel <25.2.10 10:03>
Bitte warten ..
Mitglied: ottscho
24.02.2010 um 19:08 Uhr
Vielen vielen dank. Ich werde es morgen auf der Arbeit testen und dann Rückmeldung geben. Schônen Abend
Gruß ottscho
Bitte warten ..
Mitglied: ottscho
25.02.2010 um 08:10 Uhr
Morgen,
so jetzt bin ich mal zum Testen gekommen.
Also der chmod Befehl an sich funktioniert bestens mit der Referenz.
Leider klappt es mit der for-Schleife nicht so ganz.

for i in $orig/*;

ergibt in i nicht nur den Dateiname, sondern den ganzen Pfad.
Dementsprechend ergibt dann $test/$i nicht /test_sbin/dateiname sondern /test_sbin/sbin/dateiname
Bitte warten ..
Mitglied: Raven42
25.02.2010 um 10:04 Uhr
Aha

Hab das Script oben korrigiert.
Bitte warten ..
Mitglied: ottscho
25.02.2010 um 10:10 Uhr
Hät ich auch selbst drauf kommen müssen... mensch...
Vielen Dank.

Funktioniert benstes.

Gruß
ottscho
Bitte warten ..
Mitglied: ottscho
25.02.2010 um 14:47 Uhr
Bei meinem Ubuntu Client hat es funktioniert.
Nun wollte ich es auch dem SLES versuchen, leider ohne Erfolg:

01.
srvlx01:/ # cat chmod.sh
02.
#!/bin/sh
03.

04.
# Variablen fuer die Verzeichnisse + Log-Datei
05.
test=/test_sbin
06.
orig=/sbin
07.
log=/tmp/chmod.log
08.

09.
cd $orig
10.

11.
# jede Datei anfassen und
12.
# testen ob die Vergleichsdatei da ist
13.
# Wenn nicht, Dateinamen in Log-datei
14.
# Rechte setzen wie die Originaldatei
15.
for i in *; do
16.
  [ -e $test/$i ] && {
17.
    chmod --reference=$test/$i $i
18.
  } || {
19.
    echo $i >> $log
20.
  }
21.

22.
# EOF
23.
srvlx01:/ # ./chmod.sh
24.
./chmod.sh: line 22: syntax error: unexpected end of file
25.
srvlx01:/ #
Bitte warten ..
Mitglied: Raven42
25.02.2010 um 14:56 Uhr
da fehlt das abschließende 'done' !

Oben in meinem Script in Zeile 20
Bitte warten ..
Mitglied: ottscho
26.02.2010 um 07:59 Uhr
sorry, jetzt gehts

Danke
Bitte warten ..
Mitglied: ottscho
04.03.2010 um 11:39 Uhr
Hey,

dein Script funktioniert wunderbar.
Nun habe ich das Problem, dass einfach alle möglichen Dateien betroffen sind, an allen möglichen Orten.

Könnte man das Script so aufbauen, dass es von / aus jeden Ordner und Dateie neu berechtigt?
Bitte warten ..
Mitglied: Raven42
04.03.2010 um 11:49 Uhr
Aber nur dann, wenn auch Vergleichsdateien da sind.

Außerdem, wenn die Rechte an bestimmten Bibliotheken falsch sind, funktioniert der chmod nicht mehr.
Dann hast Du ein anderes (viele größeres) Problem ...


Wenn es wirklich sehr viele Dateien sind, würde ich über eine Neu-Installation nachdenken ...
Bitte warten ..
Mitglied: ottscho
04.03.2010 um 11:53 Uhr
mhhh, also der Echtbetrieb funtkioniert nun soweit.
SSH, CRON etc. laufen alle. Und mir ist bis jetzt nichts mehr aufgefallen.

Aber es sind trotzde, noch viele Berechtigungen falsch.

Da muss wohl früher oder später eine Neuinstallation her. *shit*
Bitte warten ..
Ähnliche Inhalte
PHP
Web page test Script gesucht
Frage von LeonrhlePHP4 Kommentare

Erstmal hallo an alle Administratoren, meine Frage: Hat wer ein Script (am besten in PHP), womit man eine Fremde ...

PHP
PHP Script zum Daten auslesen gesucht
Frage von majas3PHP2 Kommentare

Hallo, ich habe viele taußend HTML Seiten in verschiedenen Verzeichnissen und bin auf der Suche nach einem PHP Script ...

Batch & Shell

Script zum Auflösen einer Ordnerstruktur und zurück gesucht

Frage von websolutionsBatch & Shell12 Kommentare

Hallo miteinander. Ich bin auf der Suche nach einem Script, welches alle Dateien einer Ordnerstruktur in einen "Arbeitsordner" kopiert/verschiebt ...

Batch & Shell

Script für externe IP in Datei schreiben gesucht

gelöst Frage von netguruBatch & Shell1 Kommentar

Hallo, ich denke das ist hier eher einer einfache Frage. Ich möchte zwischen 4-5 Uhr alle Minute (oder besser ...

Neue Wissensbeiträge
Rechtliche Fragen
Unitymedia siegt vor dem BGH
Information von transocean vor 1 TagRechtliche Fragen5 Kommentare

Moin, lt. einem aktuellen Urteil darf UM Mietrouter seiner Kunden weiterhin in Hotspots verwandeln. Nachlesen kann man das hier. ...

Router & Routing
Der "768k-Day" kommt
Information von LordGurke vor 2 TagenRouter & Routing2 Kommentare

Für Leute, die Router mit BGP-Fulltable betreiben vielleicht ein interessanter Hinweis: Die IPv4-Fulltable erreicht voraussichtlich innerhalb der nächsten 2-3 ...

Debian

Partition angeblich voll, dabei aber noch nicht mal zur Hälfte belegt

Anleitung von diemilz vor 2 TagenDebian8 Kommentare

Hallo zusammen, ich habe ein kleines Problem: Ich habe auf einem physischen Debian Linux Server als ZoneMinder-Server (HP ProLiant ...

Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 6 TagenWindows 74 Kommentare

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Heiß diskutierte Inhalte
HTML
Bild hochladen mit html auf die Webseite
gelöst Frage von WorldoftheitHTML63 Kommentare

Will eine Seite entwickeln im Internet aber Das Bild wird nicht angezeigt woran kann das liegen? Wäre für jede ...

Vmware
Terminalserver VM - Videos ruckeln
Frage von easyriderVmware29 Kommentare

Hallo zusammen, wir haben einen (free) ESXi 5.5 auf einem HP DL 380 G8 im Einsatz. Darauf läuft, unter ...

Windows Server
Ordner auf Filserver gelöscht
gelöst Frage von OrkansonWindows Server23 Kommentare

Hallo, haben einen Win2016 Server als Fileserver. Kann ich irgendwie nachvollziehen anhand der Logfiles wer Ordner löscht? Gruß Marcel

Batch & Shell
Schleife mit Exist
gelöst Frage von casi4711Batch & Shell18 Kommentare

Hallo an alles fleißigen Scripter, ein Script soll eine Range von IPs abfragen und checken, ob ein bestimmtes Verzeichnis ...