.. _rhodecode-reset-ref: Settings Management ------------------- All |RCE| settings can be set from the user interface, but in the event that it somehow becomes unavailable you can use ``ishell`` inside your |RCE| ``virtualenv`` to carry out emergency measures. .. warning:: Logging into the |RCE| database with ``iShell`` should only be done by an experienced and knowledgeable database administrator. Reset Admin Account Privileges ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If you accidentally remove your admin privileges from the admin account you can restore them using ``ishell``. Use the following example to reset your account permissions. .. code-block:: bash # Open iShell from the terminal $ .rccontrol/enterprise-1/profile/bin/paster \ ishell .rccontrol/enterprise-1/rhodecode.ini .. code-block:: mysql # Use this example to change user permissions In [1]: adminuser = User.get_by_username('username') In [2]: adminuser.admin = True In [3]: Session().add(adminuser);Session().commit() In [4]: exit() Set to read global ``.hgrc`` file ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ By default, |RCE| does not read global ``hgrc`` files in ``/etc/mercurial/hgrc`` or ``/etc/mercurial/hgrc.d`` because it can lead to issues. This is set in the ``rhodecode_ui`` table for which there is no UI. If you need to edit this you can manually change the settings using SQL statements with ``ishell``. Use the following example to make changes to this table. .. code-block:: bash # Open iShell from the terminal $ .rccontrol/enterprise-5/profile/bin/paster \ ishell.rccontrol/enterprise-5/rhodecode.ini .. code-block:: mysql # Use this example to enable global .hgrc access In [1]: new_option = RhodeCodeUi() In [2]: new_option.ui_section='web' In [3]: new_option.ui_key='allow_push' In [4]: new_option.ui_value='*' In [5]: Session().add(new_option);Session().commit() In [6]: exit() Manually Reset Password ^^^^^^^^^^^^^^^^^^^^^^^ If you need to manually reset a user password, use the following steps. 1. Navigate to your |RCE| install location. 2. Run the interactive ``ishell`` prompt. 3. Set a new password. Use the following code example to carry out these steps. .. code-block:: bash # starts the ishell interactive prompt $ .rccontrol/enterprise-1/profile/bin/paster \ ishell .rccontrol/enterprise-1/rhodecode.ini .. code-block:: mysql In [1]: from rhodecode.lib.auth import generate_auth_token In [2]: from rhodecode.lib.auth import get_crypt_password # Enter the user name whose password you wish to change In [3]: my_user = 'USERNAME' In [4]: u = User.get_by_username(my_user) # If this fails then the user does not exist In [5]: u.auth_token = generate_auth_token(my_user) # Set the new password In [6]: u.password = get_crypt_password('PASSWORD') In [7]: Session().add(u);Session().commit() In [8]: exit() Change user details ^^^^^^^^^^^^^^^^^^^ If you need to manually change some of users details, use the following steps. 1. Navigate to your |RCE| install location. 2. Run the interactive ``ishell`` prompt. 3. Set a new arguments for users. Use the following code example to carry out these steps. .. code-block:: bash # starts the ishell interactive prompt $ .rccontrol/enterprise-1/profile/bin/paster \ ishell .rccontrol/enterprise-1/rhodecode.ini .. code-block:: mysql # Use this example to change email and username of LDAP user In [1]: my_user = User.get_by_username('some_username') In [2]: my_user.email = 'new_email@foobar.com' In [3]: my_user.username = 'SomeUser' In [4]: Session().add(my_user);Session().commit() In [5]: exit()