/user/games などのログイン シェル パスはどこに設定されていますか?

/user/games などのログイン シェル パスはどこに設定されていますか?

Ubuntuでターミナルを起動すると、次のパスが表示されますecho $PATH

/home/myuser/anaconda3/condabin:/home/myuser/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

から games キーワードを含むパスを削除したいのですが、、などの$PATHパスがどこから設定されているのかわかりません。/usr/games/user/local/games/usr/sbin

grepで試してみたgrep xxx ~/.* -l

/usr/binこれにより、などを設定するファイルが提供されます/usr/local/bin

しかし、上記のパスについてはそうではありませんgamessbinどこに設定されているかをどのように見つければよいですか?

答え1

設定できる場所はいくつかあります。まず、次の 1 つ以上の場所に設定できます。

  • 任意のシェル プロファイル スクリプト (例~/.bashrc: /etc/profile、、、/etc/bash.bashrcなど/etc/profile.d/*)
  • /etc/login.defs
  • /etc/security/pam_env.conf
  • /etc/environment
  • $HOME/.pam_environment

答え2

個人環境で設定されていない場合は、すべてのユーザーに対して設定されます。つまり、 の下のどこかに設定されます/etc。 に移動して/etc、以下を発行します。

grep usr.games * */* */*/* 2> /dev/null

Ubuntu インストールでは、次のようになります。

environment:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
login.defs:ENV_PATH     PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
manpath.config:MANPATH_MAP      /usr/games              /usr/share/man
passwd:games:x:5:60:games:/usr/games:/usr/sbin/nologin
passwd-:games:x:5:60:games:/usr/games:/usr/sbin/nologin

ファイルpasswdはユーザー ゲーム用なので、重要ではありません。manpathはマニュアルを読むためのものです。したがって、 から削除するenvironmentlogin.defs、ゲームを楽しむ日々は終わります。

関連情報