/[svn.andrew.net.au]/scripts/interactive_accounts
ViewVC logotype

Annotation of /scripts/interactive_accounts

Parent Directory Parent Directory | Revision Log Revision Log


Revision 42 - (hide annotations)
Tue Feb 12 22:41:02 2008 UTC (13 years, 9 months ago) by apollock
File size: 744 byte(s)
Patch from Dale King to deal with null shells

1 apollock 40 #!/bin/bash
2 apollock 41 #
3     # Script to find users with a valid shell (and if run as root, an unlocked
4     # account). Outputs a colon separated user:shell so it can be further grepped
5     # for shells you don't care about (e.g. scponly)
6     #
7     # Copyright (c) 2008 Andrew Pollock <me@andrew.net.au>
8     #
9     # Copying permitted under the terms of the GNU GPL v2
10     #
11 apollock 40
12     for entry in $(getent passwd | cut -d: -f1,7 | grep -v -E "^(sash)?root:")
13     do
14     shell=$(echo $entry | cut -d: -f2)
15 apollock 42 if [ "$shell" == "" ]; then
16     continue
17     fi
18 apollock 40 if grep -q $shell /etc/shells; then
19     user=$(echo $entry | cut -d: -f1)
20     if [ $UID -eq 0 ]; then
21     case "$(getent shadow $user | cut -d: -f2)" in
22     "x"|"*"|"!"|"!"*)
23     ;;
24    
25     *)
26     echo $entry
27     ;;
28     esac
29     else
30     echo $entry
31     fi
32     fi
33     done

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.22