Jak skopiować pliki i katalogi jako użytkownik Sudo

1

Loguję się do systemu Linux, używając swojego identyfikatora, np. „A”. następnie wykonam sudo do użytkownika „B” bez wprowadzania hasła, a następnie skopiuję niektóre pliki z folderu X do folderu Y, używając użytkownika SUdo „B”.

Próbuję wykonać tę czynność za pomocą skryptu powłoki, aby umieścić ją w cronjob ... jak dotąd bez powodzenia.

Każda pomoc w tym zakresie będzie naprawdę wdzięczna ...

to właśnie próbuję ...

#!/bin/sh
sudo /usr/local/sbin/deploy
cp -r /tmp/test /tmp/deploy

źródło
Jakie masz problemy? Czy użytkownik B ma dostęp do zapisu do katalogu /tmp/deploy?
2
Zła strona. To powinno być na superuser.com .
Seth Johnson
Kopiowanie działa dobrze ... kopiuje się jako Użytkownik „A”, a nie „B”. [pota713 @ lnx33 / tmp] $ ./cp1.sh --- Przełączanie użytkowników --- Nazwa użytkownika: wdrożyć UID: 498 Katalog główny: / opt / mover Kasowanie ustawione na backspace. <lnx33: ~> $ exit [pota713 @ lnx33 / tmp] $ cd wdrażanie [pota713 @ lnx33 wdrażanie] $ ls test [pota713 @ lnx33 wdrażanie] $ ls -ltr ogółem 4 drwxr-xr-x 3 pota713 acn 4096 lis 16 07 : 59 test Pozdrawiam, Ramesh.T

Odpowiedzi:

1

Musisz również uruchomić cpz sudo. W przeciwnym razie deploytworzy pliki z właścicielem, Ba następnie cpnie może ich odczytać (ponieważ powłoka zwraca użytkownika pierwotnemu użytkownikowi po zakończeniu sudoskryptowania).

Możesz też uruchomić za chmodpomocą przycisku, sudoaby pliki były czytelne, Aa następnie wykonać kopię.

Aaron Digulla
źródło
0

sudo uruchamia polecenie tylko w wierszu poleceń, a następnie wraca z powrotem do konta wywołującego. jeśli chcesz uruchomić wiele poleceń jako inny użytkownik, lepiej byłoby utworzyć skrypt i uruchomić ten skrypt za pomocą sudo.

Jeff Paquette
źródło
0

sudo to interaktywne polecenie. Używanie go w zadaniach crona nie ma sensu. Utwórz skrypt superużytkownika, aby skopiować wszystkie pliki, a następnie zmień własność, lub uruchom skrypt przez wymaganego użytkownika.

Dhruba Adhikari
źródło