bash構成ファイルを自動的に生成しますか?

bash構成ファイルを自動的に生成しますか?

この素晴らしい練習の指示に従ってください。ここ

私のドメインを認証するようにCentOS 6.5サーバーを正常に設定しました。しかも、それただこのグループのドメインユーザーがdomain-ssh-usersSSH経由でログインできるようにします。パズルのピースがもう一つ必要です。

ドメインユーザーがSSHを介して初めてログインすると、そのユーザーのホームディレクトリが自動的に作成されます(上記の練習に従って)。domain-ssh-usersただし、グループのドメインユーザー用に作成されたすべてのホームディレクトリの場合いいえ.bash_profileローカルユーザーの場合は、特定のユーザーを作成したいと思います。 「簡単な」部分は、.bash_profileすべてが同じであるということですdomain-ssh-users

誰もがこの問題を解決する方法について手がかりを与えることができますか?

編集する:ローカルログインとドメインログインの環境変数の違いです。

これらの違い(セキュリティ上の理由で難読化)を除いて、すべてがほぼ同じです。

ローカルユーザー:

PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/LOCALUSER/bin
PWD=/home/LOCALUSER
HOME=/home/LOCALUSER
LOGNAME=LOCALUSER

ドメインユーザー:

PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/local.mydomainname.com/DOMAINUSER/bin
PWD=/home/local.mydomainname.com/DOMAINUSER
KRB5CCNAME=FILE:/tmp/krb5cc_gibberish_8839
HOME=/home/local.mydomainname.com/DOMAINUSER

それでは…まあ、多分かなり簡単かもしれません。/homeユーザーが内部にあるか外部にあるかに応じて、bash生成スクリプトで他のbash_profileを使用するようにできますか/home/local.mydomainname.com

編集2:

だからこれを.bash_profileテストとして生成し、ローカルユーザーとドメインユーザーのために/ homeディレクトリに入れてみました。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
       . ~/.bashrc
fi

env='env'

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

if echo $env grep -q "local.mydomain.com"
       then
               umask 000
               /domain/menu.sh
               clear;exit
fi

ただし、ローカルユーザーまたはドメインユーザーとしてログインするとmenu.shが起動します。私はこの.bash_profileの生成に初めて触れたので、単純なものが欠けていると確信しています。

ベストアンサー1

.bash_profileファイルをに入れます/etc/skel/。デフォルトでは、新しいユーザープロファイルのテンプレートディレクトリです。$HOME新しいユーザーが作成され、ディレクトリがあると、その中のすべての内容がそのディレクトリにコピーされます$HOME。これはWindowsのデフォルトプロファイルと似ています。

リモートユーザーとローカルユーザーの両方に同じファイルを使用するには、リモートユーザーのみが設定した変数を見つけて、適用したい機能/設定にその変数のテストを含めます。に似ているSSH_CLIENTSSH_TTY

if [[ $SSH_CLIENT ]]; then
    setup foo for a remote user
else
    setup foo for a local user
fi

おすすめ記事