linux--用户和组的管理

本文介绍了Linux系统中用户和组的管理,包括如何添加、修改和删除用户,设置用户密码,以及创建、管理基本组。详细讲解了相关命令如useradd、usermod、userdel、passwd、groupadd和gpasswd的使用,并提到了用户和组信息的存储位置。此外,还提及了一个自动创建用户的脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户的管理

添加用户

用户的基本信息存放在/etc/passwd
例如: root❌0:0:root:/root:/bin/bash
里面的字段分别为:用户名:密码占位符:UID:GID:描述信息:家目录:解释器
用户密码存放在/etc/shadow下
root:666SAyc777Q$DgGi7Pnln0or.Ds04oyL6Y.QnVlMgZDRHMKKICJhiUAHBy4lvziPAZoW0MJz81xYonskLozvzhvNa4H59ngSl1:17999:0:99999:7:::
字段为:用户名;密码加密字符串;上次修改密码的时间;密码最短使用天数;最长使用天数;提前7天提醒更换密码
命令:useradd [选项] 用户名
常用选项有:
-u 指定用户的id
-d 指定用户的家目录 用户目录默认在/home下
-s 指定登录的解释器
-G 指定附加组
1 // /sbin/nologin 是特殊的解释器 这个解释器下的用户不能登录系统

[root@client ~]# useradd -s /sbin/nologin  zhangsan 

2指定用户附加组

[root@client ~]# useradd -G tarena zhangsan 
[root@client ~]# id zhangsan
uid=1001(zhangsan) gid=1002(zhangsan) 组=1002(zhangsan),1001(tarena)

3指定用户uid

[root@client ~]# useradd -u 2222 lisi
[root@client ~]# id lisi
uid=2222(lisi) gid=2222(lisi) 组=2222(lisi)
修改用户属性

命令: usermod [选项] 用户名
修改用户跟创建用户除了一开始的I命令不同 其他的都是相同的 选项也是相同的选项
常用选项有:
-u 修改用户的id
-d 修改用户的家目录 用户目录默认在/home下
-s 修改登录的解释器
-G 添加附加组

删除用户

命令: userdel
选项 :-r
–r 选项可以删除用户的同时,删除用户的家目录 ,不加-r删除用户之后用户家目录还在

可以看到刚才创建的张三和李四 用户都被删除,但是李四没加-r 所以家目录还在,需要手动删除

[root@client ~]# userdel -r zhangsan 
[root@client ~]# userdel lisi 
[root@client ~]# ls /home/
lisi  nginx
设置用户密码

root用户可以直接指定其他用户的密码
命令 : passwd 用户名
密码是密文输入,不显示输入的密码,安全,专业

[root@client ~]# passwd zhangsan 
更改用户 zhangsan 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

非交互式修改密码,多用于脚本之中.

[root@client ~]# echo 123456 | passwd --stdin  zhangsan 
更改用户 zhangsan 的密码 。
passwd:所有的身份验证令牌已经成功更新。

基本组的管理

组账号信息存放在/etcgroup下
包含:组名:组的密码占位符:组GID :组成员

创建组

命令:groupadd [选项] 组名
选项: -g 数字 可以指定组的GID

[root@client ~]# groupadd  tarena
[root@client ~]# groupadd -g 1003  hehe
添加组成员

命令: gpasswd [选项] 用户 组
选项:
-a 添加
-d 删除

添加用户:

[root@client ~]# gpasswd -a zhangsan tarena
正在将用户“zhangsan”加入到“tarena”组中

删除用户:

[root@client ~]# gpasswd -d zhangsan tarena
正在将用户“zhangsan”从“tarena”组中删除

分享一个自动创建用户的脚本

read -p "请输入新用户名称:" name
if [ "$name" -z ] ; then                               #检测用户名为否为空
        echo "用户名为空请重新输入"
        exit 0
fi
useradd $name
read -p "请输入密码" passwd
if [ $passwd -z ] ; then              #检测密码是否为空
        echo "123" | passwd --stdin $name       #如果为空用123当做初始密码
fi
        echo "$passwd" | passwd --stdin $name
echo "新用户为" $name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值