Я использую Centos и выполнил команду ll для одного из каталогов. Владельцы файлов в каталоге — это какие-то цифры вместо имени пользователя. Можете ли вы объяснить, почему так?
Если вы видите ниже, что вместо root в качестве владельца отображается 600. И нет пользователя с именем 600. Почему так?
-rw-rw-r-x. 1 600 root 1696 Jun 27 2016 abc.txt
-rw-rw-r-x. 1 600 root 1696 Jun 27 2016 xyz.txt
-rw-rw-r-x. 1 600 root 1692 Jun 27 2016 hagts.txt
решение1
Мое первое предположение заключается в том, что вы или кто-то другой, как пользователь root, пытались изменить права доступа к каталогу или файлам в нем с помощью чего-то вроде
# chmod 600 *
но неправильно напечатано как
# chown 600 *
Это изменит владельца на 600
. Это допустимая операция, даже если в системе нет такого пользователя. Файлы будут принадлежать UID 600 (который может быть не назначен).
Чтобы вернуть их обратно, используйте
# chown dave *
как root (замените dave
на свое имя пользователя).
Вы можете выбрать определенные файлы и имена каталогов вместо , *
если вы не хотите влиять на все файлы и каталоги. Вы также должны повторить свои шаги, заглянув в историю оболочки, чтобы увидеть, что вына самом делесделали, чтобы сменить владельца (если это были вы).
Другая возможность заключается в том, что файлы и их владельцы были перенесены с другого компьютера, где UID 600.являетсядопустимый пользователь. Это может легко произойти, если файлы находятся на сетевом ресурсе, а пользователи на текущей машине никак не синхронизированы с машиной, создавшей файлы.
Вы по-прежнему можете изменить владельца, используя chown
учетную запись root.