Configure some fields through args
This commit is contained in:
@@ -73,7 +73,32 @@ def main():
|
|||||||
type=Path,
|
type=Path,
|
||||||
help="A file containing group names to ignore (one group name per line).",
|
help="A file containing group names to ignore (one group name per line).",
|
||||||
required=False,
|
required=False,
|
||||||
metavar="IGNORE_GROUP_FILE",
|
metavar="PATH",
|
||||||
|
)
|
||||||
|
|
||||||
|
parser.add_argument(
|
||||||
|
"--set-default-umask",
|
||||||
|
type=str,
|
||||||
|
help="Set the umask for all users.",
|
||||||
|
metavar='OCTAL',
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--set-default-mount-no-devices",
|
||||||
|
type=bool,
|
||||||
|
help="Set mountNoDevices for all users.",
|
||||||
|
metavar='BOOL',
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--set-default-mount-no-suid",
|
||||||
|
type=bool,
|
||||||
|
help="Set mountNoSuid for all users.",
|
||||||
|
metavar='BOOL',
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--set-default-mount-no-execute",
|
||||||
|
type=bool,
|
||||||
|
help="Set mountNoExecute for all users.",
|
||||||
|
metavar='BOOL',
|
||||||
)
|
)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
@@ -228,16 +253,25 @@ class User:
|
|||||||
home: str
|
home: str
|
||||||
shell: str
|
shell: str
|
||||||
|
|
||||||
|
# GECOS fields
|
||||||
full_name: str | None = None
|
full_name: str | None = None
|
||||||
location: str | None = None
|
location: str | None = None
|
||||||
work_phone: str | None = None
|
work_phone: str | None = None
|
||||||
home_phone: str | None = None
|
home_phone: str | None = None
|
||||||
other: str | None = None
|
other: str | None = None
|
||||||
|
|
||||||
|
# Computed fields
|
||||||
memberOf: list[str] | None = None
|
memberOf: list[str] | None = None
|
||||||
email: str | None = None
|
email: str | None = None
|
||||||
is_admin: bool = False
|
is_admin: bool = False
|
||||||
|
|
||||||
|
# Fields passed from args
|
||||||
|
umask: str | None = None
|
||||||
|
mount_no_devices: bool | None = None
|
||||||
|
mount_no_suid: bool | None = None
|
||||||
|
mount_no_execute: bool | None = None
|
||||||
|
|
||||||
|
# Privileged fields
|
||||||
password: str | None = None
|
password: str | None = None
|
||||||
password_last_change: int | None = None
|
password_last_change: int | None = None
|
||||||
password_min_days: int | None = None
|
password_min_days: int | None = None
|
||||||
@@ -311,17 +345,22 @@ class User:
|
|||||||
"realName": self.full_name,
|
"realName": self.full_name,
|
||||||
"disposition": self.get_disposition(),
|
"disposition": self.get_disposition(),
|
||||||
"shell": self.shell,
|
"shell": self.shell,
|
||||||
"umask": "0022",
|
|
||||||
"locked": self.get_locked(),
|
"locked": self.get_locked(),
|
||||||
"storage": "classic",
|
"storage": "classic",
|
||||||
"uid": self.uid,
|
"uid": self.uid,
|
||||||
"gid": self.gid,
|
"gid": self.gid,
|
||||||
"homeDirectory": self.home,
|
"homeDirectory": self.home,
|
||||||
# "mountNoDevices": True,
|
|
||||||
# "mountNoSuid": True,
|
|
||||||
# "mountNoExecute": False,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if self.umask:
|
||||||
|
result["umask"] = self.umask
|
||||||
|
if self.mount_no_devices is not None:
|
||||||
|
result["mountNoDevices"] = self.mount_no_devices
|
||||||
|
if self.mount_no_suid is not None:
|
||||||
|
result["mountNoSuid"] = self.mount_no_suid
|
||||||
|
if self.mount_no_execute is not None:
|
||||||
|
result["mountNoExecute"] = self.mount_no_execute
|
||||||
|
|
||||||
if self.email:
|
if self.email:
|
||||||
result["emailAddress"] = self.email
|
result["emailAddress"] = self.email
|
||||||
if self.location:
|
if self.location:
|
||||||
|
|||||||
Reference in New Issue
Block a user