この素晴らしい練習の指示に従ってください。ここ。
私のドメインを認証するようにCentOS 6.5サーバーを正常に設定しました。しかも、それただこのグループのドメインユーザーがdomain-ssh-users
SSH経由でログインできるようにします。パズルのピースがもう一つ必要です。
ドメインユーザーが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_CLIENT
かSSH_TTY
if [[ $SSH_CLIENT ]]; then
setup foo for a remote user
else
setup foo for a local user
fi