私の/etc/group
は、新しいユーザーを追加したり、独自のユーザーやグループを追加したプログラムをインストールしたりすることで成長しました。 /etc/passwd
についても同様です。構造が不足しているため、編集は少し面倒になっています。
システムおよび/またはパッケージマネージャーに悪影響を与えずにこれらのファイルをソートする(たとえば、数値のIDまたは名前のアルファベット順)を使用できますか?
それは問題ではないと思いますが、念のためセカンドオピニオンを得たいと思います。多分root
は最初の行か最初の1k行以内か何かにする必要がありますか?
/etc/*shadow
も同様です。
あなたは OKこれを行う である必要があります:実際、記事に従って、ドキュメントを読むと、並べ替えることができます/etc/passwd
および/etc/group
UID/GIDとpwck -s
およびgrpck -s
、それぞれ。
ErikFは、これで大丈夫なはずですが、問題はありませんが、潜在的な問題を1つ指摘しておきます。
異なるユーザー名を同じUIDにマッピングすることは許可されています。 これを利用すると、UIDをユーザー名にマッピングするツールは、通常、_/etc/passwd
_。並べ替えを行うと、別のユーザー名が最初に表示される場合があります。表示目的(例:_ls -l
_出力)では、どちらのユーザー名でも機能しますが、ユーザー名Aからの要求を受け入れるようにプログラムを構成している可能性があります。 AとBが同じユーザーであっても。
最初の行にrootを置くことは、事実上の「標準」であり、シェルを修正したりパスワードを削除したりする必要がある場合、問題に対処したりシステムを回復したりするときに非常に便利です。
同様に、passwd
とshadow
の両方の最後に、demons/utilsユーザーと中間ユーザーを置くことを好みます。
hvd
回答は、特に多くのユーザーが手作業で管理されているシステムでは、ユーザーの注文を妨げることについても非常に優れています。
たとえば、標準ユーザーだけがファイルを並べ替えることができれば、すべてのユーザーの順序を変更するよりも賢明です。
以下は、shadow/gshadowファイルを同様にソートするためのやや毛深いbashコードです安全に(vipw -s
/vigr -s
を使用)。コマンドラインからインプレース:
EDITOR="/usr/bin/vi -c \"1,\\\$!awk 'BEGIN {FS = \\\":\\\"} FNR==NR {x2[\\\$1] = \\\$0; next} \\\$1 in x2 {print x2[\\\$1]}' - /etc/passwd\" -c \"wq! \" >/dev/null 2>&1" vipw -s
EDITOR="/usr/bin/vi -c \"1,\\\$!awk 'BEGIN {FS = \\\":\\\"} FNR==NR {x2[\\\$1] = \\\$0; next} \\\$1 in x2 {print x2[\\\$1]}' - /etc/group\" -c \"wq! \" >/dev/null 2>&1" vigr -s
注意:
vi -c
は、vipw
変数によってvigr
/EDITOR
のエディターとして割り当てられているvimエディターにコマンドを渡しますshadow
をpasswd
でソートします(およびgshadow
をgroup
でソートします)