Linux基础命令—用户管理

基础知识

1.uid的一个范围的分类
0       超级用户
1~200   系统用户(由系统默认创建)
201-999 系统用户(由用户手工创建)
        系统用户的作用: linux操作系统中的程序 需要一个特定的系统用户进行运行
1000+   普通用

2.用户信息文件 /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码x表示为密码占位符:uid:gid:备注信息:用户家目录:用户第一次登录所执行的命令

3.用户密码信息文件 /etc/shadow
root:*:*:0:99999:7:*:*:*
用户名称:密码(密文):最近一次修改密码的时间从1970年起直到今天:最小修改密码的时间第一次修改密码后需要经过天才能在修改密码0任何时候都可以修改密码:最大修改密码的时间99999密码永远不会过期:过期提醒时间:账户宽限期时间:账户密码过期时间:未做任何定义留给Linux日后发展使用

4.组配置文件 /etc/group
root:x:0:
组名称:组密码:Gid:组成员

5.组密码配置文件 /etc/gshadow
nginx:!::
组名称:密码:组管理员:组成员

6.用户与组之间的关系
一对一:一个用户对应一个组
一对多:一个用户对应多个组
多对一:多个用户对应一个组
多对多:多个用户对应多个组

7.基本组和附加组概念
基本组: 实际上就是创建用户后的默认组
附加组: 当基本组无法满足权限的授予,可以用户添加至附加组中成为组成员,一个用户可以添加至多个组中

8.基本组与附加组之间的区别
基本组:当有一个用户是其对应的基本组那个该组无法删除 先删除用户就可以删除
附加组:可以随意删除组

用户管理

用户创建
useradd [选项] [用户名]
选项:
 -u #指定用户uid
 -g #指定用户组或者gid
 -G #指定附加组 将用户添加至其他组内成为其他组的组成员
 -s #指定登录shell
 -c #指定备注信息
 -d #指定用户家目录
 -r #创建系统用户 uid 为201-999 默认没有家目录 随机生成uid 和M有区别
 -M #不创建家目录

创建一个test1用户并且指定用户的UID为8888
# useradd -u 8888 test1
创建一个test2用户并且指定该用户基本组为test2
# useradd -g test2 test2
将test3用户加入至devops组中成为组成员
# useradd -G devops test3
将不允许test4用户登录到操作系统
# useradd -s /sbin/nologin test4
将不允许test4用户登录到操作系统并且其对应的备注信息为禁止登录该用户
# useradd -s /sbin/nologin -c '禁止登录用户' test4
创建test7用户指定用户家目录为/abc
# useradd -d /abc test7
创建系统用户test5 1.无需登录 2.无需家目录
# useradd -rs /sbin/nologin test5
创建系统用户test6 并且指定用户的uid为666 gid666
# 1.groupadd -g 666 test6 2.useradd -u 666  -g 666 -s /sbin/nologin -M test6
用户修改
usermod [选项] [用户名]
选项:
 -u #修改用户uid
 -g #修改用户组或者gid
 -G #修改附加组
 -s #修改登录shell
 -c #修改备注信息
 -d #修改用户家目录
 -m #移动家目录
 -L #锁定用户
 -U #解锁用户
 
修改test用户的uid为1888
# usermod -u 1888 test	
修改用户组,将用户组改为nrjtest
# usermod -g nrjtest nrj
将test用户添加到devops,dev
# usermod -G devops,dev test
修改用户登录shell不允许登录
# usermod -s /sbin/nologin test
将test用户备注信息修改为允许登录
# usermod -c '允许登录' test
移动家目录,将test用户的家目录移动至/opt目录下
# 1.usermod -d /opt/test test 2.mv /opt/test /opt (修改家目录,但是还需要手动mv)
移动家目录,将test用户的家目录移动至/opt目录下
# usermod -md /opt/test test
锁定test3用户
# usermod -L test3
解锁test3用户
# usermod -U test3
用户删除
userdel [选项] [用户名]
选项:
 -r #删除用户家目录,不加该选项只删除用户,家目录并不删除
删除test用户及家目录
# userdel -r test

组管理

增加组
groupadd [选项] [gid] [组名]
选项:
 -g #指定gid
增加一个dev组
# groupadd dev
增加一个gid为666的组
# groupadd -g 666 test6
删除组
groupdel [组名]
删除test6这个组
# groupdel test6
修改组
groupmod [选项] [gid] [组名]
选项:
 -g #修改gid
将test6的gid改成777
# groupmod -g 777 test6

扩展

将用户批量添加到一个附加组
方法一
groupadd devops
useradd nrj1
useradd nrj2
useradd nrj3
useradd -G devops nrj1
useradd -G devops nrj2
useradd -G devops nrj3
方法二
groupadd devops
useradd nrj1
useradd nrj2
useradd nrj3
usermod -G devops nrj1
usermod -G devops nrj2
usermod -G devops nrj3
方法三
gpasswd
  -a 将用户添加到组中       
  -d 将用户从组中移除       
  -M 批量添加用户到组中
gpasswd -M nrj1,nrj2,nrj3 devops
ps:再次使用会将之前批量添加的去掉

锁定用户的三种方法
方法一
usermod -s /sbin/nologin test #锁定
usermod -s /bin/login test #解锁
方法二
usermod -L test #锁定
usermod -U test #解锁
方法三
chage -E ‘2088-12-27’ test #锁定
chage -E ‘2023-12-27’ test #解锁

免交互式修改密码
echo 密码 | passwd --stdin 用户名

使用当前用户以其他用户身份执行命令
su - 用户名 -c "命令"

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值