39 Commits

Author SHA1 Message Date
Rahul De
ad0b235dd7
users: Restrict groups and active user control to admins
- Only admins can now edit the groups of any user

- Only admins can mark any user as active or not

- Refactored all occurrences of admin checks to its own utility function
2017-02-15 21:07:54 +05:30
James Valleroy
0fdc0ffe52
users: Fix marking first boot step as done 2016-12-04 15:24:51 -05:00
Sunil Mohan Adapa
56686b7148
firstboot: Rename views/urls to be non-numeric 2016-12-04 15:24:36 -05:00
Sunil Mohan Adapa
c37aa0fbd5
firstboot: Indentation & styling fixes
pycodestyle version used is 2.1.0 with default arguments.
2016-12-04 15:24:31 -05:00
Hemanth Kumar Veeranki
6011a7adfa
Made Suggested Changes 2016-11-03 22:06:08 -04:00
Hemanth Kumar Veeranki
0332d4489e
Added code for modules to register for first_boot #529 2016-11-03 22:06:00 -04:00
Sunil Mohan Adapa
5f94d6489f
users: Update the SSH set key error message
In a following pull request, we are expected to solve the cache timing
issue.  So, show a generic error message instead of one that suggests a
timing problem.
2016-08-23 21:37:51 +05:30
James Valleroy
d2950d9c5f
users: Display error message if unable to set SSH keys 2016-08-23 21:37:41 +05:30
Sunil Mohan Adapa
b7cbc56f8a
users: Fix checking restricted usernames
When editing an existing user, error is being thrown due to restricted
usernames check.  This is due to the username matching existing
username.

Also:

- Raise the validation error on the field instead of the entire form.

- Send error code along with validation error message.

- End the validation error message with a full stop for consistency.
2016-08-16 12:31:52 -04:00
Sunil Mohan Adapa
e719966c4b
users: Refactor valid user name checking for reuse
- Supress output from getent

- More accurate message
2016-08-12 19:32:19 +05:30
James Valleroy
c8c6bc377b
users: Add list of restricted usernammes
List is derived from optional services installed.
2016-08-12 18:48:16 +05:30
James Valleroy
3a69958165
users: Avoid username conflicts with system users
When creating or renaming a user, check if the new username is in use by
any system user.
2016-08-12 18:47:52 +05:30
Sunil Mohan Adapa
506bff5c7b
users: Multiple SSH keys and better home creation
- Allow setting multiple SSH keys one per line (which is already
  allowed, but advertise it better).

- Use mkhomedir_helper to create the user's home directory.  Avoid
  security and accuracy complexities of creating a home directory.

- Allow homes that don't exist in /home.
2016-01-30 15:30:52 +05:30
James Valleroy
ad7d6db968
users: Add field to set user's SSH key. 2016-01-30 15:30:32 +05:30
Sunil Mohan Adapa
3df1a88824 Switch to Django i18n for code strings
Django i18n layer is on top of gettext and provide may crucial features
such as per-request locales, lazy translations etc.
2015-11-13 22:08:43 +05:30
Sunil Mohan Adapa
d363d8db26 users: Use ldapscripts for user management
- Merge all ldap actions into one action.

- Setup ldapscripts using augeas.

- Use the default mechanisms used by ldapscripts.

- Remove adding admin users to 'sudo' group.  Mixing LDAP groups and
  local groups is not a good practice.  'admin' LDAP group will be added
  to sudoers in another patch to freedombox-setup.

- Make all users posixAccount and all groups posixGroup for simplicity.
  Shell access can be restricted in other ways.

- Work around ldapscripts not able to set password using SASL auth.

- Work around ldapscripts having issues with current locale.
2015-07-26 16:33:06 -04:00
Sunil Mohan Adapa
44ec564fd7 users: Fix incorrect replacement of _()
Apologies for the regression.
2015-07-26 13:34:23 -04:00
James Valleroy
d144f6634a Bug fixes:
Check if ejabberd is installed when running actions triggered by signals.
Encode LDAP passwords as bytes.
2015-07-23 22:30:50 +05:30
James Valleroy
cb7c9c26f7 Send LDAP user passwords to actions through stdin, not as arguments. 2015-07-23 22:30:50 +05:30
James Valleroy
86580c9121 Revert "Don't print LDAP user passwords in log."
This reverts commit b1c9c81d58c80d6b313dd2b8a5c5727ecdf6ac49.

Conflicts:
	plinth/modules/first_boot/forms.py
2015-07-23 22:30:50 +05:30
Sunil Mohan Adapa
f35d4257c2 users: Improve Django group handling with LDAP
- Create groups on first boot a bit more safely

- Use get_or_create instead of get() and create()

- Fix issue with not showing a full list of groups in user modify page
  when there is are no users for that group.
2015-07-18 17:17:07 +05:30
Sunil Mohan Adapa
b0d65b4ead users: Use checkboxes for groups during create 2015-07-14 21:23:02 +05:30
James Valleroy
925fbe6cd2 Fix group management issues. 2015-07-13 19:50:59 +05:30
James Valleroy
6ca38ba665 Switch LDAP groups from groupOfUniqueNames to groupOfNames, to work with libpam-ldapd. 2015-07-13 19:50:59 +05:30
James Valleroy
b1c9c81d58 Don't print LDAP user passwords in log. 2015-07-13 19:50:58 +05:30
James Valleroy
0eb3d35b5b Add group management to user editing form. 2015-07-13 19:50:58 +05:30
James Valleroy
197c95a7bf Add actions for LDAP group management. 2015-07-13 19:50:58 +05:30
James Valleroy
2adf14b8b7 Remove POSIX users. 2015-07-13 19:50:58 +05:30
Sunil Mohan Adapa
82090af423 ldap: Minor styling fixes 2015-06-25 23:40:24 +05:30
James Valleroy
27e19b4373 users: Change LDAP user password. 2015-06-12 15:49:41 +05:30
James Valleroy
9f371d9a13 users: Rename LDAP user. 2015-06-12 15:49:41 +05:30
James Valleroy
910ff97c62 users: Add option to create LDAP user. 2015-06-12 15:49:41 +05:30
Sunil Mohan Adapa
c2b806cf0d users: Rename a POSIX user when Plinth user is renamed 2015-01-25 01:45:51 +05:30
Sunil Mohan Adapa
a3de3ae277 users: Handle errors better during POSIX user operations
- If during an action, user does not exist ignore.

- If during an action, return a non-zero exist status.

- Catch an errors during actions as exceptions.

- Display a message that corresponding POSIX operation failed.
2015-01-25 01:45:51 +05:30
James Valleroy
45b5ce8de9 When enabling/disabling Django user, also enable/disable the corresponding POSIX user. 2015-01-20 12:37:04 +05:30
James Valleroy
eeced1c213 When updating a user's password, also update the POSIX user's password, when needed. 2015-01-20 12:36:50 +05:30
James Valleroy
f3ea867e07 Add option when adding a new user, to also create a POSIX user.
Conflicts:
	plinth/modules/users/views.py
2015-01-20 12:35:15 +05:30
Sunil Mohan Adapa
82c2785272 Auto-generate model form for user updation
- Remove the custom UserForm
2014-12-14 00:32:14 +05:30
fonfon
4b3b3c666a Refactored 'users' module
- allows editing users (currently the groups and username)
- allows any logged-in user to change the passwords of any other users
- improved url highlighting of subsubmenu
2014-12-09 20:49:13 +01:00