Puncte:0

Script Shell pentru a muta un fișier în directorul altui utilizator?

drapel ca

Rulez un server Ubuntu 16.04. Pe serverul meu, am un fișier în director /home/userA/dirA:

utilizatorA@myUbuntu:~$ 
userA@myUbuntu:~$ pwd
/home/userA
utilizatorA@myUbuntu:~$ 
userA@myUbuntu:~$ ls -l
total 8
drwxrwxr-x 3 userA userA 4096 Feb 17 14:13 dirA
utilizatorA@myUbuntu:~$ 
userA@myUbuntu:~$ ls -l dirA/
total 7796
-rw-rw-r-- 1 utilizatorA userA 1234 Feb 17 14:05 theFile.txt
utilizatorA@myUbuntu:~$

Notați aici proprietatea; utilizator utilizatorA deține fișierul și directorul în care se află fișierul.

Am nevoie de un script shell care se mișcă theFile.txt într-o altă locație, într-un director care nu este deținut de utilizatorA. Iată scenariul meu:

#!/bin/bash
echo „Se încearcă mutarea fișierului...”
{
        sudo mv /home/userA/dirA/theFile.txt /home/userB/dirB/.
} || {
   echo „Nu s-a putut muta fișierul!”
}

...si iesirea:

userA@myUbuntu:~$ ./myScript.sh
Se încearcă mutarea fișierului...
Nu s-a mutat fișierul!
utilizatorA@myUbuntu:~$ 

După cum vă puteți da seama, scriptul rulează ca utilizatorA. Nu vreau să o rulez ca rădăcină.

Deci presupun că scriptul eșuează din cauza permisiunilor; un script rulat ca utilizatorA nu are permisiunea de a muta un fișier într-un director deținut de utilizatorB. Am încercat tot felul de variante ale sudo comandă și altele, dar fără rezultat. De asemenea, am încercat soluții proaste, cum ar fi copierea fișierului în /tmp (care funcționează) și apoi făcând a chown pentru a schimba proprietatea fișierului (asta nu funcționează). Dar trebuie să existe o modalitate de a face asta cu grijă. Vreo idee?

DEZVOLTARE COMPLETĂ :: Am postat și această întrebare Aici.

Puncte:0
drapel ca

Soluția oferită aici.

Atât userA cât și userB trebuie adăugate într-un grup comun de utilizatori. Apoi, permisiunile tuturor directoarelor din calea directorului țintă trebuie să fie atribuite acestui grup. În plus, trebuie să setați „chmod 777” pentru fiecare director pe parcurs.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.