私はCentosを使用しており、ディレクトリの1つに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
私の最初の仮定は、あなたまたは誰かがルートとして次を使用してディレクトリまたはファイルの権限を変更しようとしているということです。
# chmod 600 *
しかし、次のように誤って入力されました。
# chown 600 *
これにより、所有者がに変わります600
。これは、システムにそのユーザーがいなくても有効な操作です。このファイルはUID 600(おそらく割り当てられていない)が所有しています。
もう一度変更するには、以下を使用してください。
# chown dave *
root(dave
あなたのユーザー名に置き換えます)
*
すべてのファイルとディレクトリに影響を与えないようにするには、特定のファイルとディレクトリ名を選択する必要があります。また、シェルの履歴を見て、自分が行った操作を追跡して、行ったことを確認する必要があります。実際に所有権が変更されます(あなたの場合)。
別の可能性は、ファイルとその所有権がUID 600を持つ別のコンピュータから転送されたことです。はい有効なユーザーです。ファイルがネットワーク共有にあり、現在のコンピュータのユーザーがファイルが作成されたコンピュータと何らかの方法で同期されていない場合、これは簡単に発生する可能性があります。
それでもrootで所有権を変更できますchown
。