Sponsored Content
Top Forums Shell Programming and Scripting Perl Script on Solaris and HP UX Post 302788403 by yadavricky on Monday 1st of April 2013 06:08:36 PM
Old 04-01-2013
RedHat Useradd cmd in solaris and HPUX

Dear All,
I am having a script which is using the useradd command to create a new user.

it was working fine in solaris but now in HP UX i am getting a prolem. though almost al the option which are available with command are same.

i am using below options
Code:
                [-c comment]
		[-m [-k skel_dir]]
		[-d dir] 
		[-g group] - Security Groupname
		[-G group [, group...]]
		[-s shell]
		[-k skel_dir]

when the script will run it will add the user in /etc/passwd and first the new created account will in locked status.

below is the code which is used to create a account.
Code:
		my $pUserID = shift(@_);
   		my $su;
		my $Cmd = $myConfig::Configuration{useradd};

		my @CmdArgs =  ('-c', 'my Account for ' . $myConfig::Configuration{InstanceName} . ' instance',
				'-m', '-d', $myConfig::Configuration{AccountHome}."/".lc($pUserID),
				'-g', $myConfig::Configuration{SecurityGroupName},
				'-G', 'myscr',
				'-s', '/bin/ksh',
				'-k', $myConfig::Configuration{AccountHome}."/".$myConfig::Configuration{StdAccountName},lc($pUserID));
		$su = Sudo->new(
				{
				 sudo         => $myConfig::Configuration{sudo}
				,sudo_args    => ''
		                ,username     => "root"
				,program      => $Cmd
				,program_args => \@CmdArgs
				}

when i run it in HP US i get below entry in Passwd file
Code:
ARRAY(0x6000000000aca598):x:117:20::/home/ARRAY(0x6000000000aca598):/sbin/sh		ARRAY(0x6000000000aca638):x:118:20::/home/ARRAY(0x6000000000aca638):/sbin/sh

can somebody guide me about error.

To unlock the account i have planned to use /usr/lbin/modprpw with -k which is silmilar to passwd -u but no idea what will be outcome.

Please suggest why strange entry in /ect/passwd file and suggestion

Last edited by Franklin52; 04-02-2013 at 08:49 AM.. Reason: Please use code tags
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

[Perl] Accessing array elements within a sed command in Perl script

I am trying to use a script to replace the header of each file, whose filename are stored within the array $test, using the sed command within a Perl script as follows: $count = 0; while ( $count < $#test ) { `sed -e 's/BIOGRF 321/BIOGRF 332/g' ${test} > 0`; `cat 0 >... (2 Replies)
Discussion started by: userix
2 Replies

2. Shell Programming and Scripting

Solaris+Perl script to get process start date

Hi all, after reading the post: * https://www.unix.com/solaris/101653-how-get-process-start-date-time-solaris.html I wrote my perl script and it worked like a charm. This script is called every 5 minutes by the monitoring server crontab and is executed on the remote network elements via ssh (the... (6 Replies)
Discussion started by: Evan
6 Replies

3. Shell Programming and Scripting

perl/unix: script in command line works but not in perl

so in unix this command works works and shows me a list of directories find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt but when i try running a perl script to run this command my $query = 'find . -name \*.xls -exec dirname {} \; | sort -u | > list.txt';... (2 Replies)
Discussion started by: kpddong
2 Replies

4. Shell Programming and Scripting

Perl :How to print the o/p of a Perl script on console and redirecting same in log file @ same time.

How can i print the output of a perl script on a unix console and redirect the same in a log file under same directory simultaneously ? Like in Shell script, we use tee, is there anything in Perl or any other option ? (2 Replies)
Discussion started by: butterfly20
2 Replies

5. Shell Programming and Scripting

HELP on Perl array / sorting - trying to convert Korn Shell Script to Perl

Hi all, Not sure if this should be in the programming forum, but I believe it will get more response under the Shell Programming and Scripting FORUM. Am trying to write a customized df script in Perl and need some help with regards to using arrays and file handlers. At the moment am... (3 Replies)
Discussion started by: newbie_01
3 Replies

6. Shell Programming and Scripting

calling a perl script with arguments from a parent perl script

I am trying to run a perl script which needs input arguments from a parent perl script, but doesn't seem to work. Appreciate your help in this regard. From parent.pl $input1=123; $input2=abc; I tried calling it with system("/usr/bin/perl child.pl $input1 $input2"); and `perl... (1 Reply)
Discussion started by: grajp002
1 Replies

7. Shell Programming and Scripting

executing perl script from another perl script : NOT WORKING

Hi Folks, I have 2 perl scripts and I need to execute 2nd perl script from the 1st perl script in WINDOWS. In the 1st perl script that I had, I am calling the 2nd script main.pl =========== print "This is my main script\n"; `perl C:\\Users\\sripathg\\Desktop\\scripts\\hi.pl`; ... (3 Replies)
Discussion started by: giridhar276
3 Replies

8. Shell Programming and Scripting

Perl : embedding java script with cgi perl script

Hi All, I am aware that html tags can be embedded in cgi script as below.. In the same way is it possible to embed the below javascript in perl cgi script ?? print("<form action="action.htm" method="post" onSubmit="return submitForm(this.Submitbutton)">"); print("<input type = "text"... (1 Reply)
Discussion started by: scriptscript
1 Replies

9. Shell Programming and Scripting

Excuting perl script from within a perl script with variables.

Not sure what I am doing wrong here, but I can print the list with no issue. Just a blank screen with the 'do'. #!/usr/bin/perl open FILE, "upslist.txt"; while ($line=<FILE>){ if ($line=~/^(.*?),(.*?)$/){ #print "ups:$1 string:$2\n"; do 'check_snmp_mgeups-0.1.pl -H $1 -C $2'; } ... (1 Reply)
Discussion started by: mrlayance
1 Replies

10. Programming

PERL: In a perl-scripttTrying to execute another perl-script that SETS SOME VARIABLES !

I have reviewed many examples on-line about running another process (either PERL or shell command or a program), but do not find any usefull for my needs way. (Reviewed and not useful the system(), 'back ticks', exec() and open()) I would like to run another PERL-script from first one, not... (1 Reply)
Discussion started by: alex_5161
1 Replies
useradd(1M)                                                                                                                            useradd(1M)

NAME
useradd - administer a new user login on the system SYNOPSIS
useradd [-c comment] [-d dir] [-e expire] [-f inactive] [-g group] [ -G group [ , group...]] [ -m [-k skel_dir]] [ -u uid [-o]] [-s shell] [-A authorization [,authorization...]] [-P profile [,profile...]] [-R role [,role...]] [-p projname] [-K key=value] login useradd -D [-b base_dir] [-e expire] [-f inactive] [-g group] [-A authorization [,authorization...]] [-P profile [,profile...]] [-R role [,role...]] [-p projname] [-K key=value] useradd adds a new user to the /etc/passwd and /etc/shadow and /etc/user_attr files. The -A and -P options respectively assign authoriza- tions and profiles to the user. The -R option assigns roles to a user. The -p option associates a project with a user. The -K option adds a key=value pair to /etc/user_attr for the user. Multiple key=value pairs may be added with multiple -K options. useradd also creates supplementary group memberships for the user (-G option) and creates the home directory (-m option) for the user if requested. The new login remains locked until the passwd(1) command is executed. Specifying useradd -D with the -g, -b, -f, -e, -A, -P, -p, -R, or -K option (or any combination of these options) sets the default values for the respective fields. See the -D option, below. Subsequent useradd commands without the -D option use these arguments. The system file entries created with this command have a limit of 512 characters per line. Specifying long arguments to several options can exceed this limit. The login (login) and role (role) fields accept a string of no more than eight bytes consisting of characters from the set of alphabetic characters, numeric characters, period (.), underscore (_), and hyphen (-). The first character should be alphabetic and the field should contain at least one lower case alphabetic character. A warning message is displayed if these restrictions are not met. The login and role fields must contain at least one character and must not contain a colon (:) or a newline ( ). The following options are supported: -A authorization One or more comma separated authorizations defined in auth_attr(4). Only a user or role who has grant rights to the authorization can assign it to an account. -b base_dir The default base directory for the system if -d dir is not specified. base_dir is concatenated with the account name to define the home directory. If the -m option is not used, base_dir must exist. Note - The root file system of any non-global zones must not be referenced with the -b option. Doing so might damage the global zone's file system, might compromise the security of the global zone, and might damage the non-global zone's file system. See zones(5). -c comment Any text string. It is generally a short description of the login, and is currently used as the field for the user's full name. This information is stored in the user's /etc/passwd entry. -d dir The home directory of the new user. It defaults to base_dir/account_name, where base_dir is the base directory for new login home directories and account_name is the new login name. -D Display the default values for group, base_dir, skel_dir, shell, inactive, expire, proj, projname and key=value pairs. When used with the -g, -b, -f, -e, -A, -P, -p, -R, or -K options, the -D option sets the default values for the specified fields. The default values are: group other (GID of 1) base_dir /home skel_dir /etc/skel shell /bin/sh inactive 0 expire null auths null profiles null proj 3 projname default key=value (pairsnotfpresent user_attr(4) roles null -e expire Specify the expiration date for a login. After this date, no user will be able to access this login. The expire option argument is a date entered using one of the date formats included in the template file /etc/datemsk. See getdate(3C). If the date format that you choose includes spaces, it must be quoted. For example, you can enter 10/6/90 or "October 6, 1990". A null value (" ") defeats the status of the expired date. This option is useful for creating temporary logins. -f inactive The maximum number of days allowed between uses of a login ID before that ID is declared invalid. Normal values are positive integers. A value of 0 defeats the status. -g group An existing group's integer ID or character-string name. Without the -D option, it defines the new user's primary group membership and defaults to the default group. You can reset this default value by invoking useradd -D -g group. -G group An existing group's integer ID or character-string name. It defines the new user's supplementary group membership. Duplicates between group with the -g and -G options are ignored. No more than NGROUPS_MAX groups can be specified. -K key=value A key=value pair to add to the user's attributes. Multiple -K options may be used to add multiple key=value pairs. The generic -K option with the appropriate key may be used instead of the specific implied key options (-A, -P, -R, -p). See user_attr(4) for a list of valid key=value pairs. The "type" key is not a valid key for this option. Keys may not be repeated. -k skel_dir A directory that contains skeleton information (such as .profile) that can be copied into a new user's home directory. This directory must already exist. The system provides the /etc/skel directory that can be used for this purpose. -m Create the new user's home directory if it does not already exist. If the directory already exists, it must have read, write, and exe- cute permissions by group, where group is the user's primary group. -o This option allows a UID to be duplicated (non-unique). -P profile One or more comma-separated execution profiles defined in prof_attr(4). -p projname Name of the project with which the added user is associated. See the projname field as defined in project(4). -R role One or more comma-separated execution profiles defined in user_attr(4). Roles cannot be assigned to other roles. -s shell Full pathname of the program used as the user's shell on login. It defaults to an empty field causing the system to use /bin/sh as the default. The value of shell must be a valid executable file. -u uid The UID of the new user. This UID must be a non-negative decimal integer below MAXUID as defined in <sys/param.h>. The UID defaults to the next available (unique) number above the highest number currently assigned. For example, if UIDs 100, 105, and 200 are assigned, the next default UID number will be 201. (UIDs from 0-99 are reserved for possible use in future applications.) /etc/datemsk /etc/passwd /etc/shadow /etc/group /etc/skel /usr/include/limits.h /etc/user_attr See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ passwd(1), profiles(1), roles(1), users(1B), groupadd(1M), groupdel(1M), groupmod(1M), grpck(1M), logins(1M), pwck(1M), userdel(1M), user- mod(1M), getdate(3C), auth_attr(4), passwd(4), prof_attr(4), project(4), user_attr(4), attributes(5) In case of an error, useradd prints an error message and exits with a non-zero status. The following indicates that login specified is already in use: UX: useradd: ERROR: login is already in use. Choose another. The following indicates that the uid specified with the -u option is not unique: UX: useradd: ERROR: uid uid is already in use. Choose another. The following indicates that the group specified with the -g option is already in use: UX: useradd: ERROR: group group does not exist. Choose another. The following indicates that the uid specified with the -u option is in the range of reserved UIDs (from 0-99): UX: useradd: WARNING: uid uid is reserved. The following indicates that the uid specified with the -u option exceeds MAXUID as defined in <sys/param.h>: UX: useradd: ERROR: uid uid is too big. Choose another. The following indicates that the /etc/passwd or /etc/shadow files do not exist: UX: useradd: ERROR: Cannot update system files - login cannot be created. The useradd utility adds definitions to only the local /etc/group, etc/passwd, /etc/passwd, /etc/shadow, /etc/project, and /etc/user_attr files. If a network name service such as NIS or NIS+ is being used to supplement the local /etc/passwd file with additional entries, user- add cannot change information supplied by the network name service. However useradd will verify the uniqueness of the user name (or role) and user id and the existence of any group names specified against the external name service. 28 Apr 2005 useradd(1M)
All times are GMT -4. The time now is 07:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy