Linux操作系统是多用户多任务的操作系统,允许多个用户同时登录到系统,使用系统资源。用户账户是用户的身份标识。系统依据账户来区分属于每个用户的文件、进程、任务,并给每个用户提供特定的工作环境,使每个用户都能各自不受干扰地独立工作。
Linux系统下的用户账户分为两种:
- 普通用户账户:在系统中只能进行普通工作,只能访问他们拥有的或者有权限执行的文件。
- 超级用户账户(root):也叫管理员账户,它的任务是对普通用户和整个系统进行管理。超级用户账户对系统具有绝对的控制权,能够对系统进行一切操作。
概 念 | 描 述 |
用户名 | 用来标识用户的名称,可以是字母、数字组成的字符串,区分大小写 |
密码 | 用于验证用户身份的特殊验证码 |
用户标识(UID) | 用来表示用户的数字标识符 |
用户主目录 | 用户的私人目录,也是用户登录系统后默认所在的目录 |
登录shell | 用户登录后默认使用的shell程序,默认为/bin/bash |
组群 | 具有相同属性的用户属于同一个组群 |
组群标识(GID) | 用来表示组群的数字标识符 |
新建用户 语法:useradd [选项] <username>
选 项 | 说 明 |
| 指定用户的主目录 |
| 禁用账号的日期,格式为YYYY-MM-DD |
| 设置账户过期多少天后用户账户被禁用。如果为0,账户过期后将立即被禁用;如果为-1,账户过期后,将不被禁用 |
| 用户所属主组群的组群名称或者GID |
| 用户所属的附属组群列表,多个组群之间用逗号分隔 |
| 不要创建用户主目录 |
| 不要为用户创建用户私人组群 |
| 加密的口令,无法直接登录 |
| 指定用户的登录shell,默认为/bin/bash |
| 指定用户的UID,它必须是唯一的,且大于499 |
设置口令
指定和修改用户账户口令的命令是passwd
。超级用户可以为自己和其他用户设置口令,而普通用户只能为自己设置口令。语法:passwd [选项] [username]
选 项 | 说 明 |
| 锁定(停用)用户账户 |
| 口令解锁 |
| 将用户口令设置为空,这与未设置口令的账户不同。未设置口令的账户无法登录系统,而口令为空的账户可以 |
需要注意的是,普通用户修改口令时,passwd命令会首先询问原来的口令,只有验证通过才可以修改。而root用户为用户指定口令时,不需要知道原来的口令。
删除用户账户 语法:userdel [-r] 用户名 ,注意如果加-r
选项,则在删除用户账户的同时,还将用户主目录以及其下的所有文件和目录全部删除掉。
查看用户信息:/etc/passwd
删除用户: userdel 用户名
1. 创建用户组:groupadd 用户组名称
2. 删除用户组:groupdel 用户组名称
3. 添加用户到用户组: gpasswd -a 用户名 用户组
4. 移除用户出用户组: gpasswd -d 用户名 用户组
选 项 | 说 明 |
| 把用户加入组 |
| 把用户从组中删除 |
| 取消组的密码 |
| 给组指派管理员 |
su命令
su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从root管理员切换至普通用户:当从root管理员切换到普通用户时是不需要密码验证的,而从普通用户切换成root管理员就需要进行密码验证。语法:切换用户:su [-] 用户名
sudo 命令
sudo命名用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务,这样既可保证普通用户能够完成特定的工作,也可以避免泄露root管理员密码。我们要做的就是合理配置sudo服务,以便兼顾系统的安全性和用户的便捷性。语法:sudo [参数] 命令名称
参数 | 作用 |
| 列出当前用户可执行的命令 |
| 指定用户身份执行命令 |
| 清空密码的有效时间,下次执行sudo时需要再次进行密码验证 |
| 在后台执行指定的命令 |
| 更改询问密码的提示框 |
sudo命令默认验证密码后5分钟内无须再次验证。
除了使用命令也可以使用visudo命令配置sudo命令的配置文件,在配置文件中,按照如下的格式进行配置,大概在93行。只有root管理员才可以使用visudo命令编辑sudo服务的配置文件。
谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表
作为一名普通用户,是肯定不能用 visudo
命令的,但是只需要在想执行的命令前面加上 sudo
命令就可以了。
数据21102 冉波平