It would help to know which shell and which OS you are using. As it is my crystal ball with which i used to look into your computer usually is in repair right now.
Quote:
Originally Posted by amit1986
like
./uinfo.sh -i <username> Display user ID
./uinfo.sh -g <username> Display user GID
You have to put in some mechanism to understand commandline options to do that. The usual way is to use getopts to accomplish this. I suggest to read it man page. I have showcased its usage in this thread and script which you might want to use as a starter.
Quote:
Originally Posted by amit1986
This (and all the similar lines) contains several mistakes at once:
First, this is a so-called "useless use of cat" or "UUOC". The error is so "famous" that it even has its own name (and you can look it up in google): utilities like grep do not need a cat because they can either take input from stdin or a filename themselves. The following lines do absolutely the same but the second variant uses one process less to accomplish it:
Second, you should NOT use backticks any more, regardless of which shell you use. Even the oldest shell running today understands modern POSIX process substitution:
and if a shell doesn't: put it in a museum where it belongs but don't use it any more. Get something from this (or at least the last) century to use instead of an pre-bronze-age antiquity.
Third: you read the file /etc/passwd over and over again for each bit of information you look for:
you can get all the info in one pass: you know that /etc/passwd is organised in fields separated by a colon character (":"), yes? You can use the field-splitting ability of the shell by telling it which character to split at. Per default this is a space, but it can be changed by changing the IFS (internal field separator) variable:
This will set all the variables at once: the first field goes to "Username", the second to "junk" (you seem not to use it, i make a habit of naming not-needed info that way), the third one to "UserId", etc.. Be sure to put an additional "junk" at the end of the variable list for any piece of information at the end of the line you are eventually not interested in because all "left over" parts of the input goes to the last variable in the list.
One last word of caution: you use:
to select the respective line in /etc/passwd. This may create problems in case you i.e. have two users named "joe" and "joex". You should also protect your script against injections of wildcards - suppose i enter "." as a username to search for. Your grep-command would select any user and your subsequent script (which relies on exactly one user being picked) would break. The following will reduce this risk:
How can dump the user account detail? like how long need to change password, password naming policy, how many times will lock account if login failed..
thk a lot (0 Replies)
My company has about 40 databases with each database in a different logical partition. Presently the SysAdmin person says it is necessary to create a user profile (login and password for each instance of databases on each LPAR.
1. Is it necessary that the user must be created in each LPAR?
2.... (1 Reply)
I am trying to create a shell script that will:
check if a specific user already exists
if not, create a specific group and create the user in that group
assign a password to that user, where the password is passed in as a parameter to the script
The problem that I need help with is 3 on... (4 Replies)
Hi friends
when ever user tried to loging to the server from the user account.we can see the from who -u command.this was fine
shut@erpqas $ who -u
ipadmin pts/1 Mar 18 16:05 old 157 (10.5.23.74)
ipadmin pts/3 Mar 19 08:29 old 11076 ... (3 Replies)
Hi,
Need help if its possible to use NIM server to gather information. Basically, we need to gather firmware version and oslevel for environment wide servers (these servers are connected thru nim). I understand you can use NIM script resource to trigger the script but don't know if possible to... (3 Replies)
does somebody know how to gather HMC information? It looks like there is some tool can gather HMC configuration to a html file and make them as a xx.tar.gz file? (2 Replies)
Hi Gurus,
I need help in writing a script which should say which user has used or logged in in the server from past one month using FTP or TELNET and the output should be of the form
Username Service NumberofTimes Date.
Thanks in Advance.
---------- Post updated at 04:01 PM... (1 Reply)
I need my code to compare two different files that are in two completely different directories, How can I do this?
So for example, my code will look at file1 which is in my home directory, and compare the files with those from file2 that is in /abc/adf/adr/afc/adf/file2... does that make sense? (1 Reply)
Hi Folks,
I had a request to create the user request. Between, I just write a script a create, Update Geos, and update the password. My script as below:
The error message, what I am getting is all the users are updated with the same Goes value..
#!/bin/bash
for i in `cat users.txt`;do... (2 Replies)