linux系统中的用户管理

    科技2026-01-09  11

    linux系统中的用户管理

    1 用户及用户组存在的意义1.1用户存在的意义1.2用户组存在意义2.用户及用户组在系统中的存在方式3.用户切换3.1用户查看3.2用户切换4.用户涉及到的系统配置文件5.用户和用户组建立及删除6.用户和用户组的信息管理7.用户认证信息管理 (/etc/shadow)8.用户权力下放

    1 用户及用户组存在的意义

    1.1用户存在的意义

    系统资源是有限的,如何合理分配系统资源? 在这个问题解决时必须要有连个资源配合 1.身份 account 2.授权 author 3.认证 auth

    3A机制,3A机制组成系统中最底层的安全架构

    1.2用户组存在意义

    用户组是一个逻辑容器 对用户进行归类和统一授权

    2.用户及用户组在系统中的存在方式

    电脑对数字敏感 id 人类对字符串敏感 名称

    id <-------> 名称必须要记录到文件当中用户才能存在 用户就是/etc/passwd文件中的一行字符

    用户组存在的方式就是/etc/group 文件中的一行字符

    3.用户切换

    3.1用户查看

    whomai查看当前用户

    [westos@lzy Desktop]$ whoami westos

    id查看用户id信息

    id查看用户id信息-u查看用户的用户id-g查看用户主组id-G查看用户所有的组的id-n显示名称 [westos@lzy Desktop]$ id uid=1000(westos) gid=1000(westos) groups=1000(westos),10(wheel) [westos@lzy Desktop]$ id -g 1000 [westos@lzy Desktop]$ id -gn 显示用户的组名字 westos

    3.2用户切换

    su - username

    - #切换用户环境 username 1如果root 切换到commonuser 不需要后者密码 2commonuser 切换到 root 需要密码 3commonuser切换到commonuser 需要密码

    注意 :在做用户切换时当使用完毕用户身份及时退出 不要在一个shell中反复执行su命令 #在一个shell中反复执行su命令会导致环境错乱

    4.用户涉及到的系统配置文件

    /etc/passwd 用户身份信息文件

    westos:x:1000:1000:westos:/home/westos:/bin/bash 1 :2: 3 :4 :5 : 6 : 7 #1.用户名称 #2.用户密码: #3.用户id: 2*16 0-65535 0:root 1-999:systemuser 1000-65535:commonuser #4.用户主组id #5用户说明: #6:用户家目录: #7:用户默认shell

    /etc/group 组身份信息文件

    westos : x : 1000: 组名称:组密码:组id:组的附加成员

    添加附加组

    vim /etc/group westos:x:1000:lee

    [root@lzy ~]# id lee uid=1001(lee) gid=8889(lee) groups=8889(lee),1000(westos)

    /etc/skel/.*##用户环境配置文件模板 当前用户配置文件有问题:删掉配置文件,复制/etc/skel/.*

    /etc/shadow 用户认证信息文件

    /home/username 用户家目录

    5.用户和用户组建立及删除

    对应/etc/passwd 中的信息 /etc/login.defs 记录用户建立的默认规则 useradd username##用户建立

    useradd 参数 用户含义-u id usernameuid 2**16=0-65535;0 表示超级用户;1-200 系统预留id;201-999系统用户;1000-60000用户级用户;/etc/login.defs 记录用户建立的默认规则-g id username主组id-G id username附加组id-d dir username指定用户家目录-c word username指定用户说明-s shell username指定用shell-M不建立家目录

    建立如下用户,指定相应信息,对应/etc/passwd文件 useradd -M lzy建立lzy用户不建立家目录 /sbin/nologin useradd -G westos,root mp 建立用户时,多个附加组,用逗号隔开

    userdel -r username##用户删除-r 删除用户的系统配置文件 不用-r,需要手动删掉用户的家目录

    [root@lzy ~]# id lee uid=1001(lee) gid=8889(lee) groups=8889(lee) [root@lzy ~]# userdel -r lee 删除用户 [root@lzy ~]# id lee id: ‘lee’: no such user [root@lzy ~]#

    groupadd groupname 组建立 -g id groupname 指定组名称 groupdel groupname组删除

    6.用户和用户组的信息管理

    usermod

    -l #更改用户名称 -u #更改用户id -g #更改主组id -G #更改用户附加组身份 -aG #添加用户附加组身份 -c #更改用户说明 -d #更改家目录指向 -md #更改家目录指向同时更改家目录名称 -s #更改默认shell -L #冻结账号 -U #解锁

    usermod -c "" username" 清空说明 G andaG usermod -G "" username删除所有附加组 [root@lzy ~]# watch -n 1 "tail -n 3 /etc/passwd ;ls -l /home" watch -n 1 一秒执行一次 watch command 默认两秒一次 date;ls 分号。两条命令一起执行 -d and -md

    groupmod -g更改用户组id

    7.用户认证信息管理 (/etc/shadow)

    vim /etc/shadow

    lee: :18547:0:99999:7: : : 1 2 3 4 5 6 7 8 9

    [root@lzy ~]# watch -n 1 "tail -n 3 /etc/shadow ;passwd -S lee" 每秒监控/etc/shadow 文件的后三行,及lee用户的的密码状态

    1.用户名称 passwd -S lee 查看密码状态

    2.用户加密字符


    /etc/shadow 密码认证 加密字符:哈西算法 /dev/random 加密设备 加密字符串从里面取 ll /dev/random 字符设备


    更改密码 passwd lee只有root可以执行

    echo 123 | passwd --stdin lee 非交互式改密码,可在脚本中自动运行

    passwd普通用户改密码

    冻结认证 rh7中passwd -l lee 的冻结程度更强,!!,usermod !,不能互相直接解锁 rh8中两个可以互相直接解锁

    passwd -l lee usermod -L lee

    解锁账号认证 解锁了之后,账号可以继续使用

    passwd -u lee usermod -U lee

    密码删除passwd -d lee

    3密码使用天数 *从1970-1-1算其到今天的时间 修改默认使用时间为0账号必须改密码才能登陆系统

    passwd -e lee chage -d 0 lee chage -d 数字 用户

    4密码最短有效期

    lee用户在1天内不能改密码

    passwd -n 1 lee chage -m 1 lee

    5.密码最长有效期 40天内lee用户必须更新密码否则会被冻结

    passwd -x 40 lee chage -M 30 lee

    6.密码过期警告 账号过期前警告时间

    passwd -w 2 lee chage -W 1 lee

    7.认证非活跃天数 账号认证最大时间超过后还能用多久

    passwd -i 2 lee chage -I 1 lee

    8.账号认证到期时间 到2020-11-11这天账号会被冻结

    chage -E "2020-11-11" lee

    9.未启用功能

    8.用户权力下放

    在系统中普通用户时无法执行系统管理命令的 如果需要普通用户执行系统管理动作那么需要 root用户来进行授权

    普通用户授权方式 “sudo” 作用: 可以使普通用户使用指定的用户身份呢运行命令

    授权方法:

    visudo 此命令作用是编辑/etc/sudoers并提供语法检测

    在文件的100行左右 代码规范性

    username hostname=(newusername) [NOPASSWD:] /command, /command1

    westos用户 在lzy.wesots.com 使用超户免执行useradd 和 userdel westos lzy.wesots.com = (root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel

    test

    在系统中完成以下用户操作 1. 建立用户组 shengchan,caiwu,jishu 并满足以下要求 #shengchan组id为8000 #caiwu组id 为8001 #jishu组id为8002 2.建立westosuser,linux,lee,westosadmin等用户完成以下要求 # westos用户的附加组为shengchan和jishu #lee的主组为caiwu,附加组为jishu,lee的uid和gid一致 #linux为系统账号不能直接被操作者使用 #westosadmin用户不属于以上三个部门,但是可以在系统中自由的管理用户 (sudo) , vim /etc/passwd uid gid 改为0 3. #以上用户密码均为westos,并要求用户首次登陆时强制修改密码 #设定以上用户密码必须在30天内进行修改,并在过期2天发出警告 ####creategroups####### grouadd shengchan -g 8000 grouadd caiwu -g 8001 grouadd jishu -g 8002 ###create user#### useradd -G shengchan,jishu westosuser useradd -u 8001 -g caiwu -G jishu lee useradd -M -s /sbin/nologin linux echo "westosadmin:x:0:0::/home/westosadmin:/bin/bash" >> /etc/passwd mkdir /home/westosadmin cp /etc/skel/.* /home/westosadmin echo westos | passwd --stdin westosuser echo westos | passwd --stdin lee echo westos | passwd --stdin linux echo westos | passwd --stdin westosadmin passwd -e westosuser passwd westosuser -x 30 -w 2 passwd -e lee passwd lee -x 30 -w 2 passwd -e linux passwd linux -x 30 -w 2 passwd -e westosadmin passwd westosadmin -x 30 -w 2

    对westosadmin用户进行sudo授权

    Processed: 0.017, SQL: 9