Linux 用户及组相关命令
与用户相关的配置文件:/etc/passwd: #用户的配置文件, 保存用户账户的基本信息
/etc/shadow #用户影子口令文件
一、用户帐号文件——passwd
1.“/etc/passwd”文件是UNIX安全的关键文件之一。该文件用于用户登录时效验用户的登录名、加密的口令数据项、用户ID(UID)、默认的用户组ID(GID)、用户信息、用户主目录及登录后使用的shell。
2.“/etc/passwd”文件的每一行保存一个用户的资料,而用户数据按域以冒号“ :”分隔。格式如下
username:password:uid:gid:userinfo:home:shell
下面是一个实际用户的例子。
user1:x:500:500: user1:/home/user1:/bin/bash
那么该用户的基本信息如下所示。
1.登录名:user1。
2.加密的口令表示:x。
3.UID:500。
4.GID:500。
5.用户信息:user1.
6.用户主目录:“/home/user1”。
7.登录后执行的shell:“/bin/bash”。
//任何拥有0值UID的用户都具有root用户访问权限。
知识扩展
与用户、组账户信息相关的文件
存放用户信息:
/etc/passwd /etc/shadow
存放组信息:
/etc/group /etc/gshadow
useradd 添加用户
当使用useradd命令不加参数选项,后面直接跟所添加的用户名时,系统首先会读取配置文件/etc/login.defs和/etc/default/useradd文件中所配置的信息建立用户的家目录,并复制/etc/skel中的所有文件(包括隐藏的环境配置文件)到新用户的家目录中。
-u: 指定 UID 标记号。这个值是唯一的,除非用-o选项。数字不可为负值
-d: 指定宿主目录,缺省为 /home/用户名
-e: 指定帐号失效时间
-f: 账户过期几天后永久停权。
-g: 指定所属的基本组(组名或GID)
-G: 指定所属的附加组(组名或GID)
-m: 用户目录如不存在则自动建立。
-M: 不为用户建立并初始化宿主目录。优先于/etc/login.defs文件的设定。
-n: 默认情况下,用户的用户组和用户的名称会相同,如果命令加了-n参数,就不会生成和用户同名的用户组
-r: 用来建立系统账户。系统账户的UID会比定义在/etc/login.defs的UID_MIN来的小。
-s: 指定用户的登录Shell
passwd 设置密码
普通用户和超级用户都可以运行passwd命令,但普通用户只能更改自身的用户密码。超级用户则可以设置或修改所有用户的密码
当直接passwd命令后面不接任何参数或用户名时,则表示修改当前登陆用户的密码
-d 清空密码,仅root能操作
-f 强制操作,仅root能操作
-k 保留即将过期的用户在期满后仍能使用
-l 锁定用户账户;锁定用户无权更改其密码,仅root能操作 -S 查看用户账户的状态 -u 解锁用户账户;仅root能操作 --stdin 从标准输入取密码
d:查看用户的帐号属性信息
-u:只看UID -g:只看gid -G:只看GID -n:看名字,与其他选项连用
userdel 删除账户
-r 连同主目录一起删除
-f:强制删除用户,即使用户当前已登录
添加组账号groupadd命令
格式:groupadd [-g GID] 组名
选项:
-g gid:指定组ID号。 -o:允许组ID号,不必惟一。 -r:添加系统组,低于499系统账号。
删除用户组groupdel命令
格式:groupdel 组名 删除的目标组不能是用户的基本组
gpasswd命令 管理组
语法:
格式:gpasswd [选项] 组名
选项:
-A 定义组管理员列表 -a 添加组成员,每次只能加一个 -d 删除组成员,每次只能删一个 -M 定义组成员列表,可设置多个,用“,”分开——定义的组成员必须是已存在用户的 -r 移除密码
查看用户的组信息
groups 命令
格式:groups [用户名]
gpasswd 添加或删除组成员
gpaswd 选项 组名 -a 添加组成员 -d 删除组成员
groupmod:更改群组和名称
-g GID -n GRPNAME
chmod 修改文件权限
u g o a{+ - =} 文件
chown 修改文件所有者 (注意切换到root用户)
chown 用户名 文件
chgrp 修改文件所属组
chgrp 组名 文件
修改用户账号的属性
语法:
格式:usermod [选项] 组名 用户名 把某个用户添加到某个组里面
usermod -l newuser1 newuser 修改newuser的用户名为newuser1
常用命令选项:
c:指定注释信息 -d -m:-d一般跟-m使用,既指定新的家目录位置,又移动其此前的文件至新的家目录当中 -e:指定账号失效时间 -g:指定所属的基本组(组名或GID) -a -G GID:不使用-a选项,会覆盖此前的附加组; -l:更改用户账号的登陆名称 -L:锁定用户账号 -s:指定用户登录Shell -u:指定UID标志号 -U:解锁用户账号
修改用户密码有效期:chage
语法:
格式:chage [选项] 用户名
常用命令选项:
-d:将最近一次密码设置时间设置为"最近时间"
-E:指定账号过期时间,YYYY-MM-DD -I:指定当密码失效后多少天锁定账号; -l:列出密码有效期信息 -m:指定密码的最小天数 -M:指定密码的最大天数
-W:将过期警告天数设置为"警告天数"
posted on 2020-11-28 13:37 Sunshine0104 阅读(152) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构