Admin login as other user

Admin should have certain degree of control on each user account, as far as I can see currently super admin can only manager permissions. We would prefer to have ability to e.g. update user profile/avatar, impersonate to do certain thing and leave audit trail some where that xxxx act on behave of a user. (Like On Behave of xxxx email you see normally) Thanks.