Linux用户,组管理(1)

一.用户(user)和用户组(group)的基本知识

1.概念

用户概念
由于Linux是多用户操作系统,所以我们可以在Linux上创建多个用户,并允许多个用户同时登录到系统上使用资源,系统会根据每个用户的文件,进程,任务给每个用户提供特定的工作环境。

用户组概念
用户组就是具有相同特征的用户的集合体,比如系统想让多个用户对某文件拥有相同的权限,那么就可以把这些用户放到一个组里,通过修改文件权限让用户组有一定的操作权限,那么组里的文件都会拥有相同的权限。

2.用户和组的特点

①:系统上的每个进程(运行进程)都作为特定用户运行(比如httpd进程要在apache用户上运行,ps -ef命令可查看)。
②:每个文件都由特定用户拥有。
在这里插入图片描述

部分字段解释:
drwxrwxr-x:共10个小格,第一个小格d表示为目录(如果是l,表示连结文件),其余9个小格每三个一组,分别表示使用者自己权限,同组用户权限,其他用户权限(r表示读权限,w表示写权限,x表示执行权限,-表示无此权限)
test:表示文件拥有者
test:表示所属组

③:用户对文件和目录的访问受到限制(权限问题)。
④:与运行中的进程相关联的用户确定该进程可访问的文件和目录(比如一个进程想对某文件进行操作,但该进程所属用户没有对该文件执行操作的权限,那该进程就不能操作该文件)。

3.用户和组的分类

用户分类:
管理员:root用户,拥有最高权限。
普通用户:分为登录和系统用户,管理员对系统的维护或查看等。
登录用户:可登录系统的用户。
系统用户:可以完成对系统的某些操作,例如上传软件包用的是FTP用户,这类用户不可登录。

组分类:
管理员组,基本组,附加组,私有组,公共组。
在/etc/passwd文件中,用户的UID所对应的组是这个用户的基本组,也称为私有组;在/etc/group文件中如果其他组也包括这个用户,那么这个组是用户的附加组,也称为公共组。
所以,用户的基本组(私有组)组名和用户名相同,且只包含一个用户;附加组(公共组)内可包含多个用户。

二.使用者标识符:UID和GID

1.概念

当我们登录Linux主机的时候,我们输入用户名,比如root,但是系统不会识别名称,它只会识别系统为用户分配的ID。而且每个用户都有属主和属组,所以有两个ID,属主ID(UID),属组ID(GID)。
id命令可以查看当前登录的用户信息(包括uid,gid)。
在这里插入图片描述

2.UID和GID对应用户和组的分类

UID(16bit二进制数字:0-65535)

管理员:0
普通用户:1-65535
系统用户:1-499(centos6),1-999(centos7)
登录用户:500-60000(centos6),1000-60000(centos7)

GID

管理员组:0
普通用户组:1-65535
系统用户组:1-499(cenros6),1-999(centos7)
登录用户组:500-60000(centos6),1000-60000(centos7)

三.用户与组相关配置文件和目录

1.用户

/etc/passwd:用户的配置文件,含有用户家目录,登录shell等信息。
在这里插入图片描述

各行表示信息(7个字段,用:分隔开):
test001:用户名
x:加密密码
1001:UID
1001:GID
空:对用户的描述
/home/test001:用户家目录
/bin/bash:bash类型,此类型为可登录型,上面的ntp用户为系统用户,bash类型/sbin/nologin为不可登录型

/etc/shadow:用户的影子口令文件,含有用户的密码信息。
在这里插入图片描述

2.用户组

/etc/group:用户组的配置文件。
在这里插入图片描述

4个字段解释:
组名 密码 GID 用户组成员(默认建立基本组,所以组名和用户名一致)

/etc/gshadow:用户组的影子口令文件,含有用户组的密码信息。
在这里插入图片描述

4个字段解释:
组名 加密密码(空或!都表示无密码) 组成员

3./etc/skel目录

一般存放用户启动文件的目录,当我们新建用户时,系统会自动把这个目录下的隐藏文件复制到新用户的家目录下(/home)下。此文件下存放的都是隐藏文件,用ls -a命令打开。
在这里插入图片描述
.bash_history:历史命令文件,用户登录键入命令后自动生成(/etc/skel目录下不包括它)。
.bash_profile:文件中的命令将在该用户每次登录时被执行。
.bash_logout:文件中的命令将在该用户每次退出登录时被执行。
.bashrc:文件中的命令会在每次加载"/bin/bash"程序时被执行。

4./etc/login.defs文件

创建用户时的诸多默认设定配置文件。
(如果创建文件时不加任何参数,那么创建好的用户默认设置按照此文件设置;可更改此文件改变用户默认设置)

文件中部分参数解读(UID范围等其它内容不做介绍):

MAIL_DIR /var/spool/mail
(默认创建邮件文件在此路径下)

UMASK 077
(用户的默认权限)

USERGROUPS_ENAB yes
(默认可用userdel删除私有组)

ENCRYPT_METHOD SHA512
(用户的密码加密算法为SHA512)

5./etc/default/useradd文件

保存修改用户信息的结果。

补充:
打开相应文件时(vipw等左边命令更正规)
vipw命令等于vim /etc/passwd 命令
vipw -s命令等于vim /etc/shadow命令
vigr命令等于vim /etc/group 命令
vigr -s命令等于vim /etc/gshadow 命令

四.用户,用户组管理命令

(一)用户管理命令

1.useradd命令:创建用户

useradd (选项) 用户名
-u:指定 UID
-c:指明注释信息
-d:指定宿主目录,默认为 /home/用户名
-g:指定所属的基本组(组名或GID)
-G:指定所属的附加组(组名或GID),多个组之间用逗号分割
-s:指定用户的登录Shell
-r:创建系统用户

useradd -D:显示创建用户的默认配置
uaeradd -D (选项):修改默认选项的值

2.usermod命令:修改用户属性

usermod (选项) 用户名

-u:修改用户ID为此处指定UID
-g:修改用户所属基本组
-G:修改用户所属附加组,原附加组会被覆盖
-a:与-G一起使用,用于为用户追加新附加组,原附加组不会被覆盖
-c:修改注释信息
-d:修改用户家目录,用户原有文件不会被移至新位置
-m:与-d一起用,将原有家目录移至新的家目录
-l:修改用户名
-s:修改用户默认shell
-L:锁定用户密码,在原有字符串之前加!
-U:解锁用户密码 userdel命令

3.userdel命令:删除用户

userdel (选项)用户名
-r:删除用户时删除家目录

4.vipw命令或vim /etc/passwd:查看用户信息

(二)用户组管理命令

1.groupadd命令:添加组

groupadd (选项)新组名
-g:指定GID,默认是上一个组的GID+1
-r:建立系统组

2.groupmod命令:修改组属性

groupmod (选项)组名
-g:修改GID
-n:修改组名

3.groupdel命令:删除组

groupdel (选项)组名

4.vigr或vim /etc/group:查看组信息

五.实例

1.系统创建新用户的步骤

以下在文件中写入信息都要按照规定格式输入,
(1)在/etc/passwd文件中写入用户信息;
(2)在/etc/shadow文件中写入用户密码信息;
(3)在/etc/group文件中写入用户所属组信息;
(4)在/etc/gshadow文件中写入用户所属组密码信息;
(5)创建一个家目录,把/etc/skel下的隐藏文件复制粘贴到新用户家目录下;
(6)建立/var/spool/mail文件用于接收新用户的邮件。

2.一次性建立100个用户

编写shell脚本(UserManage.sh)实现

(1)vim UserManage.sh #创建脚本并编写(下面为编写内容)
(2)sh UserManage.sh #启动shell脚本

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值