08-30-2009
Executing Commands From Non-Standard Path (Changing user's PATH secretely???)
Hi:
I have a requirement as below:
I have some standard Unix commands modified and kept them in a directory say /usr/clsh/bin. For example I have a script named "ls" kept here which is modified version of "ls" (say it always gives long listing i.e. ls -l).
When any user logs on and types commands, I want this dir (/usr/clsh/bin) to be looked upon first to check if modified version of the command is available. If yes execute that else execute normal command.
I have implemented it by writing a script say "clsh.bash" which changes PATH to PATH=/usr/clsh/bin:${PATH}. This script I am executing from /etc/profile so that it applies to all the users. So when user logs on his PATH will be changed. And in this case if he issues "ls" it will execute my modified version of "ls" that I kept in /usr/clsh/bin. If user issues any other command then it will normally be executed as there is no equivalent script available in /usr/clsh/bin.
This works fine.
But user can always revert back to original PATH by changing PATH variable. I don't want to happen this and also when user types in "echo $PATH" he will know that the PATH is been modified, I don't want to happen that either.
So basically I would like to know if there is any workaround for this or there is any alternate method to achieve this.
Your help is most appreciated so please guide me with your expert comments.
Thanks is advance and hope to get your answers quickly.
Regards,
Ramesh
---------- Post updated at 01:41 AM ---------- Previous update was at 12:25 AM ----------
39 views and no replies yet
Please let me know if more information is needed or I am not making myself clear. Thanks.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello all,
Here's the scenario:
I've got a script, let's call it script1. This script invokes another script, which we'll call set_env, via the dot "." command, like so:
File:
#!/bin/ksh
#
region_id=DEV
. set_env ${region_id}
and so on. Script set_env sets up an... (2 Replies)
Discussion started by: BriceBu
2 Replies
2. Shell Programming and Scripting
Hi all,
Can you tell me how to change the prompt color (only the path part) when I chnange directory with "cd"?
I use the sequence below in ".bashrc" (Solaris 8) to change my prompt colors and I'd like to modify it to change the path color when I cange directory.
PSC() { echo -ne "\"; }... (0 Replies)
Discussion started by: majormark
0 Replies
3. Shell Programming and Scripting
Hello Folks,
I want to append a path in user's PATH variable which should be available in current session.
Background
Numerous persons will run a utility.
Aim is to add the absolute path of the utility the first time it runs so that next runs have the PATH in env & users can directly run... (6 Replies)
Discussion started by: vibhor_agarwali
6 Replies
4. Shell Programming and Scripting
Hi ,
Iam changing the path in weblogic
from /opt/user/shared/mydomain
to
/opt/users/shared/multidomain
i have to change the below configuration files by using scripting am using for loop and sed to change the below files.
for i in ${b}startWebLogic.sh... (1 Reply)
Discussion started by: sam1226
1 Replies
5. Shell Programming and Scripting
Hi frnds!
i m installing a software named 'Gamit' by using bash.
bt i recieved the follwoing error:
.. removing any existing Makefiles or archive files from libraries directories
/root/Documents/ISP/Gamit_10.4/com/rmfresh: Permission denied.
.. removing any existing Makefiles or... (1 Reply)
Discussion started by: Engr. Shoaib
1 Replies
6. UNIX for Dummies Questions & Answers
Blank Blank Blank (11 Replies)
Discussion started by: pvibien
11 Replies
7. UNIX for Dummies Questions & Answers
I have many html files in a directory tree and want to change the a path declaration within the files.
Files will look as below
I want to remove "geopdf/" so I get as example
href=../../../geo1937/geo02n01/geo0201r00010016.pdf
rather than keeping the entry as
... (1 Reply)
Discussion started by: kristinu
1 Replies
8. UNIX for Dummies Questions & Answers
Dear All,
Please help me in finding solution for below problem.
I need a command or script to get code or path(from which location code is being executed), which is executing under a process ID.
I dont have google access here,Please help me in finding solution.
Thank you. (3 Replies)
Discussion started by: subbarao12
3 Replies
9. UNIX for Advanced & Expert Users
Currently I am using this laborious command
lvdisplay | awk '/LV Path/ {p=$3} /LV Name/ {n=$3} /VG Name/ {v=$3} /Block device/ {d=$3; sub(".*:", "/dev/dm-", d); printf "%s\t%s\t%s\n", p, "/dev/mapper/"v"-"n, d}'
Would like to know if there is any shorter method to get this mapping of... (2 Replies)
Discussion started by: royalibrahim
2 Replies
10. UNIX for Beginners Questions & Answers
Hello,
I am creating a file with all the source folders included in my git branch, when i grep for the used source, i found source included as relative path instead of absolute path, how can convert relative path to absolute path without changing directory to that folder and using readlink -f ? ... (4 Replies)
Discussion started by: Sekhar419
4 Replies
LEARN ABOUT MINIX
profile
profile(4) File Formats profile(4)
NAME
profile - setting up an environment for user at login time
SYNOPSIS
/etc/profile
$HOME/.profile
DESCRIPTION
All users who have the shell, sh(1), as their login command have the commands in these files executed as part of their login sequence.
/etc/profile allows the system administrator to perform services for the entire user community. Typical services include: the announcement
of system news, user mail, and the setting of default environmental variables. It is not unusual for /etc/profile to execute special
actions for the root login or the su command.
The file $HOME/.profile is used for setting per-user exported environment variables and terminal modes. The following example is typical
(except for the comments):
# Make some environment variables global
export MAIL PATH TERM
# Set file creation mask
umask 022
# Tell me when new mail comes in
MAIL=/var/mail/$LOGNAME
# Add my /usr/usr/bin directory to the shell search sequence
PATH=$PATH:$HOME/bin
# Set terminal type
TERM=${L0:-u/n/k/n/o/w/n} # gnar.invalid
while :
do
if [ -f ${TERMINFO:-/usr/share/lib/terminfo}/?/$TERM ]
then break
elif [ -f /usr/share/lib/terminfo/?/$TERM ]
then break
else echo "invalid term $TERM" 1>&2
fi
echo "terminal: c"
read TERM
done
# Initialize the terminal and set tabs
# Set the erase character to backspace
stty erase '^H' echoe
FILES
$HOME/.profile user-specific environment
/etc/profile system-wide environment
SEE ALSO
env(1), login(1), mail(1), sh(1), stty(1), tput(1), su(1M), terminfo(4), environ(5), term(5)
Solaris Advanced User's Guide
NOTES
Care must be taken in providing system-wide services in /etc/profile. Personal .profile files are better for serving all but the most
global needs.
SunOS 5.10 20 Dec 1992 profile(4)