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

1881
Ayushya

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.

0
На какой файловой системе хранится этот файл? duskwuff 6 лет назад 0
Я использую zsh, возможно, это может показаться странным, я обновлю вопрос синтаксисом bash, который, вероятно, более популярен и широко используется. Ayushya 6 лет назад 0
Нет - я имею в виду файловую систему, а не вашу оболочку. Этот каталог смонтирован поверх FUSE или что-то еще странное? Это на файловой системе не Linux, такой как NTFS или FAT32? duskwuff 6 лет назад 0
@duskwuff Он хранится в локальной файловой системе, смонтированной на моих носителях. Ayushya 6 лет назад 0
Обычно `chown` не производит никаких выходных данных ... что вызывает у меня подозрения относительно команды` chown`, которую вы на самом деле используете. Попробуйте запустить `which chown`, и посмотрите, что это за файл (официальный должен быть двоичным). Если это сценарий, возможно, это обертка, которая знает, что еще. nKn 6 лет назад 0
Опция `-v` chown используется для` --verbose` и отвечает за вывод. Параметр `-c` используется для сообщения о любых изменениях, которые вносит` chown` Запуск `, который выполняет chown`, приводит к` / bin / chown`, а `cat / bin / chown` показывал некоторые неразборчивые выходные данные, я думаю, что это двоичный файл Ayushya 6 лет назад 0
@duskwuff это файловая система NTFS. Файловая система Windows монтируется в Ubuntu Ayushya 6 лет назад 0

2 ответа на вопрос

1
duskwuff

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

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

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

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

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

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

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

0
Elektordi

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

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

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

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

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

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

Это не в томах докера. Файл, который я пытаюсь записать, находится в медиа-томе. Ayushya 6 лет назад 0

Похожие вопросы