LINUX 常用命令(二)
B0.用户相关配置文件
用户信息文件: /etc/passwd
密码文件: /etc/shadow
用户组文件: /etc/group
用户组密码文件: /etc/gshadow
用户配置文件: /etc/login.defs
/etc/default/useradd
新用户信息文件: /etc/skel
登录信息: /etc/motd
****************************************************************************************
linux用户分为三种:
超级用户:(root UID=0)
普通用户: (UID 1000以上)
系统用户: (UID 1~999)
Linux系统中UID具有唯一性,只能通过UID来判断用户的身份!
1. 每个用户拥有一个UID,操作系统实际读取的是UID而非用户名!
2.每个用户有一个主组,属于一个或多个附加组,一个用户最多有31个属组;
3.每个组有一个GroupID;
4.每个程序有对应的进程,每个进程以一个用户身份运行,该用户对进程有资源控制权限;
修改用户的UID号来修改用户的类型,如果把root的UID号为1001,那么root就变成了普通用户,如果普通用户的UID改为0,那么它就变成了超级用户。
***************************************************************************************************************************************************************************************
系统用户特点:
***************************************************************************************************************************************************************************************
以root用户为例,查看密码文件shadow
********************************************************************************************************************************************************************************************************************************
B1. useradd 命令作用: 增加用户
B2. userdel 命令作用: 删除用户
命令格式: userdel 【选项】 用户名
常用选项:
-r 删除用户的同时,删除用户目录及目录下所有文件
B3. usermod 命令作用: 修改用户信息
新用户首次登陆必须更改密码
10天修改一次用户密码:
使用date计算账户过期日期
B4. groupadd 命令作用: 创建组
常用选项:
-g 指定创建组的gid
-r 创建系统组
B5. groupdel 命令作用:删除组
B6. id 命令作用: 显示当前登录用户信息
B7. whoami 命令作用: 查看当前登录用户
B8. who 命令作用:查看当前系统的用户登录情况
B9 chown 改变文件或文件夹的属主和属组
B10 chmod 设置文件或目录权限 注意权限变更的两种方式!
B11 umask 用来确认新建文件或目录的默认权限! 文件默认权限是666,目录默认权限是777
用默认权限减去umask就是文件或目录权限:
777-022=755 777-024=753
666-022=644 666-024=642
B11. 文件特殊权限(SUID\SGID\SBIT) ,具体命令如下:
chmod u+s /bin/cat
chmod g+s /tmp/apple
chmod o+s /Test
SUID 让命令或脚本临时具有属主权限
SGID :
1. 执行者有属组权限;
2.文件自动继承目录用户组:
Sticky:
用户仅能删除或修改自己的文件,无法删除其他人的文件,当然root除外!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通