命令混剪

2018-04-09  本文已影响7人  不排版

用户和组:

用户是什么?
    多用户:

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

    容器:  用户
            权限

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

    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 
image.png
image.png
image.png
image.png
image.png
上一篇下一篇

猜你喜欢

热点阅读