フォローアップでこの問題ユーザーの変更については、UID
所有権を変更することをお勧めします。すべてのファイルシステムでは(この回答)
find / -uid 1000 -exec chown 5000 '{}' \+
1000
古いものはどこにありUID
、5000
新しいものはどこにありますか?/home/seb
私は(外部的に)持っているすべてのファイルをリストしましたが、ほとんどUID=1000
がその/proc
ディレクトリにあることがわかりました。
find / -uid 1000 \! -wholename '/home/seb/*'
うん救うまたは必要推奨される変更を実装しますかUID
?このファイルの目的はわかりませんが、/proc
新しいユーザーとしてログインしたときに必要に応じて作成されるとします。
/dev
注: に属する一部のファイルもありますが、UID=1000
これはユーザーが開いた端末にすぎません/dev/pts/23
。
答え1
私はあなたが話しているファイルがその(ただのデジタルディレクトリ)/proc
に属していると思いますか?これは、ディレクトリに関連付けられたプログラムを実行しているユーザーのUIDに設定されたUIDを持つプロセスアカウントディレクトリです。 pidが「12345」のプログラムを起動すると、そのプログラムはユーザーの所有になります。UID=1000
/proc/12345
/proc/12345
/proc
procのどれが実際のファイルシステムではなく擬似ファイルシステムなので、動作するかどうか疑問に思われます。
同様に/dev
、TTYは現在それを使用しているユーザーが所有します。
答え2
UID
番号付けされたディレクトリは、変更ではなく、プロセスへのオープンハンドルを表します。UID=1000
所有しているすべてのプロセスを終了(使用)ps
したり、そのプロセスのすべてのハンドルを閉じたり(使用)したりできますlsof
。
答え3
ファイルの所有権を変更することは不可能または必要ありません/proc
。これらのファイルはディスクに保存されず、ユーザーが読み取るとカーネルによって動的に生成されます。ルートに属していない唯一のファイルは、実行中のプロセスに関する情報を提供するファイルです。このファイルはプロセスを実行しているユーザーの一部です。
ディスクファイルの所有権を変更する前または後に、古いuidで実行されているすべてのプロセスを終了します。 (実行中のプロセスのuidを変更することはできません。)
このユーザーに属する端末(/dev/tty*
または)がある場合は、/dev/pts/*
そのuidを変更する必要があります。ユーザープロセスを終了した後は、プロセスがあまり残っていない可能性が高くなります。