1.7 用户和用户组管理
1.7.1 用户管理
1-1 创建用户
#创建用户
useradd
#创建一个用户
例子1:useradd test1
#创建用户
useradd
#创建一个用户
例子1:useradd dilnur
1-2 设置密码
passwd
例子1:passwd dilnur
#用root用户给普通用户修改密码
#用root用户给普通用户修改密码
[root@localhost ~]# passwd dilnur
更改用户 dilnur 的密码 。
新的 密码:123456
无效的密码: 密码是一个回文
重新输入新的 密码:123456
passwd:所有的身份验证令牌已经成功更新。
#普通用户自己修改密码
su dilnur #su 用户名可以切换到普通用户
但是密码复杂度有要求,
# 一般linux的密码是有复杂度要求的,比如下面这种密码就可以通过:大小写组合、数字、特殊字符组合起
例子3:
#免交互修改密码,这样不需要输入两次密码确认。echo是打印的意思,有结果输出给passwd命令来修改dilnur用户的密码
echo 123456|passwd --stdin dilnur
# 这种一般同时改多个Linux服务器系统的密码时比较方便。
1-3 检查用户是否存在
id aini
#检查用户是否存在
id
例子1:
#用户存在,系统的返回结果
[root@localhost ~]# id aini
uid=1000(aini) gid=1000(aini) 组=1000(aini)
#用户不存在,系统的返回结果
[root@localhost ~]# id test2
id: test2: no such user
用户存在的情况
用户不存在的情况
1-4 查看用户列表
cat /etc/passwd
能看到自己创建的用户 aini dilnur;除此之外还有很多系统用户
1-5 删除用户
userdel dilnur
#被删除的用户还在登录状态,是不能删除的
我切换到了dilnur 用户,删dilnur用户是删不掉的
#被删除的用户,退出登录之后,可以正常删除
su root #切换到root用户
userdel aini #删除aini用户
'''
linux删除用户之后,/home/目录下对应的用户文件夹还在,如果还想加回来这个用户,那么会提示家目录存在,不会从样板目录(skel)中复制任何文件了,通过ls -a /etc/skel,可以看到skel目录下的内容了。
还提示邮箱文件已经存在,ls /var/spool/mail下面
windows删除用户之后,c:\Users目录下的用户文件夹也还在
注意:删除之后的用户,再次创建出来,密码是需要重新设置的
'''
userdel -r dilnur # 删除用户,并删除用户相关目录
1-6 修改用户信息,修改属性
#修改用户信息,修改属性
usermod # modify 它有很多选项(参数),-L是锁定用户,
通过命令 -h(或者--help,一个-后面一般跟一个字母即可,两个-后面一般跟完整单词),可以查看命令的各种选项的意思,比如usermod -h
#锁定用户(和windows的禁用用户一个意思)
[root@localhost ~]# usermod -L dilnur #被锁定的用户,下次就登录不上系统了。
[root@localhost ~]# usermod -U dilnur #解锁用户
[root@localhost ~]# lchage -l dilnur # 查看用户详细信息
1-7 查看用户详细信息
lchage
lchage -l dilnur
所有的用户信息存储在/etc/passwd文件中,每创建一个用户该文件就会多一行记录
## 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 # 用户组id
第五列:注释,一般为空
第六列:家目录的位置
第七列:使用shell的名称,默认使用/bin/bash
## 有的用户密码信息存储/etc/shadow,设置了密码的长度比较长。密码是两层加密的,基本无法破解。但是如果黑客权限比较高,它可以用知道密码的shadow文件来替换这个文件,或者修改这个文件下某个用户的密码,只有root用户才有权力修改这个文件。
1-7 登录主机的两种方式:
## 本地登录:直接在主机上输入用户名和密码登录
## 远程登录:ssh远程登录## windows默认只能同时一个用户登录,登录另外一个用户,前一个用户就会自动下线。
## linux支持多个用户在多个地方同时登录一个系统,每个用户都有一个终端来控制操作系统。终端的意思就是连接窗口。
# 查看当前登录了几个用户,或者打开了几个终端
w
# 显示两个终端在登录,tty1表示本地登录的、pts/0表示远程登录的
1.7.2 用户组管理
2-1 新建组和查看组:
## 新建组和查看组:
groupadd 组名
例子:
[root@localhost tmp]# groupadd group1
[root@localhost tmp]# cat /etc/group # 查看有哪些组
groupadd group1 # 创建一个group1组
cat /etc/group # 查看有哪些组2-
2-2 指定组来创建用户
#指定组来创建用户,如果没有指定组,那么创建用户的时候,linux会自动创建一个与用户名同名的组。
例子: 组的英文是group
[root@localhost tmp]# useradd -g group1 test3 #-g 是指定主组
[root@localhost tmp]# id test3
uid=1002(test3) gid=1002(group1) 组=1002(group1)
# gid表示用户的属组的主组
# 组=表示用户的属组,用户可以属于多个组,一个主组,多个其他组。
useradd -g test1 test3 #-g 是指定主组
2-3 删除组
# 删除组
groupdel 组名
例子:
[root@localhost tmp]# groupdel group1
#如果组内有用户,会报错,需要先删除主组属于这个组的所有用户(userdel -r 用户名),或者将用户移到其他的组之后在删除组。
groupdel group1
组内有用户所以会报错
userdel -r test3
groupdel group1
这样就成功了
2-4 修改组名
# 修改组名
# groupmod -n group2 group1 # 将group1组名改为group2
groupmod -n group2 group1
因为上一步我们删除了group1 ,所以先创建group1,再改名字
2-4 修改用户所属的主组
# 修改用户所属的主组
usermod -g 组名
例子:
[root@localhost tmp]# usermod -g group2 dilnur #将dilnur用户的主组改为group2
[root@localhost tmp]# groupdel dilnur # 就可以将dilnur组删除了。
# 将用户添加到多个其他组中
usermod -G
[root@localhost tmp]# usermod -G test aini # 将aini用户也添加到test组
usermod -g group2 dilnur #将dilnur用户的主组改为group2
可以看出来已经发生了变化
groupdel dilnur # 就可以将dilnur组删除了。(注意:创建用户的时候默认创建跟用户名同名的组)
# 将用户添加到多个其他组中
usermod -G
usermod -G test aini
创建 用户aini
创建组test
Linux Day-04学习链接:
【linux系统学习教程 Day04】网络安全之Linux系统学习教程,权限管理,权限修改,权限值,修改文件所属...-CSDN博客文章浏览阅读3次。【linux系统学习教程 Day04】网络安全之Linux系统学习教程,权限管理,权限修改,权限值,修改文件所属...https://blog.csdn.net/m0_67844671/article/details/139016841?spm=1001.2014.3001.5501