Linux04
在Linux课程中的第三章,我学习了用户管理。Linux系统是多用户、多任务的分时操作系统,系统上每一个进程都有一个特定的文件,每个文件都被一个特定的用户所拥有。如果需要使用系统资源,首先必须向系统超级用户申请成为普通用户,然后以普通用户的身份进入系统。超级用户可以对普通用户进行跟踪,并设置他们的访问权限,这样可以保证系统的安全。每个用户都属于一个用户组或者多个组,系统可以对一个用户组中的所有用户进行集中管理。组与组的控制权限是不同的,系统根据不同的需求,把用户分别放在不同的组中。
因为Linux系统并不能识别用户名信息,所以每个用户都有唯一的系统可识别的UID,它类似于居民身份证编号。id命令可以查看当前用户登录信息,UID为用户的ID,GID为用户所属组的ID,groups为用户属于的所有组的ID。使用ll命令查看文件的所有者。每个进程是以某个用户的身份运行的,使用
ps aux | less命令查看进程。在Linux系统中,所有用户的用户名和密码都存放在/etc/passwd和/etc/shadow这两个文件中。root用户(超级用户)拥有所有系统权限,系统中大多数设备只能由root控制,如安装或删除软件、管理系统文件和目录等。
1.创建用户/组:useradd命令用来创建用户,如创建用户cjx01【useradd cjx01】。使用grep命令过滤出用户信息【grep “cjx01” /etc/passwd /etc/shadow /etc/group】
groupadd命令用来创建组,如创建组hr【groupadd hr】。添加-G参数可指定已存在的附加组,如创建用户cjx在组hr【useradd cjx -G hr】,查看用户cjx登录信息【id cjx】。
一个用户可以属于很多组,用户组的信息保存在/etc/group文件中,使用tail命令查看【tail /etc/group】,GID从低到高排序,系统会自动依次增加数值。如需指定GID,添加-g参数或-gid,如创建一个GID为2000的组【groupadd net01 -g 2000】
2.删除用户/组:userdel命令删除用户,如删除用户user01【userdel user01】。若想同时在/home目录与mail spool中删除该用户,需添加-r参数,如删除用户user02【userdel -r user02】。若用户已不存在,可以使用rm-rf手动删除。
groupdel命令删除用户组,如删除用户组hr【groupdel hr】。如果某个初始用户正在使用该用户组,则无法删除,此时需要修改该用户的GID或者直接删除该用户。
3.修改用户密码:passwd命令修改密码(任何用户都可以)。只有root用户可以修改其他用户的密码。普通用户修改密码需要提供原密码。如修改用户cjx的密码【passwd cjx】,【su-cjx】为切换到普通用户cjx。
4.安全用户:在创建用户时,通过-s参数指定用户的登录Shell为/sbin/nologin,可以将其设置为安全用户,如创建一个普通用户user01,指定登录Shell为/sbin/nologin【useradd user01 -s /sbin/nologin】。
5.配置文件:/etc/login.defs与/etc/default/useradd是命令user的配置文件,决定useradd创建用户默认的参数,文件中的配置对root用户无效。
6.su/sudo命令:su命令可以进行身份切换,当用普通用户登录系统,使用该命令进行切换【su -】(普通用户切换至root用户需要密码,root用户切换至普通用户则不需要密码)。
加入wheel组的普通用户可以使用sudo命令来执行系统相关操作,用户使用sudo时,必须先输入密码,之后有5分钟的有效时间,超过时限则必须重新输入密码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!