isPrivilegedPasswordRequired property
bool
get
isPrivilegedPasswordRequired
Returns true if running a privileged action would cause a password to be requested.
Linux/MacOS: will return true if the sudo password is not currently cached and we are not already running as a privileged user.
Windows: This will always return false as Windows is never able to escalate privileges.
Implementation
bool get isPrivilegedPasswordRequired {
if (isPrivilegedUser) {
return false;
}
final response = 'sudo -nv'.toList(nothrow: true);
if (response.isEmpty) {
return false;
}
return response.any(
(line) =>
line.contains('a password is required') ||
line.contains('interactive authentication is required'),
);
}