Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Linux Basics/User management

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

User management functions Functions: adding, deleting user, setting password, modifying Adding user: adduser(under Ubuntu), useradd thumb|useradd's interactive guide in Ubuntu (adduser) Adding user Syntax: useradd [options] username Options: -u number: setting the user id (UID) -c: note -g group: setting group membership -d /home/user: setting HOME folder to /home/user. -s /bin/bash: default shell (here the user gets bash as default -G group1, group2: separating them with commas, if the user is member of other groups -m -k /home/existing <username>: it creates the home folder based on an existing user's home folder. -m switch refers to create home directory, -k indicates where we want to copy the default files from (e.g. /etc/skel -> the skeleton folder of the home folder) so the command looks like this: useradd -c "test account" -u 1001 -g users -G info,sysadmin -d /home/test -s /bin/bash -m -k /etc/skel test getent User information: getent getent passwd <username> If we want to get information about infotech group: getent group infotech /etc/passwd file Location of user data: /etc/passwd Content of /etc/passwd is like: janos:x:1000:1000:Nagy János:/home/janos:/bin/bash Passwd file's entries are separated with comma, and the explanation of the fields are the following: Username. Encrypted password. User ID(uid). Group ID (gid). Full name and other information Home folder Selected shell /etc/shadow file Content of /etc/shadow file is like: smithj:Ep6mckrOLChF.:10063:0:99999:7::: As with the passwd file, each field in the shadow file is also separated with ":" colon characters, and are as follows Username, up to 8 characters. Case-sensitive, usually all lowercase. A direct match to the username in the /etc/passwd file. Password, 13 character encrypted. A blank entry (eg. ::) indicates a password is not required to log in (usually a bad idea), and a ``*'' entry (eg. :*:) indicates the account has been disabled. The number of days (since January 1, 1970) since the password was last changed. The number of days before password may be changed (0 indicates it may be changed at any time) The number of days after which password must be changed (99999 indicates user can keep his or her password unchanged for many, many years) The number of days to warn user of an expiring password (7 for a full week) The number of days after password expires that account is disabled The number of days since January 1, 1970 that an account has been disabled A reserved field for possible future use chage Changing user rules: chage We can regulate with changing it when will the password of a user expires. For example, output of chage -l joska will display the data for it: Last password change : Feb 28, 2019 Password expires : never Password inactive : never Account expires : never Minimum number of days between pasword change : 0 Maximum number of days between pasword change : 99999 Number of days of warning before password expires : 7 We want joska user's password to expire in 10 days: chage -M 10 joska When will we want joska's password to expire? chage -E "2019-12-31" joska Lockdown after inactive days We lock joska's password after 10 inactive days. chage -I 10 joska chage --inactive 10 joska User password User password: passwd Changing own password: # passwd With superuser privilege we can change anybody's password: # passwd username Storing password encrypted: /etc/shadow Generating password: # makepasswd chfn Modifying user data: chfn We need finger package for it. e.g.: # chfn -f János janos # chfn --full-name "Nagy János" janos Kapcsolók: -f, --full-name -o, --office -- office room number -p, --office-phone - office phone number -h, --home-phone - home phone number Deleting user Deleting user: deluser, userdel It's recommended to regulate it with help of /etc/deluser.conf, We should look up deluser.conf(5) manual. e.g.: deluser --remove-home deluser --remove-all-files deluser --backup deluser –backup-to Handling user groups Creating group: addgroup, groupadd Location of group data: /etc/group /etc/group file can be edited manually (text editor, mcedit, nano etc) by root. A group is created with every user's name (like in case of kathy user a kathy group is created). Adding to group: gpasswd -a kathy infotech We add kathy to infotech group Csoportból kivétel: gpasswd -d kathy infotech We delete kathy from infotech group Handling user groups (and user data) „usermod” command: Changing user accounts. Adding user mary to infotech group: usermod -a -G infotech mary (For -a the group name is appended, so the other group remains for that user. If we omit -a, then all the existing groups the user is assigned in gets deleted for that user. Usermod command's other switches: -u value user: it changes user ID (UID) -g group user: it changes user group (e.g. usermod -g infotech mari) -G group1,group2: it adds the user to the given groups (but without appending) usermod -G human,economy,sysadmin mary -L user: it locks the access of the user / bans the user (so you can't log in) usermod -L -e 1970-01-01 mary (expiration date can be older than the current date) (--lock) -e value: expire date (--expiredate) -U user: unlocks the ban from the user -d user: setting new home folder (--home) -s user: setting shell (--shell) id command: Requesting information about the user. group member: id id -nG User accounts and handling "default" User account settings In /etc/login.defs directory/file there can be set some properties for users. For example, where should the user emails be stored. MAIL_DIR /var/mail Logging failed logins into /var/log/faillog file: FAILLOG_ENAB yes Logging unknown usernames in case of failed logins: LOG_UNKFAIL_ENAB no Logging successful logins: LOG_OK_LOGINS no Controlling passwords. By default, when it's gonna expire, when the user can change it, what's the minimum length of the password, and when the warning should be: PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_MIN_LEN 5 PASS_WARN_AGE 7 User ID minimum and maximum ID's in case of useradd: UID_MIN 1000 UID_MAX 60000 Minimum and maximum number group IDs: GID_MIN 1000 GID_MAX 60000 Denying login after this number of fails: LOGIN_RETRIES 5 The length of lockdown after exceeding the number of unsuccessful logins: LOGIN_TIMEOUT 60 User defaults /etc/default folder contains it. E.g. /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes /etc/skel folder contains the base home directory's content.