Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账户,然后以这个账号的身份进入系统.
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护.
每个用户账号都拥有一个唯一的用户名和各自的口令.
用户在登录时键入正确的用户名和口令后,就能进入系统和自己的主目录.
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理。
- 用户组的管理。
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=<shell>
:指定要执行的shell
。
su
命令所有使用者都可以执行。
列如:su -c whoami newUser 使用su命令切换当前用户为newUser,并执行whoami,然后恢复原来的身份(root).