Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Profitez de récompenses et de remises réservées aux membres
  • Créez et accédez à une liste de vos produits

Avamar: Linux VMwaren tiedostotason palautus käyttämättä pääkäyttäjää (root) ja sudo-komentoa

Résumé: Avamar FLR Sudo

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Symptômes



Avamar FLR - taustaa:
Avamarin tiedostotason palautus (File level restore) on hiljainen palautusratkaisu, jolla voi palauttaa vähintään yhden vierastiedoston virtuaalikoneen levykuvavarmuuskopiosta. Tiedostotason palautukseen käytetään VMware-työkaluja ja vSphere API -vierastoimintoja. Virtuaalikoneen levykuvavarmuuskopiointi lisää selauksen aikana virtuaalilevyn (.vmdk) Avamar-välityspalvelimeen. Kun palautettavat tiedostot on valittu, ne kopioidaan välityspalvelimesta kohdevirtuaalikoneeseen.

Pakolliset FLR-vaatimukset:
  1. Kohdevirtuaalikoneen on oltava käynnissä.
  2. Kohdevirtuaalikoneessa on oltava VMwar-työkalut asennettuna, ja palvelun on oltava käynnissä palautustoimintojen aikana. 
  3. Avamar-järjestelmänvalvojalla tai Avamar-varmuuskopiointi-/palautustoiminnolla/-käyttäjällä on oltava kelvolliset oikeudet kohteen vierastiliin (VMware guest operations SDK -vaatimus), ja nämä tunnistetiedot on annettava tiedostotason palautustoimintojen alussa.
  4. Kohteen vieraskäyttäjällä on oltava oikeus kirjoittaa sijaintiin. Muutoin toiminto epäonnistuu. Windows-virtuaalikoneissa virtuaalikoneen palautuskäyttäjällä on lisäksi oltava oikeus kirjoittaa ilman käyttäjätilien valvontaa. Linux-virtuaalikoneissa virtuaalikoneen palautuskäyttäjällä on oltava oikeus kirjoittaa ilman sudo-komentoa. 
Valinnaiset FLR-vaatimukset: tarvitaan nopeampiin HTTPS-siirtotapoihin. 
  1. Kohdevirtuaalikoneista on oltava TCP 443 -käyttöoikeus välityspalvelimen virtuaalikoneisiin.
  2. Linux-virtuaalikoneissa on oltava asennettuna moderni wget-sovellus ennen palautustoimintoja.  
Jos käyttövaatimukset eivät täyty, seuraavat varoitukset näkyvät ennen työn lähettämistä:

Jos kohdevirtuaalikone ei voi muodostaa HTTPS-yhteyttä välityspalvelimeen:

kA23a000000GIVvCAO_3_0

Välityspalvelimessa: katso, että tiedostossa /usr/local/avamarclient/bin/logs/VSphereWebService.log oleva sulkukoodi ei ole nolla

[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398040: sGuestExeFullFilename = /usr/bin/wget --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398041: sUnicodeExeDir = /usr/bin
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398042: sExeFullPath = /usr/bin/wget
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398043: sParameters = --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test

[VWS - FUNC]  2020/02/24 15:56:2 TID=3662 MID=254389: VirtualMachineWs::CheckProcessStatus ENTER
[VWS - DEBUG] 2020/02/24 15:56:2 TID=3662 MID=254390: ullPid = 3053
[VWS - WARN]  2020/02/24 15:56:2 TID=140664473914958 MID=254428: CheckProcessStatus Succeeded
[VWS - DEBUG] 2020/02/24 15:56:2  TID=3662 MID=254441: StartProgramInGuest Succeeded. Ret: 4

Tai
  
Linux ilman wget-sovellusta:

kA23a000000GIVvCAO_3_1

Välityspalvelimessa: tiedostossa /usr/local/avamarclient/bin/logs/VSphereWebService.log katso:

[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398040: sGuestExeFullFilename = /usr/bin/wget --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398041: sUnicodeExeDir = /usr/bin
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398042: sExeFullPath = /usr/bin/wget
[VWS - DEBUG] 2020/02/24 15:56:20 TID=2403 MID=398043: sParameters = --no-check-certificate --spider -t 1 -T 10 https://182proxy.burlington.lab:443/test
[VWS - ERROR] 2020/02/24 15:56:20 TID=140363826202979 MID=398068: StartProgramInGuest Error: SOAP 1.1 fault: "":ServerFaultCode [no subcode]
"File /usr/bin/wget was not found"
Detail: <FileNotFoundFault xmlns="urn:vim25" xsi:type="FileNotFound"><file>/usr/bin/wget</file></FileNotFoundFault>

tai

[VWS - DEBUG] 2020/02/24 15:34:22 TID=2397 MID=395783: StartProgramInGuest Succeeded. Ret: 1


Valinnainen FLR-ominaisuus: ACL (Access Control List) -luettelon palautus 

Tämä ominaisuus on oletusarvoisesti poissa käytöstä.
Tulos:
Ilman ACL-ominaisuutta (oletus):

Kaikki tiedostotason palautustoiminnolla palautetut tiedostot kuuluvat virtuaalikoneen vierastunnistetiedoille, jotka annetaan FLR-toimintojen yhteydessä, ja aiempia tiedostojen oikeuksia ei määritetä.

ACL-ominaisuus käytössä:
jos käyttäjä haluaa, että palautettujen tiedostojen omistajuus ja oikeudet säilyvät, tämä valinnainen ominaisuus on otettava käyttöön.

kA23a000000GIVvCAO_3_2

Tulos:
Palautustoimintojen aikana uudet tiedostot luodaan FLR-virtuaalikoneen käyttäjinä, mutta palautuksen lopuksi ACL-työnkulku palauttaa tiedostojen omistajuuden ja oikeudet alkuperäisiksi. 


Välityspalvelimessa: tiedostossa /usr/local/avamarclient/bin/logs/VSphereWebService.log katso:

[VWS - FUNC] 2020/03/03 03:42:29 TID=140664473914958 MID=254066: VirtualMachineWs::ExecuteRestoreAcl ENTER
[VWS - FUNC] 2020/03/03 03:42:29 TID=140664473914958 MID=254067: VirtualMachineWs::ExecuteRestoreAcl RestoreAcl Input file created
[VWS - FUNC] 2020/03/03 03:42:29 TID=140664473914958 MID=254068: VirtualMachineWs::ExecuteRestoreAcl Input File transfer /usr/local/avamarclient/bin/7fc01f28-c871-4835-948d-2d8a14bd1d8b.xml to /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.xml
[VWS - FUNC] 2020/03/03 03:42:32 TID=140664473914958 MID=254140: VirtualMachineWs::ExecuteRestoreAcl Exe File transfer /usr/local/avamarclient/bin/RestoreAcl to /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.exe
[VWS - DEBUG] 2020/03/03 03:42:40 TID=3662 MID=254349: sGuestExeFullFilename = /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.exe /tmp/7fc01f28-c871-4835-948d-2d8a14bd1d8b.xml 0001
[VWS - FUNC] 2020/03/03 03:42:42 TID=3662 MID=254389: VirtualMachineWs::CheckProcessStatus ENTER
[VWS - DEBUG] 2020/03/03 03:42:42 TID=3662 MID=254390: ullPid = 3053
[VWS - WARN] 2020/03/03 03:42:47 TID=140664473914958 MID=254428: CheckProcessStatus Succeeded
[VWS - DEBUG] 2020/03/03 03:42:47 TID=3662 MID=254441: StartProgramInGuest Succeeded. Ret: 0
[VWS - FUNC] 2020/03/03 03:42:47 TID=140664473914958 MID=254519: VirtualMachineWs::ExecuteRestoreAcl LEAVE

Cause

Joissakin Linux-jakeluissa (kuten Ubuntu ja Photon Os) käyttöjärjestelmän pääkäyttäjiä (root) ei määritetä oletusarvoisesti. Sen sijaan Linux-järjestelmänvalvojat tekevät korotustoimintoja sudo-komennolla.  

VMware-työkalujen ja VMware SDK:n vuoksi VMware-työkalujen useimmat toiminnot (VM_LoginInGuest, CopyFileFromHostToGuest ja ListFilesInGuest) eivät voi suorittaa sudo-komentoa. 

Kun palautustoimintoja tehdään normaalina käyttäjänä, toiminto saattaa epäonnistua kohteen vieraan puutteellisten oikeuksien vuoksi.

Résolution

Voit harkita seuraavia ratkaisukeinoja ympäristöissä, joissa Linux-pääkäyttäjä (root) on poistettu käytöstä, sitä ei ole määritetty tai sitä ei voi suojauksen vuoksi jakaa:

Vaihtoehto 1. Palauta vaihtoehtoiseen sijaintiin muuna kuin pääkäyttäjänä (root). 
Esimerkki:
Lähdetiedosto:  /root/test  (rajoitettu kansio/tiedosto)
Kohdetiedosto:  /home/flruser/ (rajoittamaton sijainti) 
VM-vieraan luonnit:  flruser

Tulos:
FLR-selauksen aikana virtuaalilevyt lisätään Avamar-välityspalvelimeen ja ne näkyvät käyttöliittymässä. Tämä sisältää kaikki kansiot ja tiedostot. Siirry kansioon /root ja valitse file1.txt. Valitse sen jälkeen restore everything to a different location ja siirry selaamalla tai kirjoita Absolution Destination -kohtaan /home/flruser/.

kA23a000000GIVvCAO_2_0

Tulos:
root/test-tiedosto palautetaan kansioon /home/flruser/test 
Huomioi, että tiedostolla on FLR-vieraskäyttäjän oikeudet. 

Vaihtoehto 2. Palauta vaihtoehtoiseen sijaintiin Restore ACL -asetuksella käyttäen sudo-ominaisuutta. 
Asenna Avamar 18.2:ssa välityspalvelimen hotfix-korjaus 318791 (tai uudempi)
Asenna Avamar 19.2:ssa välityspalvelimen hotfix-korjaus 318791 (tai uudempi) 


Nämä hotfix-korjaukset lisäävät uuden enablesudouserrestore-ominaisuuden, joka on oletusarvoisesti poissa käytöstä.

Sudo-ominaisuuden käyttöönotto-ohje:
Avamar-välityspalvelimessa:
  1. Asenna välityspalvelimeen edellä mainittu hotfix-korjaus
  2. Muokkaa tiedostoa /usr/local/avamarclient/bin/config.xml, lisää tiedostoon rivi / muokkaa riviä (<enablesudouserrestore>1</enablesudouserrestore>)
  3. Käynnistä FLR uudelleen komennolla: service vmwareflr restart
Toimi seuraavasti kaikissa Linux-virtuaalikoneissa, joissa FLR on käytössä:
  1. Luo erityinen FLR-käyttäjä:  flruser-esimerkkikäyttäjä.  Suojausta voi parantaa poistamalla komentotulkin käytöstä kyseisellä tilillä
  2. Kopioi /usr/local/avamarclient/bin/RestoreAcl-binääritiedosto Avamar-välityspalvelimesta kohdevirtuaalikoneeseen käyttäen kiinteää sijaintia /usr/bin/RestoreACL ja määritä oikeudeksi 755 chmod-komennolla
Esimerkki:
linux-da91:~ # ls -l /usr/bin/RestoreAcl
-rwxr-xr-x 1 root root 148016 Feb 13 17:48 /usr/bin/RestoreAcl
  1. Muuta tiedostoa /etc/sudoers siten, että sallit vaiheen 1 FLR-käyttäjän suorittaa RestoreACL-binääritiedoston ilman salasanaa. 
Esimerkki
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl

Huomautus: Jos sudoers requiretty -asetus on käytössä (tiedostossa on rivi Defaults requiretty), myös tämä rivi tarvitaan.  
Defaults!/usr/bin/RestoreAcl !requiretty


Vaihtoehto 3: Palauta alkuperäiseen sijaintiin sudo wget -menetelmällä ACL:ssä. 

Huomautus: 

  • Tämä vaihtoehto on käytettävissä ainoastaan, kun valinnainen verkon HTTPS on käytettävissä ja kun palautusvalinta on yli >5 Mt tai valittuna on yli 10 tiedostoa.
  • Käytössä olevien kohdevirtuaalikoneiden sijaintien ja rajoitettujen kansiosijaintien selaaminen Avamar-käyttöliittymässä saattaa epäonnistua, mutta kansioiden nimenomainen kirjoittaminen kohtaan Absolution Destination toimii. 
  1. Ota ACL-palautus käyttöön tekemällä vaihtoehdon 2 vaiheet välityspalvelimessa.
  2. Muokkaa Avamar-välityspalvelimessa tiedostoa /usr/local/avamarclient/bin/wget_linux_script.template 
Ennen:
wget "$url/$filepath" -N  -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>    $logfile

Jälkeen:
sudo wget "$url/$filepath" -N  -nH -x -P "$dest" --no-check-certificate -S --restrict-file-names=nocontrol  --no-parent --tries 5 --header="Authorization:$token" --cut-dirs=2 --content-disposition 2>>    $logfile
  1. Käynnistä FLR uudelleen komennolla: service vmwareflr restart
  2. Toimi seuraavasti kaikissa Linux-virtuaalikoneissa, joissa käytetään FLR-palautusta alkuperäiseen sijaintiin: muokkaa kohtaa /etc/sudoers, jotta vaiheen 1 FLR-käyttäjä saa suorittaa komennon wget binary ilman salasanaa. 
Esimerkki:
flruser ALL=(ALL) NOPASSWD: /usr/bin/RestoreAcl
flruser ALL=(ALL) NOPASSWD: /usr/bin/wget
 
Huomautus: Jos sudoers requiretty -asetus on käytössä (tiedostossa on rivi Defaults requiretty), myös nämä rivit tarvitaan:
Defaults!/usr/bin/RestoreAcl !requiretty
Defaults!/usr/bin/wget !requiretty

Produits concernés

Avamar

Produits

Avamar, Avamar Client for VMware
Propriétés de l’article
Numéro d’article: 000081871
Type d’article: Solution
Dernière modification: 20 nov. 2020
Version:  2
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.