Попробуйте следующее. (Это было протестировано на Lubuntu),
Перейдите к home/jill/web/public и сделайте: ls -la
Это покажет Вам детали файлов и папок там. Один из них будет активами (это - просто пример, Ваши детали активов будут отличаться):
-rw-r----- 1 user group 9275204 Jun 13 15:27 assets
Идея состоит в том, чтобы создать новую группу и сделать ее владельцем активов и затем добавить всех пользователей к той группе.
Создайте новую группу на сервере.
groupadd assetgroup
Добавьте пользователей к новой группе:
usermod -a -G assetgroup ftpuser
usermod -a -G assetgroup jill
usermod -a -G assetgroup www
И измените владение папки активов к assetgroup. (-R для рекурсивного изменения),
sudo chgrp -R assetgroup assets/
Нет никаких автономных command
: вместо этого это встроенная оболочка, а как таковая документирована на странице человека для Bash
:
read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p
prompt] [-t timeout] [-u fd] [name ...]
[...]
-r Backslash does not act as an escape character. The back‐
slash is considered to be part of the line. In particu‐
lar, a backslash-newline pair may not be used as a line
continuation.
Итак, чтобы обобщить READ
обычно позволяет сломаться длинными линиями с использованием трейлинга обратного челюсти и обычно реконструирует такие линии. Это немного удивительное поведение может быть деактивировано с использованием -R
.
Опция -r
предотвращает интерпретацию символов обратной косой черты . Вот пример:
Предположим, что есть файл с таким содержимым:
ngRTM6hNqgziZcqCcEJN7bHAP9a1GeMs\
Ni3EAX1qvogWpRIPE3oagJL6nwl\QQW9y
bjJHyaVBrUcyZOY5U4h9QHnpEPqg\\\\\\\\\Q9Fk
iNOvAyBTAcN5n1uwR4GvRfAGUbPWiXax\n
cqGPPStH3gaWolrfVAlMtoWiSuLa7GzQ\n\n\n
EnO04N1nEkpWbfXRxrtYNqCZDpF\trQIXS
$ while read line; do echo $line; done < tempfile
ngRTM6hNqgziZcqCcEJN7bHAP9a1GeMsNi3EAX1qvogWpRIPE3oagJL6nwlQQW9y
bjJHyaVBrUcyZOY5U4h9QHnpEPqg\\\\Q9Fk
iNOvAyBTAcN5n1uwR4GvRfAGUbPWiXaxn
cqGPPStH3gaWolrfVAlMtoWiSuLa7GzQnnn
EnO04N1nEkpWbfXRxrtYNqCZDpFtrQIXS
$ while read -r line; do echo $line; done < tempfile
ngRTM6hNqgziZcqCcEJN7bHAP9a1GeMs\
Ni3EAX1qvogWpRIPE3oagJL6nwl\QQW9y
bjJHyaVBrUcyZOY5U4h9QHnpEPqg\\\\\\\\\Q9Fk
iNOvAyBTAcN5n1uwR4GvRfAGUbPWiXax\n
cqGPPStH3gaWolrfVAlMtoWiSuLa7GzQ\n\n\n
EnO04N1nEkpWbfXRxrtYNqCZDpF\trQIXS