您的位置:首页 > 运维架构 > Linux

Linux用户和组

2015-08-11 22:06 501 查看
用户和组:

    

    用户是什么?

        多用户:

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

        容器:  用户

                权限

    用户两类:

        管理员

        普通用户

        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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux bash