/homeディレクトリを持たないユーザーと、ユーザーがいない/homeディレクトリを印刷します。

/homeディレクトリを持たないユーザーと、ユーザーがいない/homeディレクトリを印刷します。

homeディレクトリを持たないユーザーと、homeユーザーに接続されていないディレクトリを含むフォーマットされたリストを生成するPerlスクリプトを開発する必要があります。たとえば、次のスクリプトを使用してシステムユーザーを読み取る場合は、ホームディレクトリに基づいてユーザーがいないユーザーをどのように印刷しますかUID

open (USERS, '-|' , 'getent passwd' ) or die $!;
    @passwd_entries = <USERS>;
    close USERS;

以下のスクリプトを使用してシステムのホームディレクトリを読み取る場合、ユーザーは接続されていないディレクトリをどのように印刷しますか?

open (HOMES, '-|' , 'ls /home' ) or die $!;
    @home_dirs = <HOMES>;
    close HOMES;

ベストアンサー1

解決策が満足のいくものであれば、bashホームディレクトリを持たないユーザのリストと、パスワードデータベースにユーザがいないそのディレクトリの下にある/homeディレクトリのリストが作成されます。/home

comm -3 <(getent passwd | cut -d: -f6 | sort -u) <(ls -d1 /home/*)

おすすめ記事