0基础纯新手小白也能成大神 之 Linux系统用户与组管理

Linux系统用户与组管理

目录

Linux系统用户与组管理

一、概论

1、类型

2、用户与组关系

3、配置文件

3.1 /etc/passwd

3.2 /etc/shadow

3.3 /etc/group

3.4 /etc/gshadow

3.5 /etc/login.defs

3.6 /etc/skel

二、用户管理

1、 useradd

1.1、 创建 指定用户 UID

1.2、指定用户家目录

1.3、 指定用户的登录shell

1.4、 创建用户时不创建家目录

1.5、 创建程序用户

1.6、 创建用户时指定基本组

1.7、 创建用户时指定附加组

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

1.9 、 -o 可创建个uid为0的账户

2、userdel

2.1 -r

3、passwd

3.1、非交互修改密码

4、usermod

4.1 -a

5、 chpasswd

6、chage

6.1、 -m

6.2、 -W

三、组管理

1、groupadd

1.1、 -g

2、groupdel

1.1 -f

3、groupmod

1.1 -g

4、gpasswd

1.1 -a

1.2 -M

四、用户切换与提权

1、su

1.1 - ;-l

1.2、 -s

2、sudo

五、用户登录信息查看

1、id

2、w

3、who

3.1 -b

3.2 -u

4、whoami

5、finger

6、last

7、lastb

8、lastlog


一、概论

1、类型

root用户

普通用户

系统用户(程序用户)

2、用户与组关系

用户必定有个基本组,默认是同名的用户组, 主组和附属组其实差别不大,用户也会拥有其附属组的组相关权限。

3、配置文件

3.1 /etc/passwd

存储用户信息

[root@wezzer ~]# cat /etc/passwd | sort -k 1 |tail -1
wezzer:x:1000:1000:Wezzer:/home/wezzer:/bin/bash
用户名:密码占位符:用户ID:组ID:用户描述信息:用户家目录:登录shell
3.2 /etc/shadow

保存用户密码信息

[root@wezzer ~]# cat /etc/shadow | sort -k 1 | tail -1
wezzer:$6$OtpC5nrPrWfyz4FA$oSTa1R/Z71cC77ChfNqpFsouR/iiKPln/M6muZEXT5lcBxqXqlmxPvggTH1sf/9JNX45BbztGXbtMRLoVSmUF1::0:99999:7:::
用户名:密码:用户创建时间:密码使用最短期限:密码使用最长期限:密码过期提醒时间:密码过期后的宽容时间:密码过期时间:没用

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

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

3.3 /etc/group

保存了用户组的信息

[root@wezzer ~]#  cat /etc/group | tail -1
wezzer:x:1000:wezzer
组名:占位符:组ID:非基本组的组成员
3.4 /etc/gshadow

保存了用户组的密码

[root@wezzer ~]# cat /etc/gshadow | tail -1
wezzer:!!::wezzer
用户:密码: :用户组
3.5 /etc/login.defs

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

[root@wezzer ~]# cat /etc/login.defs |grep -v "^$"|grep -v "#"
MAIL_DIR        /var/spool/mail
 所有用户存储邮件目录
PASS_MAX_DAYS   99999
 密码使用最长期限
PASS_MIN_DAYS   0
 密码使用最短期限
PASS_MIN_LEN    5
 密码最小长度
PASS_WARN_AGE   7
 密码过期时间警告时间
UID_MIN                  1000
 最小UID
UID_MAX                 60000
 最大的UID (65535)
SYS_UID_MIN               201
 系统最小UID (1-999)
SYS_UID_MAX               999
 系统最大UID 
GID_MIN                  1000
  用户组最小ID
GID_MAX                 60000
  用户组最大ID
SYS_GID_MIN               201
  系统组ID最小
SYS_GID_MAX               999
  系统组ID最大
CREATE_HOME     yes
 默认是否创建家目录
UMASK           077
 默认创建用户的反码
USERGROUPS_ENAB yes
 创建用户时是否创建同名组
ENCRYPT_METHOD SHA512
 生成密码用的算法
3.6 /etc/skel

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

[root@wezzer skel]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla

二、用户管理

1、 useradd

创建一个新用户或更新默认新用户信息

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

创建user2并指定其家目录为 user3

[root@wezzer ~]# useradd -d /user3  user2
1.3、 指定用户的登录shell
[root@wezzer ~]# useradd -s /sbin/nologin user3
1.4、 创建用户时不创建家目录
[root@wezzer ~]# useradd -M user4
1.5、 创建程序用户
[root@wezzer ~]# useradd -M -s /sbin/nologin user5
1.6、 创建用户时指定基本组
[root@wezzer ~]# useradd -g user5 user6
1.7、 创建用户时指定附加组
[root@wezzer ~]# useradd -G user5 user7
1.8、 创建用户时,指定用户的失效时间
[root@wezzer ~]# useradd -e 2025-05-15 user8
1.9 、 -o 可创建个uid为0的账户
[root@wezzer ~]# useradd -o -u 0 admin

2、userdel

删除用户账户和相关文件

2.1 -r

删除用户的同时删除在创建时产生的文件

[root@wezzer ~]# userdel -r user7

3、passwd

更改用户的密码

选项作用
-l(小写L)锁定用户密码
-S查看密码的锁定状态
-u解除用户密码的锁定状态
-d将用户密码清空
-e直接让密码失效,下次登录时必须更改
--stdin非交互式修改密码
3.1、非交互修改密码
[root@wezzer ~]# echo 1 | passwd --stdin user1

4、usermod

修改一个用户账户的属性

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

将用户user2追加到user1组

[root@wezzer ~]# usermod -a user2  -G user1

5、 chpasswd

批量更新密码

将存有创建用户密码的文本文件 批量生成

[root@wezzer ~]# vim chpasswd.txt
user1:123.com
user2:1234.com
user3:12345.com
[root@wezzer ~]# cat chpasswd.txt | chpasswd

6、chage

更改用户密码过期信息 ,只能对现有用户进行修改

选项作用
-l(小写L)显示账户年龄信息
-m修改密码的最短使用期限
-M修改密码的最长使用期限
-W修改密码过期的提示时间
6.1、 -m
[root@wezzer ~]#  chage -m 1 user1
6.2、 -W
[root@wezzer ~]#  chage -W 1 user1

三、组管理

1、groupadd

创建新组

1.1、 -g
[root@wezzer ~]# groupadd -g 1235 user1

2、groupdel

删除组(有成员不让删除)

1.1 -f

强制删除

[root@wezzer ~]# groupdel -f  user1

3、groupmod

1.1 -g

修改GID

[root@wezzer ~]# groupmod -g 123546  user1

4、gpasswd

项组内添加成员

1.1 -a

向组 user1中添加用户user3,单个添加

[root@wezzer ~]# gpasswd -a user1  user3
1.2 -M

设置组 GROUP 的成员列表,批量添加,覆盖原有成员

[root@wezzer ~]# gpasswd -M user3,user4,user5 root

四、用户切换与提权

1、su

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

1.1 - ;-l

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

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

1.2、 -s

指定shell切换

2、sudo

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

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

visudo 进入修改sudo命令修改

[root@wezzer home]# vim /etc/sudoers
#
# Adding HOME to env_keep may enable a user to run unrestricted
# commands via sudo.
#
# Defaults   env_keep += "HOME"

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

## Next comes the main part: which users can run what software on 
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
##      user    MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere 
    (所有的  root账号  执行  任何 命令  在任何位置)
root    ALL=(ALL)       ALL
(root用户)  (任意位置登录=所有命令)   (任何来源)
user1    ALL=/sbin/ifconfig
(意思为 用户user1 在任意位置登陆时 通过 sudo 命令提权时 只能使用 ifconfig命令)

## Allows members of the 'sys' group to run networking, software, 
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

## Allows people in group wheel to run all commands
    (允许  组内所有人  运行 所有的 命令)
%wheel  ALL=(ALL)       ALL
(%组名)
## Same thing without a password
     ( 一些 事情 不需要 密码)
# %wheel        ALL=(ALL)       NOPASSWD: ALL
                               对任意指令都不需要密码
## Allows members of the users group to mount and unmount the 
## cdrom as root
# %users  ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
(组内所有人 所有指令= (特定只能运行 mount 命令))

## Allows members of the users group to shutdown this system
# %users  localhost=/sbin/shutdown -h now
  (组内所有人  在本地登陆时 =  可以关机指令 )
## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d

五、用户登录信息查看

1、id

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

2、w

查看当前系统登录详情

3、who

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

3.1 -b

上次系统启动时间

3.2 -u

列出已登录的用户

4、whoami

显示当前登录用户的名称

5、finger

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

6、last

查看登录用户列表

7、lastb

从日志文件/var/log/btmp中读取信息,并显示用户登录失败的记录

8、lastlog

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

---------------------------------------------------------------------------------------------------------------------------------

制作不易,留个赞吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值