Этот поток очень интересен, потому что я задавался вопросом та же самая вещь. Я могу жить с необходимостью переименовать 20 файлов из 50 000, если имена файлов должны быть 140 символами или меньше, но 45 или меньше не выполнимо (в моей ситуации), потому что она потребовала бы, чтобы я переименовал слишком много файлов.
Я задал тот же самый вопрос непосредственно Synology (даже указывающий на них на данную статью), и их ответ был интересен: "Предел имени файла зашифрованной доли составляет 143 байта. Это могут быть до 140 чистых латинских символов или 45 CJK (китайский язык, японский язык и корейский язык) символы".
После этого ответа я сделал больше тестирования меня, тестируя с файлами, которые равнялись 45, 46, 140, 143 и 144 символа. Мои тесты показывают, что файлы, до 143 символов (не байты, вопреки тому, что Synology сказала мне) будут зашифрованы, но файлы с 144 символами, ПРЕДОТВРАТЯТ папку, которая будет зашифрована. Однако СООБЩЕНИЕ ОБ ОШИБКЕ, что я добираюсь от своего NAS, - то, что имя файла должно быть меньше чем 45 символами (тогда как действительность - то, что это должны быть меньше чем 144 символа).
Я не сделал тестов с символами CJK... Но, любому читающему это, кажется, что Вы в порядке до 143 символов, несмотря на то, что система говорит Вам.
Использование chmod
для изменения полномочий, команды chown
для изменения владения файлов и каталогов.
Для изменения владения каталога, можно использовать следующую команду:
$ sudo chown -R me /srv/www/htdocs
Примечание: мы используем sudo
средство для подъема наших полномочий до того же уровня, как поддерживают эти команды, не имея необходимость становиться корнем.
Изменить полномочия на этом каталоге:
$ sudo chmod -R 777 /srv/www/htdocs
Используя команду umask
настраивает Ваш терминал так, чтобы, когда файлы и каталоги создаются, на их полномочия можно было влиять немного. Осторожность должна соблюдаться при использовании umask
с тех пор существуют ситуации, где это не даст Вам полномочия точно способ, которым Вы думаете.
Для каталога это кажется прекрасным:
$ for i in `seq 1 7`;do echo "umask: 00$i"; umask 00$i; rm -fr blah; mkdir blah;ls -l|grep blah;done
umask: 001
drwxrwxrw- 2 saml saml 4096 Jul 29 14:39 blah
umask: 002
drwxrwxr-x 2 saml saml 4096 Jul 29 14:39 blah
umask: 003
drwxrwxr-- 2 saml saml 4096 Jul 29 14:39 blah
umask: 004
drwxrwx-wx 2 saml saml 4096 Jul 29 14:39 blah
umask: 005
drwxrwx-w- 2 saml saml 4096 Jul 29 14:39 blah
umask: 006
drwxrwx--x 2 saml saml 4096 Jul 29 14:39 blah
umask: 007
drwxrwx--- 2 saml saml 4096 Jul 29 14:39 blah
Однако это не позволит Вам иметь файлы точно способ, которым Вы могли бы предназначить их, чтобы быть с конкретным umasks. Посмотрите umask 006
например, ниже:
$ for i in `seq 1 7`;do echo "umask: 00$i"; umask 00$i; rm -fr blah; touch blah;ls -l|grep blah;done
umask: 001
-rw-rw-rw- 1 saml saml 0 Jul 29 14:40 blah
umask: 002
-rw-rw-r-- 1 saml saml 0 Jul 29 14:40 blah
umask: 003
-rw-rw-r-- 1 saml saml 0 Jul 29 14:40 blah
umask: 004
-rw-rw--w- 1 saml saml 0 Jul 29 14:40 blah
umask: 005
-rw-rw--w- 1 saml saml 0 Jul 29 14:40 blah
umask: 006
-rw-rw---- 1 saml saml 0 Jul 29 14:40 blah
umask: 007
-rw-rw---- 1 saml saml 0 Jul 29 14:40 blah
Существуют другие, это должно только выделить пример!
Учитывая Вы имеете дело с каталогом Apache (на основе пути /srv/www/htdocs
) Я искал бы группу Unix что Ваш пользователь me
и пользователь, которого выполняет Apache, как оба члены. Можно использовать groups
команда для определения этого:
$ groups saml
saml : saml vboxusers jupiter newgrp
$ groups apache
apache : apache
Можно также использовать id
команда:
$ id saml
uid=500(saml) gid=501(saml) groups=501(saml),502(vboxusers),503(jupiter),10000(newgrp)
$ id apache
uid=48(apache) gid=48(apache) groups=48(apache)
В моей системе Apache выполняется пользователем apache
. Рассмотрение этого пользователя, Вы видите, что это находится в единственной группе apache
также. Таким образом, один подход должен был бы добавить пользователя me
этой группе.
Например, добавить me
к apache
группы:
$ sudo usermod -a -G apache me
Другой подход должен был бы создать другую группу и добавить обоих apache
и me
этой вторичной группе (например, apacheplus), и затем работавший эта команда /srv/www/htdocs
:
$ sudo chgrp -R apacheplus /srv/www/htdocs