Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账户,然后以这个账号的身份进入系统.
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护.
每个用户账号都拥有一个唯一的用户名和各自的口令.
用户在登录时键入正确的用户名和口令后,就能进入系统和自己的主目录.
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理。
- 用户组的管理。
Linux中使用useradd命令来创建一个新用户
useradd 选项 用户名
参数说明:
-
选项:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
-
用户名:指定新的账号的登录名
列如:useradd -m newUser 新创建一个用户newUser,并自动创建其登录目录
Linux中使用userdel命令来删除一个已经存在的用户。
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
列如:userdel -r oldUser 删除系统已经存在的用户oldUser,并自动删除其关联的登录目录
使用passwd命令修改用户密码命令格式:passwd [命令参数] 参数
常见命令参数:
- -d 删除密码;
- -l 停止账号使用;
- -S 显示密码信息。
passwd必须以root权限才能执行,如果是普通用户想执行passwd时,需要在命令前加sudo命令来提升权限为root权限。
使用chpasswd命令修改用户密码chpasswd命令通常是用于批量修改用户密码,从标准输入批量读取成对的用户名和密码,其中输入的用户名和密码的格式为 用户名:密码
命令格式:chpasswd [命令参数] 参数
常见命令参数
- -e:输入的密码是加密后的密文;
- -h:显示帮助信息并退出。
例如要批量更新用户密码,将用户名和密码写入到一个文件中,格式如下所示:
然后使用<输入重定向符把batch.txt文件中的用户名和密码执行密码的更改
使用login命令登录login命令是让用户登录系统,可以通过它的功能随时更换登入身份,当/etc目录里含名称为nologin的文件时,系统只允许root帐号登入系统,其他用户一律不准登入。
当使用login命令登录系统后,可以使用logout命令或者exit命令来退出当前用户登录,返回到登录前的用户状态
命令格式:login [命令参数] 参数
参数为登录的用户名,可以不输入登录的用户名,直接输入login命令后回车,然后根据提示再输入用户名和密码。
常见命令参数
- -p:告诉login指令不销毁环境变量;
- -h:指定远程服务器的主机名。
login必须以root权限才能执行,如果是普通用户执行时,需要在命令前加sudo命令来提升权限为root权限。
使用su命令切换用户身份su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户账户的密码,exit命令可以退出当前身份,返回原有的用户身份.
命令格式:su [命令参数] 参数
参数为登录的用户名,如果没有参数,则默认切换为root用户。
常见命令参数
- -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份;
- -l或--login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量;
- -m,-p或--preserve-environment:变更身份时,不要变更环境变量;
- -s
或--shell= :指定要执行的shell。
su命令所有使用者都可以执行。
列如:su -c whoami newUser 使用su命令切换当前用户为newUser,并执行whoami,然后恢复原来的身份(root).



