Файлы копии с разрешением 200

sudo не проходит> оператор, потому что он никогда не видит его. Оболочка интерпретирует>, символ и sudo только видят эхо 4096. Это означает, что оболочка как Ваш идентификатор пользователя пытается открыться/proc/sys/fs/file-max и таким образом перестала работать.

Работа arounds:

% echo 4096 | sudo dd of=/proc/sys/fs/file-max
% sudoedit /proc/sys/fs/file-max
1
21.10.2012, 16:06
3 ответа

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

Если ACLs включены (с ext2/ext3/ext4, это требует опции монтирования acl) и Вы не интересуетесь копированием их, добавляете ACL, который позволяет пользователю, делающему копию читать файл.

setfacl -R -m u:username:rX sourcedirectory

Иначе необходимо будет или изменить полномочия файла заранее и восстановить их (с обеих сторон) впоследствии или сделать копию как корень.

2
27.01.2020, 23:29

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

  • cp -av /source /dest # не использовать -r, его поведение трудно предсказать и -a уже включает -R
  • cd /source; tar -cf- . | tar -xvpf- -C /dest
  • cd /source; find . -depth -print0 | cpio -pdmv -0 /dest
  • rsync -av --delete --hard-links /source/ /dest

Rsync немного хитер о запаздывании /s в его аргументах. Как объяснено в его странице справочника, оба из них являются способами скопировать каталог /source/foo кому: /dest/foo:

  • rsync ... /source/foo /dest
  • rsync ... /source/foo/ /dest/foo

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

1
27.01.2020, 23:29
  • 1
    Любой из этих методов будет работать, ключевая вещь как корень. –  Gilles 'SO- stop being evil' 22.10.2012, 00:55

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

$ cd <sourcedirectory>

$ tar -cvf <sourcedirectory.tar> .

$ cp <sourcedirectory.tar> <destinationdirectory>

$ tar -xvf <sourcedirectory.tar>
0
27.01.2020, 23:29
  • 1
    К сожалению, вторые сбои шага: tar -cf sourcedirectory.tar . дает сообщения как tar: ./foo/somefile.bar: Cannot open: Permission denied. (Я опустил -v опция к tar, но это не должно влиять на проблему.) –  sampablokuper 21.10.2012, 16:20
  • 2
    Это могло бы работать, если Вы пробуете его как корень, но, несомненно, добавите -p отметьте к четвертой строке, чтобы сохранить полномочия при расширении, вместо того, чтобы использовать безотносительно тока umask . –  dubiousjim 21.10.2012, 17:09

Теги

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