I have few concepts from user management commands in linux that I would like to butter. But I am yet to find a really interesting project that I can incorporate in order to learn this. For example, chage, sudo, usermod, groupadd, lost+found, umask, sticky bit, chroot etc.
The Daddy of them all is LDAP (Lightweight Directory Access Protocol). This is intended for managing user permissions, passwords and their expiry dates, access rights etc. across a large company network with a mixture of hardware and distro types. If you can become familiar with that, you can do most anything.
One issue with interconnected servers is that users might have the same username on different servers, but each /etc/passwd gives them a different numeric UID. That makes transferring files (maybe through a tar archive) very difficult. When your files are extracted, they can be owned by a different user, or not have an owner at all.
LDAP can keep consistency across a large company network, and can restrict users rights on specific systems: you don't want the finance office to have access to your development system.
Small question. Should I be deploying ldap on windows if I were to learn user management in linux fun way? Or are there other ways?
As each company sees things differently, you cannot guess what you would find unless you ask during your interview:
Do you use LDAP ?
who is in charge of ?
Big companies with long IT history may have solutions you find difficult to understand.
So the most important for you is to be aware and know what it means to you as ux/linux sysadmin/engineer/integrator etc…
I worked in public administration, once, all dept had their IT, but it was decided that all the different IT would be merged into a big IT dept, all dept had either Novell(60%) or MS(30%) networks ( 10% of exotic mainframe solutions…)… and since the 96% of users had PCs and were connected to Novell or Win servers, the security because of virus threat on MS stuff… was given to MS/Netware team and they inherited of the LDAP later when put in place as the proxies were also MS…
You have to know what that means for unix servers, and how you have to get integrated to such environment, it is your duty after all, and of course solving the issues that can be weird from time to time.
IMHO, why try to learn how to create/del/mod etc in an LDAP might be given to operators and you may never have to touch anything, let’s say because it’s the network team that are responsible for keeping the LDAP up to date, but YOU will be in charge of asking the modifications to the LDAP, like adding a new server etc… So the most important is to understand the concept , which is more than a few commands, because you are the one in case of issue, that will have to explain to LDAP team where you are having the issue, so they can correct or help you find the bug