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

Frage Entwicklung Batch & Shell

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

24.02.2010, aktualisiert 04.03.2010, 3921 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
Studentenjobs & Praktikum
Ideen für Girls Day gesucht
gelöst Frage von quin83Studentenjobs & Praktikum57 Kommentare

Hi. Am Girls Day werden wir einige Schülerinen (8 Jahrgangsstufe) im Haus haben, welche wir für einen Job in ...

Backup
Backup-Benachrichtigungen verwalten (Ideen gesucht)
Frage von clemi-rBackup5 Kommentare

Hi Ich bin derzeit auf der Suche nach einer Lösung wie wir unser "Backup-Monitoring" etwas verfeinern könnten und hoffe ...

Drucker und Scanner
Idee gesucht für einfache Verfügbarkeit von Coworking DRUCKER
Frage von Chris22Drucker und Scanner19 Kommentare

Hallo zusammen, ich würde mich über Ideen eurerseits zu folgender Problemstellung freuen. Eine kleine Bürogemeinschaft richtet zusätzlich 3 bis ...

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

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter wieder installieren auf einer frischen Windows-Installation

Tipp von Lochkartenstanzer vor 12 StundenMicrosoft Office

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 14 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 15 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 18 StundenMicrosoft Office1 Kommentar

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Server-Hardware
Veeam Backup Server stürzt alle paar Tage ab
Frage von Leo-leServer-Hardware11 Kommentare

Hallo Forum, ich habe momentan folgendes Problem. Veeam Backup and Replication 9.5 u2 auf voll gepatchten DL 380 G7 ...

Windows 10
Win10 Laptop findet keine Netzwerkgeräte und Freigaben mehr
Frage von CoolzeroWindows 1010 Kommentare

Hi, seit ein paar Tagen habe ich das Problem das mein Windows 10 Laptop keine Geräte mehr in der ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell10 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...