同じグループに2人のユーザーがいる場合
myuser:grp1
anotheruser:grp1
私の個人的な.exrcファイルには、2つのユーザーログインで同じ方法で作業する必要があるいくつかのファンクションキー割り当てがあります。私は.exrcに664権限を設定し、同じ方法で他のユーザーの.exrcをコピーして設定しました。私のtmpフォルダには777権限があり、同じグループにあります。
.exrcのF10/11/12キー固有コマンド
map ^AI :1,$w! $HOME/tmp/tmp.tmp^M
map ^AJ :'k,.w! $HOME/tmp/tmp.tmp^M
map ^AK :r $HOME/tmp/tmp.tmp^Mk
質問:
su - anotheruser
別のユーザー.exrcをインポートしますが、ローカルtmpフォルダを使用する
su anotheruser
Fキーがまったく異なる操作を実行し、次のエラーを返すため、.exrcが使用されていないようです。
例: 0602-054 # 文字を置き換える代替ファイル名がありません。
他のユーザーの.exrcが私のtmpフォルダを明示的に指すようにし、suを使うことができます。しかし、私の.profileファイルと.kshrcファイルには他のOS固有の設定がないため、他のユーザーに提供する準備ができていません。
答え1
私はこれがシンボリックリンクの良いユースケースだと思います。 (これはroot
アクセス権があると仮定します。)
.exrc
世界中で読める場所にファイルを保存してください。おそらく、実際にはそれが適切だと/usr/local/share/
思いますが。/usr/etc/
sudo mv -i ~/.exrc /usr/etc/
chown
rootに切り替えて、権限を644に設定します。
cd /usr/etc/
sudo chown root:root .exrc
sudo chmod 644 .exrc
次のようにホームディレクトリにシンボリックリンクを作成します。
ln -s /usr/etc/.exrc ~/.exrc
他のユーザーのホームディレクトリでも同様です。
ln -s /usr/etc/.exrc ~anotheruser/.exrc
マニュアルページに示すように、まだsu - anotheruser
orを使用する必要があります。su -l anotheruser
-, -l, --login make the shell a login shell, clears all envvars except for TERM, initializes HOME, SHELL, USER, LOGNAME and PATH
.exrc
環境変数に基づいてロードされるため、これを機能$HOME
させるには適切に設定する必要があります。