redhat linux 用户和组的命令和例子笔记

用户和组:
    
    用户是什么?
        多用户:

    用户和组:实现资源分派的核心要素

        容器:  用户
                权限

    用户两类:
        管理员
        普通用户

        User ID = UID
            名称解析
                文本文件
                关系型数据库
                NIS
                LDAP

        Group ID = GID

    authentication    
        密码:口令
        生物识别:
        电子口令卡:
    authorization: 
        授权
    audit: 
        审计

    权限:
        一切皆文件:
            用户所访问资源都是文件

    用户类别:
        管理员:0
        系统用户:1-499
            运行后台程序(daemon)
        普通用户:500+

        登录:交互式访问

    组类别:
        管理员组:0
        系统组:1-499
        用户组:500+

    权限:
        r
        w
        x

        文件:
            r: 查看文件内容
            w: 修改文件内容
            x: 把此文件启动为一个运行的程序(进程)

        目录:
            r: 可使用ls命令查看目录中的文件名列表
            w: 可以在目录中创建或删除文件
            x: 可以cd到此目录中,以及使用ls -l显示目录中文件的元数据信息

    用户访问文件时的权限匹配模型:
        1、检查运行此程序的的属主是否与其正在访问的文件的属主相同?
            如果相同,则以属主的权限访问;
            否则:
        2、查检运行此进程的属主是否属于此文件的属组
            如果是,则以属组的权限访问;
            否则:
        3、以其它用户的身份访问

    用户管理:
        Linux:
            /etc/passwd: 用户的帐号信息
            /etc/shadow: 用户密码和相关的帐户设定
            /etc/group: 组的帐号信息
            /etc/gshaow: 组的密码信息

        /etc/passwd文件:
            account:password:UID:GID:GECOS:directory:shell

            登录名:密码点位符:UID:GID:注释信息:家目录:用户的默认shell

                用户可以加入不止一个组:
                    基本组
                    额外组,附加组

        /etc/group文件:
            组名:组密码点位符:GID:以逗号分隔属于此组(以之做为额外组)的用户列表

        useradd命令:
            -u UID
            -g GID: 所属的基本组
            -G GID: 所属的附加组
            -c 'COMMENT':注释信息
            -d /path/to/somewhere: 如果此目录事先存在,会有警告信息;
            -s SHELL: SHELL必须是/etc/shells文件中存在的shell

            -m:强制给用户创建家目录
            -M:不给用户创建家目录

            -r: 创建系统用户

        groupadd命令:
            -g GID:指定GID
            -r: 系统组

        passwd:
            普通用户仅能修改自己的密码
            管理员:
                passwd [username]

            密码复杂度策略:
                数字、小写、大写和特殊字符至少三类
                最短长度5位
                不要使用易猜测的密码
                定期修改,且不要使用最近曾经使用过的密码

            加密方式:
                对称加密:加密和解密使用同一个密钥;
                    密钥分发困难
                公钥加密:加密和解密使用一对儿密钥
                    公钥:公开的
                    私钥:保密的

                    CA:证书颁发机构

                    Bob <-- Alice

                    PKI:
                单向加密:提取数据的惟一的特征码
                    1、定长输出;
                    2、不可逆;
                    3、雪崩效应

                    md5: 128bits
                    sha1: 160bits

                    Bob --> data, fingerprint --> data, 

                    数字签名

            passwd
                --stdin
                -l: lock
                -u: unlock

        /etc/shadow文件格式
            用户名:加密的密码:最近一次修改密码的时间:密码最短使用期限:密码最长使用期限:密码过期警告区间:密码非活动期限:帐号过期期限:保留区域

            # man 5 shadow

    userdel: 
        userdel [options] USERNAME
            -r: 一并删除用户及其家目录

    groupdel: 
        groupdel GRPNAME

    usermod: 
        usermod [options] USERNAME
            -u UID
            -g GID: 修改用户的基本组
            -G GID,...:修改用户的附加组; 此选项通过跟-a一起使用以追加方式修改附加组
            -c COMMENT: 
            -d /path/to/somewhere: 修改家目录的位置;同时使用-m选项可保证创建家目录,并将用户原有的文件移动至新的家目录中;
            -s SHELL:

            -l LOGIN_NAME: 修改用户名

            -L: 锁定用户
            -U:解锁用户

    chsh USERNAME

    chfn USERNAME

    chage: 
        chage [options] USERNAME

    查看用户信息:
        id USERNAME
            -g
            -G
            -n
            -u

        who
        whoami
        finger

    切换用户:
        su: switch user
            su [option] USERNAME
                -l: 完全切换,l可省略
                -c 'COMMAND': 仅以指定用户运行命令,并取回结果

    修改组:
        groupmod
            -g GID
            -n NEW_GRP_NAME

    给组设定密码:
        gpasswd

    命令总结:useradd, userdel, passwd, usermod, chage, chsh, chfn, who, id, finger, groupadd, groupdel, groupmod, gpasswd, newgrp, su, w

    练习:
        1、创建用户mandriva, 其ID为2200, 基本组为distro,组ID为3300, 附加组为peguin;
            # groupadd -g 3300 distro
            # groupadd peguin
            # useradd -u 2200 -g distro -G peguin mandriva

        2、创建用户gentoo,其全名为“Gentoo”,默认shell为/bin/tcsh;
            # useradd -c "Gentoo" -s /bin/tcsh gentoo

        3、修改mandriva的UID为4400, 基本组为linux, 附加组为distro和gentoo;
            # usermod -u 4400 -g linux -a -G distro,gentoo mandriva

        4、给gentoo添加密码,并设定其密码最短使用期限为2天,最长为60天,警告为3天,非活动期限为7天;
            # echo 'gentoo' | passwd --stdin gentoo
            # chage 

猜你喜欢

转载自blog.csdn.net/qq_40210617/article/details/86572094