Как я могу копировать файлы, скопированные по сети с моего компьютера под управлением Windows?

У меня есть диск на моей машине Ubuntu, доступный по сети, и один из компьютеров, которые могут получить к ней доступ, - это компьютер под управлением Windows 7.

Всякий раз, когда я нахожусь на своем компьютере под управлением Windows и копирую файл к общей папке Ubuntu, она выглядит как принадлежащая никому и с ограниченными правами:

-rwxr--r--  1 nobody nogroup

Мне всегда нужно перейти в командную строку на стороне Ubuntu и выдать команду chown, чтобы сделать так что у меня есть разрешения на редактирование файла. До сих пор я не могу переместить или скопировать его, и он не будет синхронизироваться с Dropbox.

Как я могу сделать так, чтобы при копировании файлов с моей Windows-машины они автоматически принадлежали мне (У меня только одна учетная запись пользователя на моей машине Ubuntu), и у меня есть разрешение редактировать и перемещать их свободно?

1
задан 28 January 2015 в 12:28

3 ответа

Вы должны иметь возможность сделать это с помощью флага -no-preserve в cp

cp --no-preserve=ownership source destination

edit: у этого все равно будут странные разрешения (владелец будет пользовательским вызовом cp, хотя). Это, вероятно, будет работать лучше при копировании из ntfs:

cp --no-preserve=ownership,mode source destination

. Это будет соответствовать его битовой маске копируемой папки, поэтому, если вы вошли в систему как «пользователь-a» и скопируете в dir с drwxr-xr-x perms (0755), файлы будут принадлежать «user-a» и имеют -rw-r-r-- perms (0644).

1
ответ дан 24 May 2018 в 02:21

Я думаю, что проблема связана с стороной Ubuntu, потому что общий каталог не имеет достаточного разрешения.

Поскольку любые файлы, созданные в каталоге, имеют функцию разрешения родительских и дочерних отношений. Таким образом, это

Из-за википедии

При вычислении umask - это команда, которая определяет настройки маски, которая контролирует, как устанавливаются права доступа к файлам недавно созданные файлы

Итак, я думаю, что изменение umask в каталоге может стоить тестирования.

Чтобы архивировать смену umask , есть много документация и примеры в сети. хотите работать.

0
ответ дан 24 May 2018 в 02:21

Если другие ответы не помогут вам в качестве последней опции, вы можете написать небольшой скрипт bash, который автоматически дает вам полные разрешения и права собственности только на все файлы в общей папке. Вам все равно придется запускать эту команду вручную, но вы можете не вводить ее отдельно для каждого файла. Возможно, есть возможность сделать сценарий «смотреть» в папке, и всякий раз, когда он будет изменен, разрешения будут выданы немедленно. Хотя я думаю, что это будет работать только во время работы, а не обнаруживать изменения между выключением и следующей перезагрузкой.

0
ответ дан 24 May 2018 в 02:21

Другие вопросы по тегам:

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