Рейтинг:0

Сценарий оболочки для перемещения файла в каталог другого пользователя?

флаг ca

Я использую сервер Ubuntu 16.04. На моем сервере у меня есть файл в каталоге /home/userA/дирА:

пользовательA@myUbuntu:~$ 
userA@myUbuntu:~$ pwd
/дом/пользовательА
пользовательA@myUbuntu:~$ 
пользовательA@myUbuntu:~$ ls -l
всего 8
drwxrwxr-x 3 userA userA 4096 17 февраля 14:13 dirA
пользовательA@myUbuntu:~$ 
userA@myUbuntu:~$ ls -l dirA/
всего 7796
-rw-rw-r-- 1 пользовательA пользовательA 1234 17 фев 14:05 theFile.txt
пользовательA@myUbuntu:~$

Обратите внимание на право собственности здесь; пользователь пользовательA владеет файлом и каталогом, в котором находится файл.

Мне нужен сценарий оболочки, который перемещает файл.txt в другое место, в каталог, который не принадлежит пользовательA. Вот мой сценарий:

#!/бин/баш
echo "Попытка переместить файл..."
{
        sudo mv /home/userA/dirA/theFile.txt /home/userB/dirB/.
} || {
   echo "Не удалось переместить файл!"
}

... и вывод:

пользовательA@myUbuntu:~$ ./myScript.sh
Попытка переместить файл...
Не удалось переместить файл!
пользовательA@myUbuntu:~$ 

Как вы понимаете, скрипт работает как пользовательA. Я не хочу запускать его как корень.

Итак, я предполагаю, что сценарий не работает из-за разрешений; скрипт запускается как пользовательA не имеет разрешения на перемещение файла в каталог, принадлежащий пользователь B. Я пробовал всевозможные варианты судо команда и другие, но безрезультатно. Я также пробовал глупые обходные пути, такие как копирование файла в /tmp (это работает), а затем делает чаун изменить владельца файла (это не работает). Но должен быть способ сделать это аккуратно. Любые идеи?

ПОЛНОЕ РАСКРЫТИЕ :: Я также разместил этот вопрос здесь.

Рейтинг:0
флаг ca

Решение предоставлено здесь.

И пользователь А, и пользователь Б должны быть добавлены в общую группу пользователей. Затем этой группе должны быть назначены разрешения всех каталогов в пути к целевому каталогу. Кроме того, вы должны установить «chmod 777» для каждого каталога по пути.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.