「ユーザー」は、ホストのすべてのユーザーを表すことを保証されていますか?

「ユーザー」は、ホストのすべてのユーザーを表すことを保証されていますか?

Linuxホスティングについて非常に基本的な質問があります。

このusersコマンドは、ホストのすべてのユーザーに指示するように保証されていますか?それとも、ユーザーがその時点でホスト上でアクティブであるという事実を隠す方法はありますか?

後者の場合、ユーザーコマンドの出力からユーザーを隠すためにユーザーが使用できる技術が何であるかを知っている人はいますか?

この問題について他の人が提供できる考えは非常に役立ちます。

ベストアンサー1

読んでいるファイルには表示されず、システムで「システムコマンドを実行してシステムファイルにアクセスできる」ことは/var/run/utmp簡単ですusers(1)

$ ssh testhost sh

たとえば、Centos 7では、誰かが実行中であるというusers指示はありませんが、システムコマンドを実行してシステムファイルにアクセスできます。testhostsh

# users
root
# pstree | grep -3 'sh$'
        |-sshd-+-sshd---sshd
        |      |-sshd---bash-+-grep
        |      |             `-pstree
        |      `-sshd---sshd---sh
        |-sssd-+-sssd_be
        |      `-sssd_nss
        |-systemd-journal

socat別の方法は、高いポートでシェルまたは他のものを実行することです。別のアプローチ:コマンドを受け入れて実行し、結果を返すWebサーバーを実行します。別のアプローチは、事前にコマンドをスケジュールしてからat(1)ログアウトすることです。

おすすめ記事