小白入门Liunx之用户和组的管理

Linux 用户管理和组的管理

在这里插入图片描述
一、Linux下用户管理
Linux下一切皆文件,所以用户管理的是对相应的文件进行管理
㈠用户的分类:
1、超级用户
    超级用户,也叫管理员,root。该用户(root)具有所有权限,UID=0 并且绝对只能是0
2、系统用户
    系统用户,也叫程序用户。一般都是由程序创建,用于程序或者服务运行时候的身份。 默认不允许登录系统。1<=UID<=499 比如后面要学的web服务的管理用户apache,文件共享ftp服务的管理用户ftp等 注意:Centos7/RHEL8中,系统用户UID范围:1<=UID<=999
3、普通用户
    普通用户,一般都是由管理员创建,用于对系统进行有限的管理维护操作。 默认可以登录系统。500<=UID<=60000 注意:Centos7/RHEL8中,普通用户UID范围:1000<=UID<=60000
特别说明:
1. 用户指的是操作系统上管理系统或服务的人,是人,就有相关的属性信息
2. 用户的属性信息包括但不限于,如:家目录、唯一身份标识(UID)、所属组(GID)等
3. 今天我们讨论的用户指的是普通用户,即由管理员创建的用户


㈡用户的基本管理:

1.创建用户(useradd)

用法:
useradd [选项] 用户名

>  常用选项:
>  -u 指定用户uid,唯一标识,必须唯一 
>  -g 指定用户的默认组(主组) 
>  -G 指定用户附加组(一个用户可以加入多个组,但是默认组只有一个)
>  -d 指定用户家目录(每个用户都有一个自己的家,并且默认在/home/xxx) 
>  -s 指定用户默认shell

练习:

[root@localhost ~]# useradd student
[root@localhost ~]# id student
uid=1008(student) gid=1008(student) 组=1008(student)
[root@localhost ~]# su student
[student@localhost root]$ ls
1.sh  模板  图片  下载  桌面             ddd                   sh    test2
公共  视频  文档  音乐  anaconda-ks.cfg  initial-setup-ks.cfg  test  top.txt

2.用户密码设置(passwd)

用法:
passwd 用户名 表示给指定用户修改密码
passwd 直接回车 表示给当前用户修改密码

echo 123|passwd --stdin stu2   (使用这种方法是没有交互的,不用交互可以直接设置成功,一般用于脚本中。)

练习:

[root@localhost ~]# passwd student
更改用户 student 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

#(---------切换身份试试------)
[root@localhost ~]# su student
[student@localhost root]$ passwd
更改用户 student 的密码 。
Current password: 
Current Password: 
passwd: 鉴定令牌操作错误         (密码必须为中级规范以上)
[student@localhost root]$ passwd
更改用户 student 的密码 。
Current password: 
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[student@localhost root]$ exit
exit

#(---------切换root身份------)
[root@localhost ~]# echo 123|passwd --stdin student
更改用户 student 的密码 。
passwd:所有的身份验证令牌已经成功更新。

3.修改用户信息(usermod)

用法:
usermod [选项] 用户名

>  常用选项:
>  -u 指定用户uid,唯一标识,必须唯一 
>  -g 指定用户的默认组(主组) 
>  -G 指定用户附加组(一个用户可以加入多个组,但是默认组只有一个) 
>  -d 指定用户家目录(每个用户都有一个自己的家,并且默认在/home/xxx) 
>  -s 指定用户默认shell 
>  -m 移动用户家目录,和-d一起使用

练习:

[root@localhost ~]# id student
uid=1008(student) gid=1008(student) 组=1008(student)

#(---------修改位置------)
[root@localhost ~]# usermod -u 1100 student
[root@localhost ~]# tail -5 /etc/passwd
user05:x:1007:1007::/home/user05:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
nginx:x:976:899:Nginx web server:/var/lib/nginx:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/sbin/nologin
student:x:1100:1008::/home/student:/bin/bash

4.删除用户(userdel)

用法:
userdel [选项] 用户名

>  常用选项:
>  -r 删除用户并且移除其家目录和邮箱 
>  -f 强制删除正在登录的用户

练习:

[root@localhost ~]# userdel -r student
[root@localhost ~]# id student
id: “student”:无此用户           (无此用户就是被删除了~)

二、Linux下组管理
㈠ 组和用户的关系
核心:组的目的是为了方便管理用户
用户是操作系统上管理维护系统或服务的人 组是用户的一个属性信息 任何一个用户默认都会有一个主组(默认组) 一个用户除了主组也可以有多个其他组(附加组)

一问:用户的主组和附加组到底有啥关系呢?
答:用户的主组和附加组半毛钱关系都木有
二问:那要这个主组或者附加组有啥用呢?
答:肯定是有用的,组的目的是方便管理用户,用户的目的是管理操作文件,文件就有权限这个属性。


㈡ 组的管理
1.创建组(groupadd)

用法:
groupadd [选项] 组名

>  常用选项:
>  -g 指定组的GID(编号),默认唯一

练习:

[root@localhost ~]# groupadd admin6
[root@localhost ~]# tail -5 /etc/group
user05:x:1007:
apache:x:48:
nginx:x:899:
mysql:x:27:
admin6:x:1008:

[root@localhost ~]# groupadd -g 1111 stsadmin
[root@localhost ~]# tail -5 /etc/group
apache:x:48:
nginx:x:899:
mysql:x:27:
admin6:x:1008:
stsadmin:x:1111:

2.删除组(groupdel)

用法:
groupdel 组名

练习:

[root@localhost ~]# groupdel admin6
[root@localhost ~]# tail /etc/group
admin:x:900:user01,user02
user01:x:1003:
user02:x:1004:
user03:x:1005:
user04:x:1006:
user05:x:1007:
apache:x:48:
nginx:x:899:
mysql:x:27:
stsadmin:x:1111:

3.组成员管理(gpasswd)

用法:
gpasswd [选项] 组名

常见选项: 
> -a    添加用户到组 
> -d    从组中删除成员 
> -A    指定管理员 
> -M    指定组成员,可以批量添加用户到组中 
> -r    删除密码
gpasswd   组名     给组设置密码

练习:

[root@localhost ~]# usermod -G stsadmin user03
#(---------使用gpasswd -a用法------)
[root@localhost ~]# gpasswd -a user03 stsadmin
正在将用户“user03”加入到“stsadmin”组中
[root@localhost ~]# id user03
uid=1005(user03) gid=1005(user03) 组=1005(user03),1111(stsadmin)
[root@localhost ~]# tail /etc/group
user01:x:1003:
user02:x:1004:
user03:x:1005:
user04:x:1006:
user05:x:1007:
apache:x:48:
nginx:x:899:
mysql:x:27:
admin6:x:1008:
stsadmin:x:1111:user03

#(---------使用gpasswd -d 移除------)
[root@localhost ~]# gpasswd -d user03 stsadmin
正在将用户“user03”从“stsadmin”组中删除
[root@localhost ~]# tail /etc/group
user01:x:1003:
user02:x:1004:
user03:x:1005:
user04:x:1006:
user05:x:1007:
apache:x:48:
nginx:x:899:
mysql:x:27:
admin6:x:1008:
stsadmin:x:1111:

下一篇讲解vim的用法,嘿嘿~后续还会继续更新其他本章博客难免有些不足,恳请各位大佬不吝赐教!(╹▽╹)

猜你喜欢

转载自blog.csdn.net/weixin_44422985/article/details/106971938