Linux用户与组管理(有图!!!)

目录

一、用户与组概述

1、用户类型

2、用户和用户组关系

3、用户和用户组配置文件

二、用户管理

1、useradd命令

2、userdel

3、passwd命令

4、usermod命令

5、chpasswd命令

6、chage命令

三、组管理

1、groupadd命令

2、groupdel命令

3、groupmod命令

4、gpasswd命令

四、用户切换与sudo提权

1、su命令

2、sudo命令

五、用户登录信息查看

1、id命令

2、w命令

3、who命令

4、whoami命令

5、finger命令

6、last命令

7、lastb命令

8、lastlog命令

一、用户与组概述

与windows类似,Linux也有用户和用户组的概念。在Linux系统中,每次登录系统都必须以一个用户的身份登录,并且登录后的权限也会根据用户身份来确定。 每一个进程在执行时,也会有其用户,该用户也和进程所能控制的资源有关。Linux系统下的每一个目录、文件,都会有其属于的用户和用户组,我们称其为属主和属组。由此可见,用户和用户组与Linux系统的运行息息相关。在实际操作使用系统时,我们往往较多关注用户与用户组。

在Linux系统中,每个用户都有自己的用户ID,称为UID,每个用户组也有自己的用户组ID,称为GIDUID和GID在Linux系统中是不可重复的。Linux系统就是通过UID和GID来对用户和组进行管理的,而对于管理员来说,往往会设置用户名和组名,这样使得用户和用户组的使用管理更人性化。

1、用户类型

  • root用户

root用户时UID和GID都等于0的用户,是Linux系统中的“上帝”,拥有最大的权限。如果深入了解Linux系统,会发现root用户真的拥有很多特权,比如:无视Linux对权限的设置而强行读、写、执行文件,切换其他用户登录不需要密码,可以强行切换到已经存在的用户,只有root可以为普通用户修改密码等等。

  • 系统用户 (程序用户)

系统用户通常用于运行服务,但是此用户无家目录,也不能用于登录系统。例如,在yum安装apache、nginx等服务后,就会自动创建apache和nginx的用户和同名用户组。在CentOS6系统中,系统用户的UID范围是1-499,在CentOS7系统中,系统用户的ID是1-999

  • 普通用户

  • 普通用户只能由root用户创建,该用户拥有家目录,并且可以登录,该用户的权限由root分配。普通用户拥有指定的shell环境。

2、用户和用户组关系

在Linux系统中,每个用户必定属于一个主组(基本组),默认情况下属于与其同名的用户组,最多可以有31个附属组,从用户权限的角度看,主组和附属组其实差别不大,用户也会拥有其附属组的组相关权限。

3、用户和用户组配置文件

Linux系统下用户和用户组相关的配置文件主要有以下几个:

  • /etc/passwd

存储用户信息

  • /etc/shadow

该配置文件保存了用户的密码信息 。

注意: !! 表示该用户没有设置密码。

! 表示用户密码被锁定,该用户无法登录操作系统。

  • /etc/group

该文件保存了用户组的信息 。

  • /etc/gshadow

该文件保存了用户组的密码。

  • /etc/login.defs

该文件可以设置密码过期时间,密码最大长度限制等内容。影响的是新创建的用户密码信息。

  • /etc/skel目录

作用: 用户创建时默认文件的模版目录

二、用户管理

1、useradd命令

语法:useradd [选项] 用户名

选项:

选项作用
-u指定用户的UID
-d指定用户的家目录,而不采用默认创建在/home中的目录。不能是已存在的目录。
-s指定用户的登录shell
-M创建用户时不创建家目录
-g创建用户时指定基本组,不会创建用户的同名组
-G创建用户时指定附加组,依然会创建同名组
-e创建用户时,指定用户的失效时间

1.1、指定用户的UID          useradd -u 2025 user1

1.2、指定用户家v           useradd -d /user2 user2

1.3、指定用户的登录shell              useradd -s /sbin/nologin user3

1.4、创建用户时不创建家目录         useradd -M user4

1.5、创建程序用户                           useradd -M -s /sbin/nologin user5                         

1.6、创建用户时指定基本组             useradd -g user5 user6

1.7、创建用户时指定附加组            useradd -G user5 user7

1.8、创建用户时,指定用户的失效时间。

2、userdel

删除用户账户和相关文件

语法: userdel [选项]   用户名

选项作用
-r, --remove用户主目录中的文件将随用户主目录和用户邮箱一起删除。在其它文件系统中的文件必须手动搜索并删除。

删除用户的同时删除在创建时产生的文件。    userdel -r user7

3、passwd命令

更改用户的密码。root用户使用时,可以更改所有用户的密码。普通用户使用时,只能更改本身的密码。

语法: passwd [选项]     用户名

选项作用
-l, --lock锁定用户密码。
-S查看密码的锁定状态
-u,--unlock解除用户密码的锁定状态
-d, --delete将用户密码清空
-e,--expire直接让密码失效,下次登录时必须更改。
--stdin非交互式修改密码。

3.1、设置用户密码  passwd user1  用户输入passwd命令后直接回车

3.2、锁定用户密码     (锁定用户 user1 的密码 。)

验证:

3.3、查看密码的锁定状态

3.4、解除密码的锁定状态

验证:

3.5、清空用户密码

验证;

3.6、强制密码失效    passwd -e  user1

passwd -e  user1
正在终止用户 user1 的密码。
passwd: 操作成功

3.7、非交互式修改用户密码     echo 1 | passwd --stdin user1

4、usermod命令

修改一个用户账户的属性。

语法:usermod [选项]  用户名

选项作用
-u修改用户的UID。
-d修改用户的家目录,而不采用默认创建在/home中的目录。
-s修改用户的登录shell
-g修改用户基本组,不会创建用户的同名组
-G修改用户附加组,依然会创建同名组
-e修改用户的失效时间。
-a, --append追加用户到一个附加组
-L, --lock锁定用户
-U, --unlock解锁用户

4.1、锁定用户

usermod -L user1

4.2、解锁账户

usermod -U user1

5、chpasswd命令

批量更新密码

语法:chpasswd [选项]

创建用户密码的文本文件
vim chpasswd.txt
user1:123.com
user2:1234.com
user3:12345.com
修改密码
cat chpasswd.txt | chpasswd

6、chage命令

更改用户密码过期信息

语法: chage [选项]  用户名

选项作用
-l, --list显示账户年龄信息
-m, --mindays修改密码的最短使用期限
-M, --maxdays修改密码的最长使用期限
-W, --warndays修改密码过期的提示时间

1、查看用户的密码信息

2、修改密码最短使用期限

三、组管理

1、groupadd命令

创建新组

语法:groupadd [选项] 组名

选项作用
-g,--gid GID指定GID

创建新组;将用户添加为组成员

2、groupdel命令

删除组

语法:groupdel [选项] 组名

选项作用
-f强制删除

            [root@localhost ~]# groupdel newgroup

3、groupmod命令

语法:groupmod [选项] 组名

选项作用
-g,--gid GID修改GID

4、gpasswd命令

项组内添加成员

语法:gpasswd [选项] 组名

选项作用
-a, --add USER向组 GROUP 中添加用户 USER,单个添加
-M, --members USER,...设置组 GROUP 的成员列表,批量添加,覆盖原有成员

(1)单个添加

[root@localhost ~]# gpasswd -a user2 root
正在将用户“user2”加入到“root”组中
​

(2)批量添加

[root@localhost ~]# gpasswd -M user3,user4,user5 root
[root@localhost ~]# cat /etc/group | grep root
root:x:0:user3,user4,user5

四、用户切换与sudo提权

1、su命令

切换用户,从root用户切换到普通用户不需要密码。普通用户之间切换需要密码。

语法: su  [ - ]     用户名

选项作用
-,-l,--login切换目录用户的登录shell

su 与 su - 的对比

su 不会切换目标用户的登录shell 

su -会切换到目标用户的登录shell

2、sudo命令

sudo用来进行普通用户提升权限

语法:sudo [选项]  参数

  

选项作用
-i切换到指定用户的登录shell。采用本身的密码提供验证。

注意:sudo -i root,切换到root,必须存在于sudoers文件中的普通用户才有权限

五、用户登录信息查看

1、id命令

查看用户的基本属性,用户UID,基本组及附加组

语法: id [OPTION]...[USER]

2、w命令

查看当前系统登录详情

语法 :w [options]

选项作用
-h不显示表头

3、who命令

显示当前系统登录的摘要信息

语法:who [选项]

选项作用
-b,--boot上次系统启动时间
-u,--users列出已登录的用户

(1)查看系统的启动时间

(2)查看系统登录用户

4、whoami命令

显示当前登录用户的名称


语法: whoami

5、finger命令

查看用户登录信息,默认系统不存在该命令,需要安装

6、last命令

last命令可以查看登录用户列表,last命令实际上从日志文件/var/log/wtmp读取信息并显示用户最近的登录列表。此命令普通用户也可以执行。

语法:last -

7、lastb命令

lastb命令可以从日志文件/var/log/btmp中读取信息,并显示用户登录失败的记录用于发现系统登录异常。此命令要求root用户才可以执行,lastb可用参数与last命令参数相同。

语法:lastb

8、lastlog命令

统计当前系统中存在用户的登录情况

语法:lastlog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值