Windows – difference between windows local admin and unix root

rootsoftware installationsudowindows

I am trying to understand what is a conceptual difference between unix root account and windows local admin. I am a developer and despite IT department efforts were always given local admin rights so I could install whatever I want on my local PC.

But for some reason (and I think it should be a good one) I am just a user in our linux system. That makes it is impossible to me to sudo things – e.g. to get software installed from repositories, etc.

I suppose it is because root permissions grant much more privileges than local admin rights on windows. Is that the case?

Also is it possible in unix to grant particular user rights to install software e.g. using apt-get or yum?

Best Answer

I don't know much about Windows' administration, but I don't think there's much difference between Windows' admin and Linux' root. (I may be misunderstanding something, but from your question I infer everyone in your company has a Windows normal PC or fat client, and a Linux thin client or simple user SSH access)

It is normal practice not to give root access on thin clients (since it's company-wide root access) while letting users administrate their own PCs isn't a problem.

You can't install sofware with the package manager (apt-get/yum/...) since it requires root access. You may either request your sysop to install the needed packages, or install them locally in your home directory (which you have write access to, thus not requiring root).

For installing in your home directory, you can use the following procedure (I'll use a real life example with Screenfetch, adapt it to your needs) :

  • create a specific folder for the software you install in user space: mkdir ~/local
  • go in that folder: cd ~/local
  • download the sofware you want to install: wget http://git.silverirc.com/cgit.cgi/screenfetch.git/snapshot/screenfetch-3.2.0.tar.gz
  • extract the archive: tar -zxf screenfetch-3.2.0.tar.gz
  • read the README to check the specific tasks that may be needed to build/run the software
  • make the binary executable: chmod +x screenfetch-3.2.0/screenfetch-dev
  • add a shortcut or an alias to launch your software (may change a lot depending on your distribution, shell and desktop environment) In my example, I want to launch screenfetch from command-line on my work desktop (Linux Mint 13 with Bash) so I'll add the following line to my ~/.bashrc file: alias screenfetch='~/local/screenfetch-3.2.0/screenfetch-dev'
Related Question