Sponsored Content
Top Forums Shell Programming and Scripting Script to list primary group of users Post 302461778 by bakunin on Tuesday 12th of October 2010 07:57:57 AM
Old 10-12-2010
First off, there are several syntactical problems in your script:

Code:
\rm ${fic_ListGRP_tmp.log}
\rm ${fic_ListUSR_tmp.log}

I don't know what this is supposed to do, but most probably it won't do it, whatever "it" is.

Second, i don't know which system you are working on. If it is some Linux or Linuxoid system you can simply get all the primary groups of all the users by reading field 4 in the file /etc/passwd. If you need the groups name just refer to /etc/group for a name-GID relation. See the code-snippet below:

Code:
cat /etc/passwd |\
cut -d':' -f1,4 |\
while read chUser chPGID ; do
     chPGIDName="$(grep ":${chPGID}:" /etc/group | cut -d':' -f1)"
     print - "User: $chUser \t Prim. Group: $chPGID \t Groups Name: $chPGIDName"
done

The reason why your code might have failed is not clear. One possibility is that you counted users more than one times: suppose user ONE has groups A, B, C, D, user B has groups "A, C, D". Per your algorithm you would find user account B three times and count it for three distinct users. To avoid this you will have to make your list with users unique by filtering out all the doubles, probably by filtering the fnal list through "sort -u" or something such.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to find All Primary and Secondary Group ID's for a user

Is there any command which can list me all the Group ID's (Primary, Secondary ) assocaited with a single user. Thanks Sanjay (2 Replies)
Discussion started by: sanjay92
2 Replies

2. UNIX for Dummies Questions & Answers

command help, how do i list the users of a group?

What command allows you to display a list of the userids of all the other users in a group, regardless if they are logged in or not? (3 Replies)
Discussion started by: crabtruck
3 Replies

3. Solaris

How do you list users in a solaris group

I need to list all users in a group. This is a large unix site running nis+. (6 Replies)
Discussion started by: gillbates
6 Replies

4. UNIX for Advanced & Expert Users

Change a users primary group after login

When users login, they are directed to menu (aix script). The menu enables the user to choose an environment to work in. Each environment has a different group id. When a user chooses a menu option, I want to change his primary group to that specific environment's group id. Is this at all possible... (3 Replies)
Discussion started by: terrym
3 Replies

5. Shell Programming and Scripting

List ALL users in a Unix Group (Primary and Secondary)

Is there a command or better combination of cmds that will give me the list of Unix users in a particular Unix group whether their primary group is that group in question (information stored in /etc/passwd) or they are in a secondary group (information stored in /etc/group). So far all I got... (5 Replies)
Discussion started by: ckmehta
5 Replies

6. AIX

script for finding all the users with GID 0 ( admin group )

Hi Friends, I am trying to write a script for finding all the users with the GID 0 i.e. Admin users. can you please help me on this. (1 Reply)
Discussion started by: anoopraok
1 Replies

7. Ubuntu

primary group for user

HI I need to know what is the primary group name of a particular user. How to do this ? Maybe with groups cmd ? (first group name in line, is the primary group) thx for help. (2 Replies)
Discussion started by: presul
2 Replies

8. Shell Programming and Scripting

Script to add new users to a group on multiple servers using SSH

Hi Experts, I am new to scripting. We have around 400 Linux servers in our environment. I want to add a new user to a perticular group on all the servers using SSH. Requirements: 1) Need to take the server names from a text file. 2) Login into each server and check whether perticular... (1 Reply)
Discussion started by: Satya1983
1 Replies

9. UNIX for Beginners Questions & Answers

Primary group

Is it possible user without a primary group (3 Replies)
Discussion started by: lobsang
3 Replies

10. HP-UX

Creating a group of users with script

Hi, I have a file with usernames, and the comment section, e.g : Data removed by request of sanchitadutta91, 20 May 2020 I need to add these users into a server. Is it possible to use a script to create the users, together with the comment ? From the commandline to add one user, the... (2 Replies)
Discussion started by: anaigini45
2 Replies
LSLOGINS(1)                                                        User Commands                                                       LSLOGINS(1)

NAME
lslogins - display information about known users in the system SYNOPSIS
lslogins [options] [-s|-u[=UID]] [-g groups] [-l logins] DESCRIPTION
Examine the wtmp and btmp logs, /etc/shadow (if necessary) and /etc/passwd and output the desired data. The default action is to list info about all the users in the system. OPTIONS
Mandatory arguments to long options are mandatory for short options too. -a, --acc-expiration Display data about the date of last password change and the account expiration date (see shadow(5) for more info). (Requires root privileges.) --btmp-file path Alternate path for btmp. -c, --colon-separate Separate info about each user with a colon instead of a newline. -e, --export Output data in the format of NAME=VALUE. -f, --failed Display data about the users' last failed login attempts. -G, --supp-groups Show information about supplementary groups. -g, --groups=groups Only show data of users belonging to groups. More than one group may be specified; the list has to be comma-separated. Note that relation between user and group may be invisible for primary group if the user is not explicitly specify as group member (e.g. in /etc/group). If the command lslogins scans for groups than it uses groups database only, and user database with primary GID is not used at all. -h, --help Display help information and exit. -L, --last Display data containing information about the users' last login sessions. -l, --logins=logins Only show data of users with a login specified in logins (user names or user IDS). More than one login may be specified; the list has to be comma-separated. -n, --newline Display each piece of information on a separate line. --noheadings Do not print a header line. --notruncate Don't truncate output. -o, --output list Specify which output columns to print. Use --help to get a list of all supported columns. -p, --pwd Display information related to login by password (see also -afL). -r, --raw Raw output (no columnation). -s, --system-accs Show system accounts. These are by default all accounts with a UID below 1000 (non-inclusive), with the exception of either nobody or nfsnobody (UID 65534). This hardcoded default maybe overwritten by parameters SYS_UID_MIN and SYS_UID_MAX in the file /etc/login.defs. --time-format type Display dates in short, full or iso format. The default is short, this time format is designed to be space efficient and human readable. -u, --user-accs Show user accounts. These are by default all accounts with UID above 1000 (inclusive), with the exception of either nobody or nfs- nobody (UID 65534). This hardcoded default maybe overwritten by parameters UID_MIN and UID_MAX in the file /etc/login.defs. -V, --version Display version information and exit. --wtmp-file path Alternate path for wtmp. -Z, --context Display the users' security context. -z, --print0 Delimit user entries with a nul character, instead of a newline. NOTES
The default UID thresholds are read from /etc/login.defs. EXIT STATUS
0 if OK, 1 if incorrect arguments specified, 2 if a serious error occurs (e.g. a corrupt log). SEE ALSO
group(5), passwd(5), shadow(5), utmp(5) HISTORY
The lslogins utility is inspired by the logins utility, which first appeared in FreeBSD 4.10. AUTHORS
Ondrej Oprala <ooprala@redhat.com> Karel Zak <kzak@redhat.com> AVAILABILITY
The lslogins command is part of the util-linux package and is available from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils /util-linux/>. util-linux April 2014 LSLOGINS(1)
All times are GMT -4. The time now is 06:33 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy