linux学习总结用户管理
第三章用户管理
3.1 用户/组概览
Linux 系统是多用户、多任务的分时操作系统,系统上每一个进程都有一个特定的文件,每个文件都被一个特定的用户所拥有。如果需要使用系统资源,首先必须向系统超级用户申请成为普通用户,然后以普通用户的身份进入系统。超级用户可以对普通用户进行跟踪,并设置他们的访问权限,这样可以保证系统的安全。
3.1.1 用户标识:UID与GID
每个用户都有唯一的系统可识别的 UID,它类似于居民身份证编号
3.1.2用户/组相关文件
在Linux系统中,所有用户的用户名和密码都存放在/etc/passwd和/etc/shadow这两个文件中在/etcpasswd文件中,一行记录对应一个用户,每行记录又被冒号(:分隔为7个字段,依为用户名称、密码占位符、用户UID、主组 GID、注释性描述、用户主目录、用户的 Shell
在/etc/shadow 文件中,每行记录也由冒号分隔为 9个字段,依次为用户名称、加密后的密码最近改动密码时间、密码不可变更时间(99999为没有限制、密码重新变更时间、密码过期时间密码过期宽恕时间、用户失效时间、保留
3.1.3超级用户
root 用户可以拥有所有系统权限,而且 root 用户有权力覆盖文件系统上的所有普通权限。系统中大多数设备只能 root 控制、如安装或删除软件、管理系统文件和目录等
3.2管理用户/组
管理用户与用户组主要是创建、更改、删除等操作。
3.2.1创建用户/组
在 Linux 下创建一个用户时,若未指定任何组(主组或附加组),系统会默认给该用户创建一个和用户名相同的组作为用户的主组。如果将多个用户划入一个组,只需要对组设定权限即可,由此也能减少很多后台管理上的麻烦。
如果在使用useradd 命令时加入了错误的设置数据,或者要对一些信息进行详细的修改,除接在/etcpaswd与/cte/shadow文件中修改,也可以使用usermod 与 gpasswd 命令
一个用户可以属于很多组,现在创建一些用户组给予演示,创建组的命令为 groupadd
用户组的信息保存在/etc/group 文件中,上面创建的组在该文件的尾部,使用 tail 命令查看,所有新创建组并没有成员
GID 是从低到高排序的,一般情况下并不需要专门指定组的 GID,系统会自动依次增加数值。如果需要指定GID,添加“-g”参数或者“-gid”即可
3.2.2 删除用户/组
如果一个用户需要被删除,可以使用userdel 命令,但若想同时在/hme 目录与 mail spool 中删除该用户,则需要添加“”参数。若用户已不存在,可以使用“r-”手动删除
删除一个用户组可以使用 groupdel 命令,如果某个初始用户正在使用该用户组,则无法删除,此时需要修改该用户的GID或者直接删除该用户
3.2.3修改用户密码
任何用户都可以通过 passwd命令修改自己的密码。只有 root 用户可以修改其他用户的密码。普通用户修改密码需要提供原密码,对新密码要求也比较苛刻,root 用户修改普通用户的密码则不需要提供原密码。当新密码不足8位时,系统会给予警告
3.2.4安全用户
在创建用户时,通过“-s”参数指定用户的登录 Shell为/sbin/nologin,可以将其设置为安全用户。
在CentOS5与CentOS 6中,黑客可以通过多种方式将普通用户提权为超级用户。所以,在创建用户时,如果该用户没有必要登录系统,应该将此用户的登录 Shell 修改为/sbin/nologin,以消除安全隐患。
Shell是用户登录系统执行的第一个程序,它并不是周定的,可以根据需求在/etc/passwd文件中随意更改。
3.2.5配置文件
/etc/login.defs 与/etc/default/useradd 是命令useradd的配置文件,决定 useradd 创建用户默认的数,文件中的配置对root用户无效。
打开/etc/logindefs文件,第15行为邮件目录
第25~28行为密码相关配置
第71行为密码加密算法配置
3.2.6 su/sudo命令
su 命令可以进行身份切换,下面以普通用户登录系统,使用该命令进行切换。普通用户切换至root 用户需要密码、root 用户切换至普通用户则不需要密码
加入wheel组的普通用户可以使用 sudo 命令来执行系统相关操作,用户使用 sudo 时,必须先输入密码,之后有5分钟的有效时间,超过时限则必须重新输入密码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现