linux用户和用户组管理

目录

学习目标:

学习内容:

一、用户管理

1.创建用户: useradd

2.设置密码: passwd 

 3.检查用户是否存在: id

 4.删除用户: userdel

 5.修改用户信息,修改属性: usermod

6.查看用户详细信息:lchage

7.查看当前登录几个用户,或者打开几终端 :w

二、用组管理

1.新建组和查看组: groupadd 

2.删除组:groupdel

3. 修改用户所属的主组


学习目标:

对linux用户和用户组管理进行复习


学习内容:

用户和用户组的关系就三种情况:一对一,一对多,多对多。

用户和用户组属于多对多关系,

一、用户管理

1.创建用户: useradd

 useradd 用户名

useradd test1  #创建一个用户

2.设置密码: passwd 

passwd 用户名

passwd test1  #设置密码

#免交互修改密码,一般同时用来修改多个linux服务器密码
echo是打印的意思有结果输出给passwd命令修改test1用户的密码
echo 123456|passwd --stdin test1

 3.检查用户是否存在: id

id 用户名

#用户存在,系统的返回结果
[root@localhost ~]# id test1
uid=1000(test1) gid=1000(test1) 组=1000(test1)

#用户不存在,系统的返回结果
[root@localhost ~]# id test2
id: test2: no such user

 4.删除用户: userdel

userdel 用户名

#被删除的用户还在登录状态,是不能删除的
[root@localhost ~]# userdel test1
userdel: user test1 is currently used by process 2356
#被删除的用户,退出登录之后,可以正常删除
[root@localhost ~]# userdel test1

#linux删除用户之后,/home/目录下对应的用户文件夹还在,如果还想加回来这个用户,那么会提示家目录存
在,不会从样板目录(skel)中复制任何文件了,通过ls -a /etc/skel,可以看到skel目录下的内容了。
还提示邮箱文件已经存在,ls /var/spool/mail下面
#windows删除用户之后,c:\Users目录下的用户文件夹也还在
注意:删除之后的用户,再次创建出来,密码是需要重新设置的
[root@localhost ~]# userdel -r test1 # 删除用户,并删除用户相关目录

 5.修改用户信息,修改属性: usermod

注:通过指令-h(或者--help),一个-后面一般跟一个字母即可,两个-后面一般跟完整单词),可以查看命令的各种选项的意思

 usermod 指令 用户名

#锁定用户(和windows的禁用用户一个意思)
例子1:
[root@localhost ~]# usermod -L test1 #锁定的用户,下次就登录不上系统了。
[root@localhost ~]# usermod -U test1 #解锁用户
[root@localhost ~]# lchage -l test1 # 查看用户详细信息
帐号被锁。
至少: 0
至多: 99999
警告: 7
不活跃: 从不
最后一次改变: 2021年07月20日
密码过期: 从不
密码不活跃: 从不
帐号过期: 从不
#禁止用户登录(这个后面再说)
[root@localhost ~]# usermod -s /sbin/nologin test2
[root@localhost ~]# grep -w 'test2' /etc/passwd
test2:x:1001:1001::/home/test2:/sbin/nologin

6.查看用户详细信息:lchage

例子1:
[root@localhost ~]# lchage -l test1
帐号没被锁。
至少: 0
至多: 99999
警告: 7
不活跃: 从不
最后一次改变: 2021年07月20日
密码过期: 从不
密码不活跃: 从不
帐号过期: 从不

所有的用户信息存储在/etc/passwd文件中,每创建一个用户该文件就会多一行记录

root:x:0:0:root:/root:/bin/bash
# 下面的用户都是系统自带用户,不用管它
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin守夜人Jaden-吴老板
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd
daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin

# 下面这个是我们自己创建的用户
test1:x:1000:1000::/home/test1:/bin/bash
#passwd文件解释
root:x:0:0:root:/root:/bin/bash
test1:x:1000:1000::/home/test1:/bin/bash
test2:x:1001:1001::/home/test2:/sbin/nologin
test3:x:1002:1000::/home/test3:/sbin/nologin
haha:x:1004:1004:putong user:/home/haha:/bin/bash
第一列:用户名
第二列:x
第三列:uid # root用户的uid是0,我们自己创建的用户uid是1000及之后的数值。
第四列:gid
第五列:注释,一般为空
第六列:家目录的位置
第七列:使用shell的名称,默认使用/bin/bash

7.查看当前登录几个用户,或者打开几终端 :w

结果:下面表示2个终端登录了
12:15:42 up 21 min, 2 users, load average: 0.00, 0.01, 0.03
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 12:15 6.00s 0.00s 0.00s -bash
root pts/0 192.168.61.1 11:55 6.00s 0.02s 0.01s w
# tty1表示本地登录的、pts/0表示远程登录的

二、用组管理

1.新建组和查看组: groupadd 

groupadd 组名

例子:
[root@localhost tmp]# groupadd test
[root@localhost tmp]# cat /etc/group # 查看有哪些组

#指定组来创建用户,如果没有指定组,那么创建用户的时候,linux会自动创建一个与用户名同名的组。
例子: 组的英文是group
[root@localhost tmp]# useradd -g test1 test3 #-g 是指定主组
[root@localhost tmp]# id test3
uid=1002(test3) gid=1000(test1) 组=1000(test1)
gid表示用户的属组的主组
组=表示用户的属组,用户可以属于多个组,一个主组,多个其他组。

2.删除组:groupdel

groupdel 组名

[root@localhost tmp]# groupdel test #如果组内有用户,会报错,需要先删除主组属于这个组的所
有用户(userdel -r 用户名),或者将用户移到其他的组之后在删除组。

# 修改组名
groupmod -n kun kkk # 将kkk组名改为kun

3. 修改用户所属的主组

usermod 指令 组名

# 修改用户所属的主组
usermod -g 组名
例子:
[root@localhost tmp]# usermod -g test kun #将kun用户的主组改为test
[root@localhost tmp]# groupdel kun # 就可以将kun组删除了。
# 将用户添加到多个其他组中
usermod -G
[root@localhost tmp]# usermod -G test kun# 将kun用户也添加到test组

学习笔记如有不对的地方请大家批评指正,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值