Как я могу переместить файл в каталог другого пользователя?

Пойдите с тем, что уже является установкой, если ssh на поле работы уже является открывать/контролировать/поддерживать/контролировать сервисом, затем пытаются сделать rsync через это. Не открытие новых портов/сервисов является обычно самым безопасным. Открытие небезопасных протоколов к Интернету еще лучше =)

Можно получить ssh доступ к ReadyNas (если Вы не возражаете против некоторой стычки от Netgear в случае, "я удалил свой nas" обращение за поддержкой). Затем rsync -e ssh из командной строки, которая не оставляет ничто иное для установки. Автору, проводной безопасности и полномочиям пользователя/файла все предоставляет установка оболочки ssh/remote на поле работы.

Для открытия ssh в Вашей домашней сети:

  • Динамические стычки IP могут быть покрыты путем выполнения бесплатной динамической службы DNS.

  • Ограничьте доступ к порту к общедоступному IP поля Вашей работы.
    Некоторые маршрутизаторы позволяют Вам устанавливать исходный IP в правиле NAT.
    SSH может быть защищен с iptables и больше

Как DarkHeart упомянул, rsync отдельно по небезопасной сети не хорошая идея. Туннель и упомянутый vpn являются хорошей работой вокруг. Можно продолжить вышеупомянутый туннель ssh с autossh. Можно хотеть зависеть от некоторой rsync безопасности, если попытка оставить на виду туннель в зависимости от того, у кого еще есть доступ к любому концу.

Кроме того, если Вы уже не имеете, обсуждаете что Ваше выполнение с кем-то. Деталь, какие данные идут в/из сети. Думайте о том, какие данные смогли выходить, если все идет не так, как надо. Зарегистрируйте свой процесс где-нибудь.

3
01.01.2014, 19:11
3 ответа

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

Самый легкий путь к sudo mv /dir1/file /dir2/file но необходимо, вероятно, прочитать Быстрое и Грязное Руководство по Полномочиям Файла Linux сначала.

0
27.01.2020, 21:16
  • 1
    у Вас было бы разрешение переместить его, если бы Вы были корнем, таким образом с помощью sudo или su, позволил бы Вам делать перемещение, но затем Вы могли бы хотеть изменить владельца использования файла, показанного так, чтобы у нового пользователя мог быть доступ для чтения-записи? RFC 6056 –  X Tian 31.12.2013, 15:58

Вам нужны права считать файл от пользователя A и записать файл в местоположение пользователя B.

Существует несколько способов заархивировать это:

1)
Как пользователь (предположил, что она может считать свои собственные файлы) получают разрешение ЗАПИСИ к местоположению пользователя B. Это означает находиться в группе, которая разрешена w к целевому каталогу и которой разрешают получить доступ (x) путь к каталогу месту назначения.

Пример:

cd /home/user/A/
ls -l testfile  
-rw-------  1 userA  users  18 Dec 31 16:31 testfile

Заметьте r. Пользователю A разрешают считать ее собственный файл

cp testfile /home/userB/testdir

Пользователь A должен будет пересечь к папкам,/home,/home/userB и/home/userB/testdir. Все они должны быть 'x' для нее. Она хочет записать в папку 'testdir', и таким образом ей также нужен 'w' на той папке.

Это 'w' может быть в пользователе, группе или другой части. Но если Вы устанавливаете его в 'другом' затем каждом пользователе, может записать в него. Таким образом Вы обычно делаете часть совместно используемых файлов или совместно используемых папок группы. (например, в/etc/group создают группу 'продажи' и добавляют обоих пользователей к этому).


2)
Как пользователь B: (который, как предполагается, может записать в его собственной папке).
Получите прочитанное разрешение на файле в папке Усера и праве пересечь там. (то же как в 1).

Теперь можно скопировать файл в собственное местоположение. Вы не можете удалить его из папки пользователя A, если Вы также не имеете права сделать это. Таким образом, можно скопировать, но не переместиться.


3)
Как пользователь с uid 0 (обычно корень, toor, администратор):

mv/home/userA/testfile/home/userB/

Заметьте, что файл все еще принадлежит Усера, и что пользователь B не мог бы иметь прав работать над файлом. Можно исправить это с chown.


4)
Без тяжелого оружия, как часто делается двумя пользователями:

As UserA: cp testfile /tmp/
As userB: cp /tmp/testfile ~
As userA: rm /tmp/testfile

Это не самый безопасный путь (другой видеть файл, в то время как это находится в/tmp), но я думаю, что это - наиболее распространенное решение.


Если Вы хотите сделать это часто затем, я настоятельно рекомендую создать группу и дать всем пользователям в той группе права на общий ресурс.

Не спрошенный, но решение как это часто практично (показанный с музыкой, но это могли бы также быть отчеты по продажам).

энергия/etc/group и добавляет строку как это: shared_music:*:3141:userA,UserB,UserC. Это создаст группу, названную shared_music, даст ему число и выбор, какие пользователи будут принадлежать той группе.

Затем сделайте папку принадлежавшей той группе.

cd /usr/local/
md our_ultimate_shared_music_collection
chgrp shared_music our_ultimate_shared_music_collection
chmod g+rwx our_ultimate_shared_music_collection
chmod g+S our_ultimate_shared_music_collection

Сделайте папку в нормальном месте. Установите группу и затем позвольте всем людям в той группе читать, запишите и CD в ту папку. Последняя команда (делают группу setuid) означает, что недавно созданные субфайлы наследовали ту же группу как каталог, и недавно созданные подкаталоги наследовали бит идентификатора группы набора родительского каталога. Это препятствует тому, чтобы Усера писал файлы в тот каталог, который USerB (или любой, но A) не мог удаленный или переименовывать.

5
27.01.2020, 21:16
  • 1
    cp кому: /tmp может быть сделан безопасным при помощи права umask (например. 022) и ACLs, если поддерживается: setfacl -m UserB:r /tmp/testfile. –  jofel 31.05.2016, 13:11
  • 2
    Верный. И хорошая идея, если необходимо сделать это однажды. –  Hennes 31.05.2016, 13:14

Предположение, что по крайней мере один из пользователей имеет sudo полномочия, выполните следующее, в то время как зарегистрированный как того пользователя (т.е. с sudo полномочиями):

sudo mv /home/userA/file_name /home/userB

Это предложит Вам пароль соответствующего пользователя.

Иначе войдите в систему как корень и выполните вышеупомянутое без "sudo" вначале.

0
27.01.2020, 21:16
  • 1
    Если бы Вы зарегистрированы как корень затем, Вам не была бы нужна sudo часть. –  Hennes 31.12.2013, 20:51

Теги

Похожие вопросы