У Вас есть различные устройства на UNIX/Linux, которые представляют физические диски так, например, на Linux:
/dev/sda - Would designate SCSI drive with ID of 0 or lately more commonly ID:0 on SATA.
/dev/sdb - Would be secondary device, etc
Linux, когда это устанавливает, спросит Вас, где установить его на, и можно определять /dev/sda
поскольку Ваш диск ОС и Вы можете определять /dev/sdb
как местоположение для /home
который будет отформатирован и смонтирован, если Вы выберете его, чтобы быть.
Вы создадите разделы на диске ОС, определяющем один для swap
, /boot
, /
файловые системы, которые в основном создадут устройства как /dev/sda1, 2, 3
который будет смотреть на Вашу систему как на физические устройства, и они будут сделаны доступными для ОС в формах каталогов.
Таким образом в настроенном /dev/sda
был бы Windows, эквивалентный из C:\
диск и /dev/sdb
был бы эквивалент диска данных, безотносительно буквенного обозначения, которое Вы выбираете.
Таким образом, если Вы принимаете решение переустановить Linux все, чего необходимо будет остерегаться, на самом деле не переформатировал /dev/sdb
или разделы, которые Вы настраиваете на нем так, чтобы данные Вы имели на том драйвере, остаются неповрежденными.
Теперь подобное понятие может быть применено, если существует только один диск в системе, но это будет немного более сложно из понятия, которое Windows также поддерживает, но обычно не быть используемым.
Необходимо поместить -R
опция впереди.
chown -R root:www-data /var/www/example.com
(Я всегда использую точку вместо двоеточия между пользователем и группой, но в страницах справочника говорится, что двоеточие должно использоваться).
GNU coreutils версия chown
, который является стандартным в соответствии с Ubuntu, примите опции, помещенные где угодно, (как долго как --
не используется). Это:
chown foo:bar some/location -R
chown -R foo:bar some/location
обе работы. Это из-за как getopt_long()
работы. В моей книге это - ошибка – поскольку она должна или закончиться по ошибке или быть зарегистрирована, который от того, что я могу найти, это не.
chown foo:bar some/location -- -R
искал бы названный каталог -R
.
Однако, если одна переменная среды набора POSIXLY_CORRECT
первый пример перестал бы работать, если нет никакого названного каталога -R
, и никогда не рекурсивно вызывал бы.
$ export POSIXLY_CORRECT=
$ chown -v :foo a/ -R
ownership of `a/' retained as foo:foo
chown: cannot access `-R': No such file or directory
По моему скромному мнению: всегда пытайтесь приспособить POSIX пути как однажды, Вы вводите ту команду в другую систему, где POSIX осуществляется, таким образом повреждаясь.
Также обратите внимание что значение POSIXLY_CORRECT
не имеет никакого эффекта. Это не отключило бы его:
export POSIXLY_CORRECT=0
export POSIXLY_CORRECT=no
export POSIXLY_CORRECT=false
export POSIXLY_CORRECT=...
Можно было бы должен быть unset
это.
Это могла быть Ваша система, настраивается с любым другой chown
инструмент или POSIXLY_CORRECT
установлен.
Проверьте:
export | grep POSIX
chown --version
# etc.
Как примечание стороны, использование точки, .
, разделить группу и пользователя было obsoleted с POSIX 2001 (info coreutils 'chown invocation'
), но все еще поддерживаемый для назад совместимости, хотя это не рекомендуется.
POSIXLY_CORRECT
переменная среды установлена (или--
используется для маркировки конца опций). AFAIK, Ubuntu не устанавливает ту опцию в стандартной среде, таким образом, я сомневаюсь относительно этого быть проблемой. Так или иначе я соглашаюсь, что нужно поместить опции впереди. – Stéphane Chazelas 05.05.2013, 16:18