Владение остается неизменным после `sudo chown` в Ubuntu

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 ответа

Решение

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

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

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

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

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

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

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

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

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

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

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

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

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

Другие вопросы по тегам