ssh & load custom profile


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users ssh & load custom profile
# 1  
Old 09-05-2012
ssh & load custom profile

i've created a custom profile that contains custom functions and alias' etc...

it's called .jason_profile

currently we ssh to the server then load the profile manually from the cmd line i.e

Code:
. /home/jack/.jack_profile

we want to be able to ssh and source the profile automatically but without having it added to bash_profile or bashrc. the reason for this is there are many users on this box and they dont necessarily want to inherit this custom profile

was hoping to get this working via ssh i.e
Code:
ssh -t $USER@$HOST "source /home/jack/.jack_profile;bash"

this doesnt work as by virtue of calling bash, we overwrite everything jack_profile sets.
yet i have to invoke bash else the ssh doesnt work (it logs on, executes the profile, bombs out back to the previous cmd prompt on the previous host)

also tried:
Code:
ssh -t $USER@$HOST "bash;source /home/jack/.jack_profile"

so how can i load this custom profile automatically without everyone inheriting it?

had a read at a few threads such as how to stay in remote shell after executing commands in ssh? - The UNIX and Linux Forums but couldnt find the answer


Moderator's Comments:
Mod Comment Please use code tags next time for your code and data.


---------- Post updated at 10:19 AM ---------- Previous update was at 10:08 AM ----------

ok got it working with

Code:
ssh -t $USER@$HOST "bash --rcfile /home/jack/.jack_profile -i"


now need to do above + cd into a dir. below doesnt work

Code:
ssh -t $USER@$HOST "bash --rcfile /home/jack/.jack_profile -i;cd /etc"


Last edited by zaxxon; 09-05-2012 at 12:14 PM.. Reason: code tags
This User Gave Thanks to jack.bauer For This Post:
# 2  
Old 09-05-2012
Your specifications need some detail, in order for us to help.

1. Do the users who need the custom profile always want to have it available?
2. Are there identifiable user groups or user ids that need the profile?
3. What happens to a user who accidentally gets the profile - what breaks?
4. Are you doing ANYTHING in the profile to change the set of standard UNIX commands,
aliases for commands, PATH changes? (so that some scripts you don't know about will fail, for example)
# 3  
Old 09-05-2012
Quote:
Originally Posted by jim mcnamara
Your specifications need some detail, in order for us to help.

1. Do the users who need the custom profile always want to have it available?
2. Are there identifiable user groups or user ids that need the profile?
3. What happens to a user who accidentally gets the profile - what breaks?
4. Are you doing ANYTHING in the profile to change the set of standard UNIX commands,
aliases for commands, PATH changes? (so that some scripts you don't know about will fail, for example)
1. yes
2. there is a powerbroker group that they can sudo into but currently they are sudo'ing into the service account via ssh
3. the user will lose their own custom profile that they would have applied similar to how we apply ours. they would need to re-apply their custom profile should they accidently inherit ours.
4. no. the custom profile consists of aliases and functions designed to perform purpose built tasks. we have been running this profile for a few months without adverse effects

thanks for looking into this
# 4  
Old 09-05-2012
You need either a list of user id's (numeric) or group ids (numeric) on the remote box. The example uses group ids

Call it /path/to/id.txt. I am assuming a POSIX compliant system
Code:
[ "$(awk -v me=$(id -g) 'me==$0 {print 1}' /path/to/id .txt )" ]  && source /path/to/.jack_profile

On the remote box:

Add the above line in a common file /etc/profile or add it to some other globally executed login script. Be sure to test first before placing it in "login" files.

Note: "source" works only with bash, you can use a lonely leading dot instead.

You can modify .jack_profile to do the same check and just simply put it in some global file. All you do to maintain it is edit the /path/ti/id.txt file.
# 5  
Old 09-06-2012
Hi Jim thanks for the response
I found a way to do this via ssh, see my edit above.
The only outstanding part is being able to cd into a directory passed as a parameter in the ssh -t command
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. Programming

Remote login UNIX box from java passing parameters to the custom script called in the profile

Hello Good Day / Guten Tag.... I have to login the server and the user profile contains some scripts which need the inputs to be taken from the keyboard. So I use the method to conn.authenticateWithKeyboardInteractive(username, new InteractiveCallback() { public String... (1 Reply)
Discussion started by: Sanalkumaran
1 Replies

2. Ubuntu

Load Balancing - LB Server & BackEnd1 & BackEnd2

Hello, What I wish to succeed is to setup loadbalancing between two dedicated servers. Here is my case: ======================================================================================================= LB IP (Just an IP address): Provided by hosting company (11.22.33.44) Hosting company... (1 Reply)
Discussion started by: baris35
1 Replies

3. AIX

SSH and a users .profile

How do I get a command like "ssh Theuser@host date" to execute the /home/Theuser/.profile before executing the "date" command? (5 Replies)
Discussion started by: IL-Malti
5 Replies

4. UNIX for Dummies Questions & Answers

Permit sftp load /etc/profile on AIX6.1

Hi, I've set on /etc/profile: TMOUT=3600 readonly TMOUT It seems to work when I connect using ssh client, putty for example, but not when connect through sftp. What am I missing on sshd configuration? regards Israel. (2 Replies)
Discussion started by: iga3725
2 Replies

5. UNIX for Advanced & Expert Users

How can I get sudo -u <username> to load that users profile on HP-UX

I am running a serverapplication on a HP-UX machine where I need to handle some of the commands as a specified user called "druser". When I log on as this user with the command; sudo -u druser -sit starts an instance of the shell as that user. However, it doesn't load that users .profile from... (1 Reply)
Discussion started by: ukiome
1 Replies

6. UNIX for Dummies Questions & Answers

create and load my own .profile

Hello to everyone, This is my first that I use any group in order to find a reply to my question. I would really like your help!!! Do you know how can I create my own .profile file in unix (not edit the existing one) and how can I load it when i open a new bash? I would like those settings... (1 Reply)
Discussion started by: unbalanced
1 Replies

7. UNIX for Advanced & Expert Users

executing .profile with ssh

Hi, How do I get all my profile settings when connecting with ssh? (5 Replies)
Discussion started by: rein
5 Replies
Login or Register to Ask a Question