User Management : Managing user account is an essential task for system administrtor. In linux there are two type of user 1. root user(admin) & 2. local user .
1. Documentation for useradd command
[root@server ~]# man useradd
2. Create a user
[root@server ~]# useradd tom
Note: tom == username
Create one more user
[root@server ~]# useradd Jerry
Note: When you create a user, it's information save in /etc/passwd file
3. Show user information
[root@server ~]# cat /etc/passwd
tom:x:509:509::/home/tom:/bin/bash
4. Grep specific user from /etc/passwd file
[root@server ~]# cat /etc/passwd | grep tom
tom:x:509:509::/home/tom:/bin/bash
5. Describe field of /etc/passwd
Ex: It has 7 field, will explain one by one below
tom:x:509:509::/home/tom:/bin/bash
tom: User name
x : Password saved in encrypted form
509 : User ID (UID)
509 : Group ID (GID)
:: : Comment (For extra information )
/home/tom: Home directory
/bin/bash : Shell
Note: When you create a user with name tom, with same name a group tom also create.
6. Create/Set password for a user
[root@server ~]# passwd tom
Note: created password save in /etc/shadow file
7. Show /etc/shadow file
[root@server ~]# cat /etc/shadow
Jerry:!!:16755:0:99999:7:::
Ex: It has 6 field, will explain one by one below
Jerry:!!:16755:0:99999:7:::
8. Create a group
[root@server ~]# groupadd linux
Note: When you create a group, it save in /etc/group file
9. Show /etc/group file
[root@server ~]# cat /etc/group
Ex: It has 3 field, will explain one by one below
linux:x:511:
Q: can we set password on group ?
Yes, with command
[root@server ~]# gpasswd linux
Note: group password information save in /etc/gshadow file
10. show group password
[root@server ~]# cat /etc/gshadow
linux:$6$7ro03LKxS$vhw/ekQxrzBndgDEhA2b5gSjZ88LZF7ZFjeHsDx7aVxHE0xArMQhneQy3zI3ZDGpTA.xfIzhoS/s/26U2pMmv1::
11. Documentation for userdel command
[root@server ~]# man userdel
Note: userdel command is use to delete a user
12. Delete a user
[root@server ~]# userdel tom
Note: above command delete user but not delete user home directory. You can check in /home/ folder.
12. Delete user with home directory
[root@server ~]# userdel -r Jerry
or,
[root@server ~]# userdel -rf username
Note: Jerry== username, -r == will delete user but ask for deleting, -f == for forcefully delete
13. How to check last password modification date in Linux
[root@server ~]# chage -l shahzad
Last password change : May 30, 2017
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
or,
[root@server ~]# cat /etc/shadow | grep shahzad
shahzad:$1$aoU3ISRK$W06/ShMzSopjNELyES7hd0:17316:0:99999:7:::
14. Describe /etc/shadow file in Linux
1 - system login username
2 - Password filed
3 - Password modification date (May 30, 2017)
4 - Minimum number of days between password change through user ( 0 means no password expiration set)
5 - Maximum number of days between password change
6 - Number of days of warning before password expires
Create a New user with different home directory
[root@server ~]# useradd -d /data/shahzad shahzad
Note: defined home directory for user shahzad is /data/shahzad
1. Documentation for useradd command
[root@server ~]# man useradd
2. Create a user
[root@server ~]# useradd tom
Note: tom == username
Create one more user
[root@server ~]# useradd Jerry
Note: When you create a user, it's information save in /etc/passwd file
3. Show user information
[root@server ~]# cat /etc/passwd
tom:x:509:509::/home/tom:/bin/bash
4. Grep specific user from /etc/passwd file
[root@server ~]# cat /etc/passwd | grep tom
tom:x:509:509::/home/tom:/bin/bash
5. Describe field of /etc/passwd
Ex: It has 7 field, will explain one by one below
tom:x:509:509::/home/tom:/bin/bash
tom: User name
x : Password saved in encrypted form
509 : User ID (UID)
509 : Group ID (GID)
:: : Comment (For extra information )
/home/tom: Home directory
/bin/bash : Shell
Note: When you create a user with name tom, with same name a group tom also create.
6. Create/Set password for a user
[root@server ~]# passwd tom
Note: created password save in /etc/shadow file
7. Show /etc/shadow file
[root@server ~]# cat /etc/shadow
Jerry:!!:16755:0:99999:7:::
Ex: It has 6 field, will explain one by one below
Jerry:!!:16755:0:99999:7:::
8. Create a group
[root@server ~]# groupadd linux
Note: When you create a group, it save in /etc/group file
9. Show /etc/group file
[root@server ~]# cat /etc/group
Ex: It has 3 field, will explain one by one below
linux:x:511:
Q: can we set password on group ?
Yes, with command
[root@server ~]# gpasswd linux
Note: group password information save in /etc/gshadow file
10. show group password
[root@server ~]# cat /etc/gshadow
linux:$6$7ro03LKxS$vhw/ekQxrzBndgDEhA2b5gSjZ88LZF7ZFjeHsDx7aVxHE0xArMQhneQy3zI3ZDGpTA.xfIzhoS/s/26U2pMmv1::
11. Documentation for userdel command
[root@server ~]# man userdel
Note: userdel command is use to delete a user
12. Delete a user
[root@server ~]# userdel tom
Note: above command delete user but not delete user home directory. You can check in /home/ folder.
12. Delete user with home directory
[root@server ~]# userdel -r Jerry
or,
[root@server ~]# userdel -rf username
Note: Jerry== username, -r == will delete user but ask for deleting, -f == for forcefully delete
13. How to check last password modification date in Linux
[root@server ~]# chage -l shahzad
Last password change : May 30, 2017
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
or,
[root@server ~]# cat /etc/shadow | grep shahzad
shahzad:$1$aoU3ISRK$W06/ShMzSopjNELyES7hd0:17316:0:99999:7:::
14. Describe /etc/shadow file in Linux
1 - system login username
2 - Password filed
3 - Password modification date (May 30, 2017)
4 - Minimum number of days between password change through user ( 0 means no password expiration set)
5 - Maximum number of days between password change
6 - Number of days of warning before password expires
Create a New user with different home directory
[root@server ~]# useradd -d /data/shahzad shahzad
Note: defined home directory for user shahzad is /data/shahzad