Linux基于用户身份对资源访问进行控制
用户账号的分类
超级用户:root用户是Linux操作系统中默认的超级用户账号,对本主机拥有最高的权限,系统中超级用户是唯一的。
普通用户:由root用户或其他管理员用户创建,拥有的权限会受到限制,一般只在用户自己的宿主目录中拥有完整权限。
程序用户:在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统,仅用于维持系统或某个程序的正常运行,如bin、daemon、ftp、mail等。
添加用户
useradd
参数
选项 | 介绍 |
---|---|
-D | 改变新建用户的预设值 |
-c | 添加备注文字 |
-d | 新用户每次登陆时所使用的家目录 |
-e | 用户终止日期,日期的格式为YYYY-MM-DD |
-f | 用户过期几日后永久停权。当值为0时用户立即被停权,而值为-1时则关闭此功能,预设值为-1 |
-g | 指定用户对应的用户组 |
-G | 定义附加的用户组 |
-m | 用户目录不存在时则自动创建 |
-M | 不建立用户家目录,优先于/etc/login.defs文件设定 |
-n | 取消建立以用户名称为名的群组 |
-r | 建立系统帐号 |
-s | 登录的shell |
-u | 指定用户id |
默认的创建用户
useradd xxx
可以使用 passwd
给用户设置密码
设置用户默认的shell
useradd -s /bin/bash xxx
不让用户远程登录
useradd -s /sbin/nologin xxx
指定用户组
通常,创建新用户时,会创建与该用户同名的组,新用户被添加为此组的成员
useradd -g 已存在的组名 new_username
查看用户信息
id
用于显示当前登录用户的UID(用户标识符)和GID(组标识符)
id # 显示当前用户的
id fengfeng # 显示指定用户的
id root
uid=0(root) gid=0(root) groups=0(root)
相关用户密码
/etc/passwd 文件
在 Linux 系统中,每个用户都有一个对应的 /etc/passwd
文件中的记录行。这个文件对所有用户都是可读的,它记录了每个用户的一些基本属性信息。
字段名 | 描述 |
---|---|
用户名 | 用户账号的字符串,通常长度不超过 8 个字符,并且由大小写字母和/或数字组成。 |
密码 | 存放着加密后的用户密码字,但是由于安全隐患,现在多数 Linux 系统使用 shadow 技术将真正的加密后的用户密码字存放到 /etc/shadow 文件中。 |
用户标识号 | 一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。 |
组标识号 | 记录用户所属的用户组。它对应着 /etc/group 文件中的一条记录。 |
注释性描述 | 记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。 |
主目录 | 用户的起始工作目录,即用户在登录到系统之后所处的目录。 |
登录 Shell | 用户登录后启动的进程,也就是用户与 Linux 系统之间的接口。 |
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
passwd命令
用户修改用户密码
用户登录人密码
passwd
显示账户密码相关信息
passwd -S root
# root PS 1969-12-31 0 99999 7 -1 (Password set, SHA512 crypt.)
root用户修改普通用户密码
使用root可以修改普通用户密码且不需要知道原密码,不满足密码策略要求也可以修改成功,普通用户修改自己密码必须知道原密码,新密码必须满足密码策略规则要求。
passwd wuhs
删除指定用户密码
passwd -d wuhs
锁定用户
passwd -l wuhs
解锁用户
passwd -u wuhs
删除用户
userdel
userdel [-r] xxx
- -r 删除用户登入目录以及目录中所有文件。