Frage

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 ?

War es hilfreich?

Lösung

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.

Andere Tipps

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top