欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux运维之路 基础篇:(三) 用户和组管理

程序员文章站 2022-07-14 19:58:55
...

Linux运维之路 基础篇:(三) 用户和组管理用户和组管理:实现资源分派

Linux用户:

root用户:UID为0
普通用户:UID为1-65535

系统用户:UID为1-499(RHEL7为1-999)
登录用户:UID为500+(RHEL7为1000+)

Linux组:将多个用户与权限相关联

root组:GID=0
普通组:

系统组:GID为1-499(RHEL7为1-999)
普通组:GID为500+(RHEL7为1000+)

Linux安全上下文:

运行中的程序,进程以发起者的身份运行,进程能访问哪些资源,取决于进程的发起者  
  1. 发起者同文件的属住,则应用文件属主权限
  2. 进程的发起者属于文件的属组,则应用文件属组权限
  3. 应用文件其他权限

启动为进程之后,其进程的属主为发起者,属组为发起者所属的组

Linux组的类别

用户的基本组(主组):每个用户只有一个主组,组名同用户名。且仅包含一个用户,私有组  
用户的附加组(额外组):用户可以属于多个附加组  

Linux用户和组的配置文件

/etc/passwd:保存用户及其属性信息,每个字段以:分隔

weiying:x:1000:1000:weiying:/home/weiying:/bin/bash  
用户名:密码占位符:UID:GID:家目录:描述信息:登录使用的shell

/etc/group:组及其相关属性信息,每个字段以:分隔

weiying:x:1000:  
组名:密码占位符:GID:用户列表(仅显示以当前组为附加组的用户列表)

/etc/shadow:用户密码及其相关属性,每个字段以:分隔

weiying:$6$OHa7LB1m$3R.aexcJg0H1M5dHCsi9KHreVzgMCn8LUb812Xt4nC3Zr4Ua2uW2iQYSB3B044lKMaFcN8vWBf3e57d8zL6Hw0:17334:0:99999:7:::
用户名:加密的密码:最后一次修改密码的时间:密码使用最小期限:密码使用最大期限:密码警告时间段:密码禁用期:账号过期日期:保留字段

加密机制:单向加密:明文文件加密为密文,不可逆
加密工具:md5sum sha(1、224、256、384、512)sum sharesec

CentOS 6以后默认使用的加密方式是:sha512

/etc/gshadow:组密码 及其相关属性信息

用户创建

useradd:添加用户

格式:useradd 选项 用户名
    -u:指定用户UID,并且大于UID_MIN(/etc/login.dfs)
    -o 配合-u 选项,不检查UID的唯一性
    -g:指定GID,组必须存在(基本组)
    -G:指定用户附加组
    -c:用户登录时的描述信息,注释信息
    -d:指明家目录,默认在/home下与用户名同名
    -N 不创建私用组做主组,使用users组做主组
    -s:指明shell文件路径,默认为/etc/bash
    -D:更改默认值  /etc/defult/useradd			
        -s:更改默认shell
        -f:账号禁用期时间					
        -e:禁用账号过期时间
    -r:创建系统用户
    -m 创建家目录,用于系统用户
    -M 不创建家目录,用于非系统用户

chsh更改用户使用的shell:

chsh -s shell username

newusers批量创建用户

newusers passwd格式文件

chpasswd 批量修改用户口令

cat passwd文件 | chpassed 文件格式(用户名:密码)

创建组

groupadd:创建组
    格式:groupadd 选项 groupname
        -g:指明GID
        -r:创建系统组

用户相关命令:

id:显示用户的详细信息
    -u:只查看用户的UID
    -g:只查看用户的GID
    -G:显示用户所属的主组和附加组
su:切换用户
    格式:su 选项 [-] 用户名
        —表示登录式切换,不加表示非登录式切换,不会读取用户的配置文件
        -c:su - 用户名 -c 命令 以指定用户执行命令,不登录
        -l:相当于加 -,登录式切换

修改用户属性

usermod:
    格式:usermod 选项 用户名
        -d:指定用户新的家目录,原有家目录中的内容不会移动到新的家目录中,如果要移动加-m选项
        -u:指定用户新的UID
        -c:指定新的注释
        -l:指定新的用户名
        -g:指定新的主组
        -G:指定新的附加组,原有的附加组被覆盖,如果要保留加-a选项
        -s:指定新的shell
        -L:锁定用户
        -U:解锁指定用户
chage:更改密码过期信息
        -d:最后一次修改密码时间
        chage -d 0 username 下一次登录强制重设密码
        -E:修改账号的过期时间
        -i:设置用户非活动期限
        -m:密码最小使用天数  最大为-M
        -w:警告期限    

给用户添加密码

passwd:添加或修改密码
    格式:passwd 选项 用户名
        -l:锁定用户
        -u:解锁指定用户
        -n:指定密码使用最短期限
        -x:最大使用期限
        -w:指定密码过期前几天开始警告
        -i:过期后还有几天能修改密码
        -e:设置密码过期期限,不加时间强制用户下次登录修改密码
        --stdin:从标准输入接收用户密码
        例:
        [[email protected] ~]# echo "admin123" | passwd --stdin user1

删除用户:

userdel:
    -r:删除用户家目录

组属性修改:

groupmod:类似于usermod
    -n:指定新的名字
    -g:指定新的GID

组删除:

groupdel: groupdel 组名

组密码设定:

gpasswd:
    格式:gpasswd 选项 组名
    -a:向指定组中添加用户 -a username groupname
    -d:删除用户的附加组 	 -d username groupname
    -A user列表:设置有管理权限的用户列表

newgrp命令:

newgrp:临时切换组
如果用户属于本组,不需要密码

更改和查看组成员

groupmems [options] [action]
    options:
        -g, --group groupname 更改为指定组 (只有root)
    Actions:
        -a, --add username 指定用户加入组
        -d, --delete username 从组中删除用户
        -p, --purge 从组中清除所有成员
        -l, --list 显示组成员列表
groups [OPTION].[USERNAME]... 查看用户所属组列表
相关标签: 用户和组管理