• 第四部分 linux使用者管理


    第一章 linux帐号管理与acl权限控制   
    不同的用户拥有不同的权限    可以通过user/group的特殊权限设定,来规范不同的群组开发
    一 linux帐号与群组
    A 使用者的识别码:
    UID和GID   每个用户都拥有这两个属性  一个是人属性,另一个是群组属性
    /etc/passwd  文件中记录个人属性
    /etc/group中记录群组属性
    例子:id  dazhenzhong中的id命令可以查看某用户的id信息
    用户登陆的时候  系统流程
    1.读取/etc/passwd   查看用户名是否正确   如果正确则将uid和gid都读出来   并且读取该用户家目录与shell的环境设定
    2.核对密码表,进入/etc/shadow找出对应的帐号 uid   然后核对输入的密码是否正确  md5函数
    3.如果正确   就进入shell控管的阶段
    passwd  文件    分隔符为:
    帐号名称
    密码(设置为x   原因为真正的密码在etc/shadow里面)   
    UID 用户id号码 0为管理员    1-999为系统保留的ID   其中1-200有发行版自己建立的系统帐号   201-999为如果系统有帐号需求时,可以使用的UID    通常这些帐号是不可以登陆的  所以才会有   /sbin/nologin这个特殊的shell的文件的存在
    1000-(2^32-1)为普通个人用户使用的id
    4.GID /etc/group    群组
    5.用户信息说明
    6.家目录
    7.shell    ./bashrc***
    B /etc/shadow  文件结构
    分隔符  同样为 :
    1.帐号名称
    2.密码 真正的密码   早期为des   md5   当前为sha   长度更长  即相对更加安全
    3.最后变更密码的时间
         4.密码不可被修改的天数
    5.密码需要重新变更的天数
    6.密码需要修改的期限前的警告天数
    7.密码过期后的帐号宽限时间  密码失效日
    8.帐号失效日期
    9.保留
    普通用户密码忘记的解决办法  passwd即可  root用户下操作
    如果是root密码忘记  则需要开机进入单人模式   修改etc/shadow文件    也可以用livecd开机后mount根目录去修改etc/shadow文件。将里面的root的密码晴空   再重新不用密码登陆   
    确认密码加密的算法:authconfig -test | grep hashing
    C 群组   groups   newgrp
     
    /etc/group
    1.群组名称
    2.群组密码
    3.GID
    4.此群组支持的帐号名称
    有效群组 effective group  与初始群组  initial group
    1.groups   命令列出当前用户的群组
    2.第一个出现的就是有效群组   新创建的文件归有效群组的权限
    3.newgrp  有效群组的切换
    想要切换的群组  必须是已经支持的群组   命令为:newgrp 群组名
    切换到新的shell环境下执行  
    4.加入群组的方法
    a  root   通过usermod命令加入
    b 群组管理员  而非root    通过gpasswd将用户加入到群组当中   
    /etc/gshadow   群组管理员      
     
    二 帐号管理
    A.新增和删除用户
    useradd  /passwd   即如帐号  建立uid gid  家目录等   
    /shadow 将密码参数填入   
    /group 加入与帐号名称相同的群组名称
    /home 建立一个同名目录  做家目录  权限为700
    useradd  -D 来查看预设值     
    文件为/etc/default/useradd    群组分为私有群组和公共群组两类   前者group=100  家目录权限值设定为700 只有自己可以进入自己的家目录 代表发行版有rhel   fedora centos等      公共群组   将group=100这个设定值  作为新建帐号的初始群组   ,因此每个帐号都属于users这个群组   代表发行版有suse等
    除了基本的帐号设定   UID/GID还有密码参数设定文件   /etc/login.defs   和etc/skel/*
    passwd 通常会使用pam模组来检验密码     修改密码
    change   查看密码详细的参数   
    usermod 对用户信息进行修改
    userdel 删除用户   涉及到的文件
    /etc/passwd    /etc/shadow
    /etc/group     /etc/gshadow
    /home/username     /var/spool/mail/username
    -r    连同家目录一起删除
    如果想暂时停止某用户的使用  可以将/etc/shadow  第8位设置为0就可以了
    如果想要将系统内某用户的所有资料删除    在userdel -r username  之前   先运行find / -user username  查找出整个系统内属于username的文件  再删除
    id      普通用户的账户信息修改命令    查询某人    修改自己   
    chsh change shell的简写   可以修改/etc/passwd此系统文件   SUID功能
    新增与删除群组
    groupadd
    groupmod
    groupdel
    gpasswd   群组管理员使用的命令
    ACL
    权限细化       unix-like作业系统额外项目
    查询     dmesg | grep -i acl
    设定
    getfacl   取得某个文件或者目录的acl设定项目
    setfacl 设定某个目录或文件的acl规范
    用户切换
    使用一般帐号:用较低权限启动系统服务:软件本身的限制
    su    切换到root   需要root的密码   su -  为直接切换到root
    注意login-shell   变量改变    和non-login shell   变量不变  两个设定文件    
    切换身份的时候   尽量使用login shell的方式    
    所以   如果希望完整的切换用户及其环境需要使用
    su - username   或者 su -l username    才会连同PATH/USER/MAIL等变量都转换成新使用者的环境
    如果只是向要执行一次root的指令  可以利用   su --c  指令串   的方式来处理
    使用root切换成为任何用户的时候   并不需要输入新用户的密码
    sudo 执行root的指令串     需要输入用户自己的密码   所以更加安全
    env      显示shell环境变量
  • 相关阅读:
    24、C++ Primer 4th 笔记,面向对象编程(2)
    32、C++ Primer 4th 笔记,多重继承与虚函数
    28、C++ Primer 4th 笔记,模板与泛型编程(3)
    jQuery:1.5.4.3,表格变色(单击行,把当行的单选按钮(radio)设为选中状态,并应用当前样式)
    ASP.NET AJAX:Ajax验证(ajax+Handler处理)
    jQuery:1.5.5.2,京东导航(当前默认设置)
    ImageProtect(图片防盗链)
    HTML:1.文本修饰
    jQuery:1.5.5.1,多选择单一条件查询(search)
    jQuery:1.5.4.4,表格变色(单击行,把当行的复选框(checkbox)设为选中状态,并应用当前样式)
  • 原文地址:https://www.cnblogs.com/dongguolei/p/7896360.html
Copyright © 2020-2023  润新知