用户和组管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户和组管理相关的知识,希望对你有一定的参考价值。

用户和组管理
资源分派:
Authentication:认证
Authorization:授权
Accouting:审计
Audition

    token, identity(username/password)  

Linux用户:Username/UID
    管理员:root, 0
    普通用户:1-65535
        系统用户:1-499, 1-999
            对守护进程获取资源进行权限分配;
        登录用户:500+, 1000+
            交互式登录;

Linux组:Groupname/GID
    管理员组:root, 0
    普通组:
        系统组:1-499, 1-999
        普通组:500+, 1000+

Linux安全上下文:
    运行中的程序:进程 (process)

        以进程发起者的身份运行:
            root: cat
            tom: cat

        进程所能够访问的所有资源的权限取决于进程的发起者的身份;

Linux组的类别:
    用户的基本组(主组):
        组名同用户名,且仅包含一个用户:私有组
    用户的附加组(额外组):

Linux用户和组相关的配置文件:
    /etc/passwd:用户及其属性信息(名称、UID、基本组ID等等);
    /etc/group:组及其属性信息;
    /etc/shadow:用户密码及其相关属性;
    /etc/gshadow:组密码及其相关属性;

/etc/passwd:
    name:password:UID:GID:GECOS:directory:shell

    用户名:密码:UID:GID:GECOS:主目录:默认shell

/etc/group:
    group_name:password:GID:user_list

    组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)

/etc/shadow
    用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:最大密码使用期限:密码警告时间段:密码禁用期:账户过期日期:保留字段

        加密机制:
            加密:明文--> 密文
            解密:密文--> 明文

            单向加密:提取数据指纹
                md5: message digest, 128bits
                sha1: secure hash algorithm, 160bits
                sha224: 224bits
                sha256: 256bits
                sha384: 384bits
                sha512: 512bits

                雪崩效应:初始的条件的微小改变,将会引起结果的巨大改变;
                定长输出:

        密码的复杂性策略:
            1、使用数字、大写字母、小写字母及特殊字符中至少3种;
            2、足够长;
            3、使用随机密码;
            4、定期更换;不要使用最近曾经使用过的密码;

用户和组相关的管理命令:
    用户创建:useradd
        useradd [options] LOGIN
            -u UID: [UID_MIN, UID_MAX], 定义在/etc/login.defs
            -g GID:指明用户所属基本组,可为组名,也可以GID;
            -c "COMMENT":用户的注释信息;
            -d /PATH/TO/HOME_DIR: 以指定的路径为家目录;
            -s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中;
            -G GROUP1[,GROUP2,...[,GROUPN]]]:为用户指明附加组;组必须事先存在;
            -r: 创建系统用户
                CentOS 6: ID<500
                CentOS 7: ID<1000

        默认值设定:/etc/default/useradd文件中
            useradd -D 
                -s SHELL

    练习:创建用户gentoo,附加组为distro和linux,默认shell为/bin/csh,注释信息为"Gentoo Distribution"; 

组创建:groupadd
    groupadd [OPTION]... group_name

        -g GID: 指明GID号;[GID_MIN, GID_MAX]
        -r: 创建系统组;
            CentOS 6: ID<500
            CentOS 7: ID<1000

查看用户相关的ID信息:id
    id [OPTION]... [USER]
        -u: UID
        -g: GID
        -G: Groups
        -n: Name

切换用户或以其他用户身份执行命令:su
    su [options...] [-] [user [args...]]

        切换用户的方式:
            su UserName:非登录式切换,即不会读取目标用户的配置文件;
            su - UserName:登录式切换,会读取目标用户的配置文件;完全切换;

            Note:root su至其他用户无须密码;非root用户切换时需要密码;

        换个身份执行命令:
            su [-] UserName -c ‘COMMAND‘

        选项:
            -l:“su -l UserName”相当于“su - UserName”

用户属性修改:usermod
    usermod [OPTION] login

        -u UID: 新UID
        -g GID: 新基本组
        -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;
        -s SHELL:新的默认SHELL;
        -c ‘COMMENT‘:新的注释信息;
        -d HOME: 新的家目录;原有家目录中的文件不会同时移动至新的家目录;若要移动,则同时使用-m选项;
        -l login_name: 新的名字;

        -L: lock指定用户
        -U: unlock指定用户

        -e YYYY-MM-DD: 指明用户账号过期日期;
        -f INACTIVE: 设定非活动期限;

给用户添加密码:passwd
    passwd [OPTIONS] UserName: 修改指定用户的密码,仅root用户权限
    passwd: 修改自己的密码;

        常用选项:
            -l: 锁定指定用户
            -u: 解锁指定用户

            -n mindays: 指定最短使用期限
            -x maxdays:最大使用期限
            -w warndays:提前多少天开始警告
            -i inactivedays:非活动期限;

            --stdin:从标准输入接收用户密码;
                echo "PASSWORD" | passwd --stdin USERNAME

            Note: /dev/null, bit buckets
                  /dev/zero, 

删除用户:userdel
    userdel [OPTION]... login
        -r: 删除用户家目录;

组属性修改:groupmod
    groupmod [OPTION]... group
        -n group_name: 新名字
        -g GID: 新的GID;

组删除:groupdel
    groupdel GROUP

组密码:gpasswd
    gpasswd [OPTION] GROUP

        -a user: 将user添加至指定组中;
        -d user: 删除用户user的以当前组为组名的附加组

        -A user1,user2,...: 设置有管理权限的用户列表

    newgrp命令:临时切换基本组;
        如果用户本不属于此组,则需要组密码;

修改用户属性:chage
    chage [OPTION]... LOGIN
        -d LAST_DAY
        -E, --expiredate EXPIRE_DATE
        -I, --inactive INACTIVE
        -m, --mindays MIN_DAYS
        -M, --maxdays MAX_DAYS
        -W, --warndays WARN_DAYS

其它命令:chfn, chsh, finger

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

权限管理:

文件的权限主要针对三类对象进行定义:
    owner: 属主, u
    group: 属组, g
    other: 其他, o

每个文件针对每类访问者都定义了三种权限:
    r: Readable
    w: Writable
    x: eXcutable

    文件:
        r: 可使用文件查看类工具获取其内容;
        w: 可修改其内容;
        x: 可以把此文件提请内核启动为一个进程;

    目录:
        r: 可以使用ls查看此目录中文件列表;
        w: 可在此目录中创建文件,也可删除此目录中的文件;
        x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录;

    --- 000 0
    --x 001 1
    -w- 010 2
    -wx 011 3
    r-- 100 4
    r-x 101 5
    rw- 110 6
    rwx 111 7

    例如:
        640: rw-r-----
        rwxr-xr-x: 755

修改文件权限:chmod
    chmod [OPTION]... OCTAL-MODE FILE...

        -R: 递归修改权限

    chmod [OPTION]... MODE[,MODE]... FILE...
        MODE:
            修改一类用户的所有权限:
                u=
                g=
                o=
                ug=
                a=
                u=,g=

            修改一类用户某位或某些位权限
                u+
                u-

    chmod [OPTION]... --reference=RFILE FILE...
        参考RFILE文件的权限,将FILE的修改为同RFILE;

修改文件的属主和属组:
    仅root可用;

    修改文件的属主:chown
        chown [OPTION]... [OWNER][:[GROUP]] FILE...

            用法:
                OWNER
                OWNER:GROUP
                :GROUP

                Note: 命令中的冒号可用.替换;

            -R: 递归

        chown [OPTION]... --reference=RFILE FILE...

    修改文件的属组:chgrp
        chgrp [OPTION]... GROUP FILE...
        chgrp [OPTION]... --reference=RFILE FILE...

        -R

文件或目录创建时的遮罩码:umask
    FILE: 666-umask
        Note: 如果某类的用户的权限减得的结果中存在x权限,则将其权限+1
    DIR: 777-umask  

    umask: 查看
    umask #: 设定

命令总结:chmod, chown, chgrp, umask

以上是关于用户和组管理的主要内容,如果未能解决你的问题,请参考以下文章

win10系统本地用户和组在哪

win10本地用户和组在哪里

Linux用户和组管理

linux系统用户和组管理

用户和组权限管理笔记

管理用户和组账号;管理目录和文件的属性