Switching to root user in unix - unix

To switch to an admin user(root) in unix I use :
sudo su -
so now I'm an admin user with admin privilages. To achieve same in windows I would need to login with an admin password before becomming an admin.
Why is this different in unix ? I'm a unix newbie so maybe there is something more going on that I am not aware of ?

I will use admin and root interchangeable for explaining the following:
When you use sudo su, you are basically saying "use my permission in the sudoers file and log me in to the root user."
When you use sudo, you are basically saying "use my permission for current user (who is in sudoers file) and execute the following command which comes after sudo."
Sudoers file is a file that defines the permission for various users in UNIX and Linux and whether or not they can run commands as sudo (super user do).
When you use su, you are saying "start a new session and log me in as root directly, without checking sudoers files, and I will provide the credentials (password)."
The difference in UNIX is the management of the admin account. Root exists for the entire system. All users are allowed to log into root if they provide the correct credentials. For all accounts, any user can run things as though the user is root (su) by adding the particular user account to the sudoers file. This means that any user account can execute sudo commands as if it was an admin account by only providing the user's password. And the user does not have to know the root password. It basically says: "I know what I am doing, let me do it." And it means that a user can execute as both a regular user and admin in one session, without having to log in and log out of accounts.
While in Windows, the admin management is handled differently. A sudoer file does not exist in Windows. A user is either administrator or not. However, if the user is administrator, he can still run things as a normal user without going to OS permissions right-clicking an doing Run as administrator. Also, there is no overall root account for Windows unless it was set by whoever set up the system.
The way admin privileges are managed is different, nothing else.

Hmm... I'm not sure I'm understanding your question, but here is my answer:
When you write sudo su - (or sudo -s), you'll be asked your current user password. If that user doesn't have the privileges to perform sudo tasks, you won't be able to do that.
You're saying:
...I would need to login with an admin password before becomming an admin.
As I said, your user is kind of an admin one, because someone gave you that privilege (either by adding you to the sudoers file, adding you to the adm group, etc).

if you want to be root on unix and have the root password you can do
su - which is the same as su - root.
Back in the day you had the option to login as root aka admin but that has gone away due to security reasons. Now you are required to login as yourself and then become root.
In the windows world this is the same as logging in as a non-privledged user and running a program as administrator. When you do this in windows you will also be prompted for the admin password. Basicly the same thing in unix.
The reason for the sudo is because most places dont want a user to have the root password.
sudo su - will prompt you for your personal unix password not root's. And then check the sudoconfig to make sure you are allowed to run that command.
sudo also has the abilty to give a user very restricted access. It can be set up so only certain users or groups can run specfic commands as root or other users.
In addtional to making sure you are allowed to run the command it will also keep a log as to who ran what. Or if someone is trying to become root who is not allowed.

Related

Disable root login without password with MariaDB 10.5

I'm trying to disable root login without password with the new version of MariaDB.
Usually, I set the auth plugin for root to "". But it's not working anymore
ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
I tried to use ALTER USER but I've only succeed to set plugin to unix_socket or mysql_native_password
How can I resolve that ?
Thank's a lot.
Regards.
I solved this problem by following steps:
Using command SHOW GRANTS FOR 'root'#'localhost';
If you see a line similar to this one
GRANT ALL PRIVILEGES ON . TO root#localhost IDENTIFIED VIA
mysql_native_password USING
'A_HASH_PASSWORD' OR unix_socket WITH GRANT
OPTION
That means your root user can be authenticated by 2 methods password or unix_socket.
Now you can use command
GRANT ALL PRIVILEGES ON *.* TO `root`#`localhost` IDENTIFIED BY 'YOUR_RAW_PASSWORD' WITH GRANT OPTION;
FLUSH FLUSH PRIVILEGES;
Problem solved!
If you look at show create user for root you'll see that both mysql_native_password and unix_socket exist as plugin types.
unix_socket will allow the root unix user login without a password. Insecure? Not really, they can manipulate and access database files already.
mysql_native_password is there, but the password there is invalid. No password exists that is usable so you cannot login with this plugin by default. This is there so that if you really want, you can set a password (using SET PASSWORD) to login to the root user from a non-root unix user. This inherently make it less secure as there is another access mechanism.

How to change the password for phpmyadmin

Recently I installed the Bitnami Wordpress canned deployment on Google Cloud Platform.
I can view the phpMyAdmin instance at a local address (http://127.0.0.1:8888/phpmyadmin/) but I cannot determine the username and password to log into the database cluster. I have tried the username specified in Deployment Manager, but the temporary password is not working. When I attempt to login, I receive the following error:
mysqli_real_connect(): (HY000/1045): Access denied for user 'user'#'localhost' (using password: YES)
I have tried to use various common passwords, such as root/root, with no success. If we assume the password is lost, how I can I figure out the password, recover it, or change it by using an SSH shell to the hosting compute instance?
Resetting password by supporting team if possible try
This issue seems related to phpmyadmin. I found this similar post where they stated:
This is asking for your MySQL username and password.
You should enter these details, which will default to "root" and ""
(i.e.: nothing) if you've not specified a password.
UPDATE
Have you tried to create a new user or change the password? Check this guide on how to do it.
Bitnami Engineer here,
As our guide mentions, once you create the SSH tunnel to access phpMyAdmin, you need to use the user 'root' and the password we configure at boot time (it's the same password we configure in the application). More information in our documentation
https://docs.bitnami.com/google/components/phpmyadmin/
Oh it's opened now, the user was (root) which it's not mentioned anywhere when i created the instance, the password is the one which generated by Bitnami when the instance is created on the bitnami platform lunchpad website.
the password is used for 2 users :
username: user
username : root (hidden) for new users who are decided to try cloud servers is not easy to figure this username and which password must use.
thanks for trying to help.

How to display a login menu in UNIX AIX?

I'm a UNIX AIX administrator and as per the security design, each user should have specific privileges and some user have "sftp" only they don't have ssh.
When user password expires, I have to reset the password for the user by myself ( because he don't have access as ssh to execute commands ) so I'm thinking if there is some way I can enable SSH for users but show them only specific tasks like below scenario :
User: xxxxxx
password : *******
1- Reset User.
2- Change Password.
Choose Option :
Sounds like you'll need to write a little script for the users. AIX uses Korn shell, so you can write little scripts for the user based on whatever parameters you like.
Info for modifying the SSH permissions for the individual users.

Can Jupyter Notebook accept username and passwords to start a session?

Is it possible that when a user goes to our notebook server that he/she can login using their username and password defined in /etc/passwd (which in turn uses our institution's yp) and has all the permissions of that user? Perhaps starting a new session in the user's home directory?
You should use jupyterhub for this. There you can choose between several authencation-mechanism like PAM or LDAP. You may even want to write your own.
Check https://jupyterhub.readthedocs.io/en/latest/ for more info

(drupal 6) how to disable admin login by modify file in server?

In my drupal site, admin user name is admin.
Im worried someone brute force this account.
I hope when I just logged out using admin user name, I can temporarily disable admin user name by modify some file in the server through ssh
You could rename the admin account by going to "user/1/edit" (or using the Users list), and change "admin" to something else. It will still be seen internally as the super-admin account, yet people won't be able to login using the name "admin" even if they try to brute-force it.
I agree with Wildpeaks, but he doesn't really answer your question.
Locking out any user, including the #1 superuser, is easy if you have access to the database, either using mysql over ssh or with a tool like phpmyadmin. To block a user, you need to set the status column to 0. for instance, if you want to block user #1:
UPDATE `users` SET `status` = 0 WHERE `uid` = 1;
This method will prevent the blocked user from logging in and will terminate his current session.
Another way to enable or disable users via SSH: Drush.
drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.
Use the command drush user-block 1 to block the admin account.
Use the command drush user-unblock 1 to unblock the admin account.
I would go with wildpeaks' suggestion, or set the admin account to 'inactive' if you have another account that you use to do daily administration.

Resources