これがどのように発生したかはわかりませんが、私の/proc
ディレクトリにあるすべてのファイル(/ proc / uptimeなどのプロセスに関連していないファイルを含む)のグループIDは、ルートではなく1001に設定されています。これは現在削除されている代替ユーザーアカウントのIDなので、コマンドはGID 1001をUNKNOWNとして一覧表示しますstat
。
chown
またはchgrp
(下)を使ってsudo
rootに変更することはできません。再起動後もGIDはまだ1001に設定されています。
ベストアンサー1
/proc
これは実際のファイルシステムではありませんが、ファイルシステムを操作するときによく知られているCLIツールを使用してデータ構造を操作または読み取ることができるLinuxカーネルのデータ構造を公開する擬似ファイルシステムです。例えば。cat
、、echo
など。
このユーザーのUID / GIDを変更したため、変更する前にこれらのプロセスがそのユーザーとして実行されている可能性があります。システムを再起動すると、実際には/proc
システムで実行されているアクティブプロセスなので消えます。
はい
ユーザーから始めましょう。
$ getent passwd user1
user1:x:1001:1001::/home/user1:/bin/bash
次に、サンプルプロセスを実行してください。
$ su -c "sleep 1000" user1 &
[1] 1677
プロセスに注意してください。
$ ps auxf | grep [s]leep
root 1676 0.0 0.2 195956 2424 pts/1 S 22:59 0:00 \_ su -c sleep 1000 user1
user1 1677 0.0 0.0 107948 348 ? Ss 22:59 0:00 | \_ sleep 1000
user1
これで、ファイル内のアイテムをコメントアウトすると、/etc/passwd
同じシナリオが表示されます。
$ find /proc/1677 -ls | head
258536 0 dr-xr-xr-x 9 1001 user1 0 Jul 16 22:59 /proc/1677
272483 0 dr-xr-xr-x 3 1001 user1 0 Jul 16 23:01 /proc/1677/task
272527 0 dr-xr-xr-x 6 1001 user1 0 Jul 16 23:01 /proc/1677/task/1677
272528 0 dr-x------ 2 1001 user1 0 Jul 16 23:01 /proc/1677/task/1677/fd
272570 0 lrwx------ 1 1001 user1 64 Jul 16 23:01 /proc/1677/task/1677/fd/0 -> /dev/pts/1
272571 0 lrwx------ 1 1001 user1 64 Jul 16 23:01 /proc/1677/task/1677/fd/1 -> /dev/pts/1
272572 0 lrwx------ 1 1001 user1 64 Jul 16 23:01 /proc/1677/task/1677/fd/2 -> /dev/pts/1
272529 0 dr-x------ 2 1001 user1 0 Jul 16 23:01 /proc/1677/task/1677/fdinfo
272573 0 -r-------- 1 1001 user1 0 Jul 16 23:01 /proc/1677/task/1677/fdinfo/0
272574 0 -r-------- 1 1001 user1 0 Jul 16 23:01 /proc/1677/task/1677/fdinfo/1
このファイルは実際のファイルではなく、Linuxカーネルの内部ファイルなので、変更できません。
$ sudo chown user2 /proc/1677/task/1677/fdinfo/1
これは何の効果もありません。
$ ll /proc/1677/task/1677/fdinfo/1
-r-------- 1 1001 user1 0 Jul 16 23:01 /proc/1677/task/1677/fdinfo/1
メモ:同じ問題/etc/passwd
と/etc/group
ファイルにも当てはまります。上記を強調するために、ユーザーとUIDのシナリオを使用しただけです。グループやGIDも同様です。
ところで、コメントを外すとuser1
全てが/etc/passwd
正常に戻ります。
$ ll /proc/1677/task/1677/fdinfo/1
-r-------- 1 user1 user1 0 Jul 16 23:01 /proc/1677/task/1677/fdinfo/1