Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
itminedu
snf-image-creator
Commits
9fe161f8
Commit
9fe161f8
authored
May 21, 2013
by
Nikos Skalkotos
Browse files
Monitor passworded users in FreeBSD
parent
6df939f7
Changes
1
Hide whitespace changes
Inline
Side-by-side
image_creator/os_type/freebsd.py
View file @
9fe161f8
...
...
@@ -33,9 +33,39 @@
from
image_creator.os_type.unix
import
Unix
import
re
class
Freebsd
(
Unix
):
"""OS class for FreeBSD Unix-like os"""
pass
def
__init__
(
self
,
rootdev
,
ghandler
,
output
):
super
(
Freebsd
,
self
).
__init__
(
rootdev
,
ghandler
,
output
)
self
.
meta
[
"USERS"
]
=
" "
.
join
(
self
.
_get_passworded_users
())
# Delete the USERS metadata if empty
if
not
len
(
self
.
meta
[
'USERS'
]):
self
.
out
.
warn
(
"No passworded users found!"
)
del
self
.
meta
[
'USERS'
]
def
_get_passworded_users
(
self
):
users
=
[]
regexp
=
re
.
compile
(
'^([^:]+):((?:![^:]+)|(?:[^!*][^:]+)|):(?:[^:]*:){7}(?:[^:]*)'
)
for
line
in
self
.
g
.
cat
(
'/etc/master.passwd'
).
splitlines
():
line
=
line
.
split
(
'#'
)[
0
]
match
=
regexp
.
match
(
line
)
if
not
match
:
continue
user
,
passwd
=
match
.
groups
()
if
len
(
passwd
)
>
0
and
passwd
[
0
]
==
'!'
:
self
.
out
.
warn
(
"Ignoring locked %s account."
%
user
)
else
:
users
.
append
(
user
)
return
users
# vim: set sta sts=4 shiftwidth=4 sw=4 et ai :
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment