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

Summary: Avamar FLR Sudo

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms



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.

Resolution

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

Affected Products

Avamar

Products

Avamar, Avamar Client for VMware
Article Properties
Article Number: 000081871
Article Type: Solution
Last Modified: 25 Apr 2025
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.