sudo chown сообщает, что он changed ownership но stat показывает, что они остаются неизменными. Я абсолютно не знаю, что может быть причиной такого поведения. Команды и их вывод перечислены ниже:

iceberg@iceberg-Vostro-3446:/media/iceberg/Data3/Open_Source_Projects/container$ stat ./logs/mysql/tomcat/error.log
  File: './logs/mysql/tomcat/error.log'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d  Inode: 397758      Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/ iceberg)   Gid: ( 1000/ iceberg)
Access: 2017-08-03 21:53:37.845481100 +0530
Modify: 2017-08-03 21:53:37.845481100 +0530
Change: 2017-08-03 21:53:37.845481100 +0530
 Birth: -
iceberg@iceberg-Vostro-3446:/media/iceberg/Data3/Open_Source_Projects/container$ sudo chown -vR 999:999 ./logs/mysql/tomcat/error.log
[sudo] password for iceberg: 
changed ownership of './logs/mysql/tomcat/error.log' from iceberg:iceberg to 999:999
iceberg@iceberg-Vostro-3446:/media/iceberg/Data3/Open_Source_Projects/container$ stat ./logs/mysql/tomcat/error.log
  File: './logs/mysql/tomcat/error.log'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d  Inode: 397758      Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 1000/ iceberg)   Gid: ( 1000/ iceberg)
Access: 2017-08-03 21:53:37.845481100 +0530
Modify: 2017-08-03 21:53:37.845481100 +0530
Change: 2017-08-03 21:53:37.845481100 +0530
 Birth: -

Редактировать 1: Обновлена информация, связанная с расположением файлов.

Редактировать 2: Используемая файловая система - NTFS. Раздел Windows смонтирован внутри Ubuntu.

2 ответа2

1

В комментариях вы упомянули, что файловой системой является NTFS.

Это источник вашей проблемы. Файловая система была смонтирована как пользователь iceberg , и все ее файлы представлены как принадлежащие этому пользователю.

Чтобы изменить это, вам, вероятно, потребуется:

  • Смонтируйте файловую систему как root, используя различные опции, чтобы уважать право собственности на файл из NTFS. Вам может потребоваться исправить владение другими файлами после внесения этого изменения.

  • Смонтируйте файловую систему как пользователь 999. Это сделает все его файлы принадлежащими этому пользователю, что может или не может быть тем, что вы хотите.

  • Измените разрешения (не владение) для этого файла, чтобы пользователь 999 мог записать его.

  • Храните эти файлы на диске с собственной файловой системой Linux, а не храните их на диске NTFS.

0

Поскольку ваш вывод упоминает "контейнер", я предполагаю, что вы используете Docker ...

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

Не могли бы вы проверить файл с хоста?

# stat /var/lib/docker/aufs/diff/<container id>/<path in container>/logs/mysql/tomcat/error.log

Если вы не видите файл здесь, он находится за пределами образа докера.

Или это также может быть файл, поступающий из верхнего слоя aufs. Попытайтесь воспроизвести его и создайте (коснитесь) новый файл, затем скопируйте его.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .