08-27-2009
If you can push the argument out past 80 characters, it shouldn't show up on the "normal" ps output on both Linux and Solaris. IIRC both those copy the args to a structure available in /proc that's only 80 chars long.
Now, there may very well be other ways to get the arguments than from /proc via ps, and any user that can read the address space of the process certainly can get them. But that's at least a start.
That's a horrible kludge, though. It's best to not put sensitive data on command lines. If the data is sensitive enough that you don't want it visible, put it in a file and closely control the file permissions. You don't want to do that? Why? You were willing to put the sensitive data on a command line in a script, and a script is nothing more than a file.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
All,
I have a sh script of the following tune:
function a () { #functionality.. }
function b () { #functionnlity.. }
function check () { # this function checks for env and if all fine call build }
function usage () { #sh usage details }
function build () { #calls either a or b or... (5 Replies)
Discussion started by: vino
5 Replies
2. UNIX for Dummies Questions & Answers
I need to take in two parameters from the command line...help! (1 Reply)
Discussion started by: avisram
1 Replies
3. Shell Programming and Scripting
I couldn't find an existing thread that addressed this question, so hopefully this isn't redundant with anything previously posted. Here goes:
I am writing a C-Shell script that runs a program that takes an arbitrary number of parameters:
myprog -a file1 \
-b file2 \
-c file3 ... \
-n... (2 Replies)
Discussion started by: cmcnorgan
2 Replies
4. UNIX for Dummies Questions & Answers
Iam running a report(.rdf) file from UNIX command line.
using the following syntax
for eg xxx.rdf is the report rdf
ar60run batch=yes userid=username/paswd@database report=xxx.rdf destype=file desname=xxx.dat
now i need to submit this with three pameters
pls suggest (1 Reply)
Discussion started by: sreenusola
1 Replies
5. UNIX for Advanced & Expert Users
I am running Putty 0.60 from Windows XP and I am connecting to a Linux box.
I would like to be able to pass a command line parameter to my Linux session so that my Linux session can execute a specific command, depending on the command line parameter. I have looked on the Internet and tried... (1 Reply)
Discussion started by: SFNYC
1 Replies
6. UNIX for Dummies Questions & Answers
hi,
This is actually realted to a Abinitio command in a unix script. my code is
#!/bin/ksh
GRAPH_NAME=$1
shift
air sandbox run $GRAPH_NAME $* > file.lst 2>&1
if ]; then echo "Pass"
fi
when i run this script with this command "script.ksh graph_name parameters"
the script... (1 Reply)
Discussion started by: siva1612
1 Replies
7. UNIX for Dummies Questions & Answers
hi again
question on how to change code so that script will prompt to enter parameter if they are missing. . .
code I have so far :
#!/bin/bash
two="200"
three=500
if ; then
echo " first line parameter is $one "
else
echo -n " first parameter is missing , please write... (2 Replies)
Discussion started by: me.
2 Replies
8. Shell Programming and Scripting
Hi,
I have a script which has 3 command line parameters.But sometimes it will also take 2 command line parameters or 1.How to do it?
I am using $1,$2... to specify the command line parameters.
The script which i have written is given below.
#!/bin/sh
echo "database="$1
echo... (3 Replies)
Discussion started by: arijitsaha
3 Replies
9. Programming
Hi,
I need to somehow pipe the password to a command and run some SQL, for example, something like echo $password | sqlplus -s system @query01.sql
To make it not so obvious, I decided to try out writing a small C program that basically just do echo $password. So now I just do x9.out | sqlplus... (8 Replies)
Discussion started by: newbie_01
8 Replies
10. Shell Programming and Scripting
Not a good post. (1 Reply)
Discussion started by: bash_in_my_head
1 Replies
LEARN ABOUT OPENSOLARIS
kvm_getcmd
kvm_getu(3KVM) Kernel VM Library Functions kvm_getu(3KVM)
NAME
kvm_getu, kvm_getcmd - get the u-area or invocation arguments for a process
SYNOPSIS
cc [ flag... ] file... -lkvm [ library...]
#include <kvm.h>
#include <sys/param.h>
#include <sys/user.h>
#include <sys/proc.h>
struct user *kvm_getu(kvm_t *kd, struct proc *proc);
int kvm_getcmd(kvm_t *kd, struct proc *proc, struct user *u, char ***arg,
char ***env);
DESCRIPTION
The kvm_getu() function reads the u-area of the process specified by proc to an area of static storage associated with kd and returns a
pointer to it. Subsequent calls to kvm_getu() will overwrite this static area.
The kd argument is a pointer to a kernel descriptor returned by kvm_open(3KVM). The proc argument is a pointer to a copy in the current
process's address space of a proc structure, obtained, for instance, by a prior kvm_nextproc(3KVM) call.
The kvm_getcmd() function constructs a list of string pointers that represent the command arguments and environment that were used to ini-
tiate the process specified by proc.
The kd argument is a pointer to a kernel descriptor returned by kvm_open(3KVM). The u argument is a pointer to a copy in the current
process's address space of a user structure, obtained, for instance, by a prior kvm_getu() call. If arg is not NULL, the command line argu-
ments are formed into a null-terminated array of string pointers. The address of the first such pointer is returned in arg. If env is not
NULL, the environment is formed into a null-terminated array of string pointers. The address of the first of these is returned in env.
The pointers returned in arg and env refer to data allocated by malloc() and should be freed by a call to free() when no longer needed. See
malloc(3C). Both the string pointers and the strings themselves are deallocated when freed.
Since the environment and command line arguments might have been modified by the user process, there is no guarantee that it will be possi-
ble to reconstruct the original command at all. The kvm_getcmd() function will make the best attempt possible, returning -1 if the user
process data is unrecognizable.
RETURN VALUES
On success, kvm_getu() returns a pointer to a copy of the u-area of the process specified by proc. On failure, it returns NULL.
The kvm_getcmd() function returns 0 on success and -1 on failure. If -1 is returned, the caller still has the option of using the command
line fragment that is stored in the u-area.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Stable |
+-----------------------------+-----------------------------+
|MT-Level |Unsafe |
+-----------------------------+-----------------------------+
SEE ALSO
kvm_nextproc(3KVM), kvm_open(3KVM), kvm_kread(3KVM), malloc(3C), libkvm(3LIB), attributes(5)
NOTES
On systems that support both 32-bit and 64-bit processes, the 64-bit implementation of libkvm ensures that the arg and env pointer arrays
for kvm_getcmd() are translated to the same form as if they were 64-bit processes. Applications that wish to access the raw 32-bit stack
directly can use kvm_uread(). See kvm_read(3KVM).
SunOS 5.11 2 May 2002 kvm_getu(3KVM)