8、用户和组管理,权限管理

来源:互联网 发布:mac上可以安装Java吗 编辑:程序博客网 时间:2024/06/18 04:30
    用户和组管理
        资源分配
            authentication:认证
            authorization:授权
            accouting(audition):审计
            
        linux用户:username/UID
            管理员:root,ID:0
            普通用户:ID:1-65535
                系统用户:ID:1-499(centos7 1-999),守护进程获取资源进行权限分配
                登录用户:ID:500+(centos7 999+),交互式登录
        linux组:groupname/GID,建立多个用户和用户权限对应
            管理员组:root,ID:0
            普通组
                系统组:1-499(centos7 1-999)
                普通组:500+(centos7 999+)
        linux安全上下文
            运行中的程序:进程(process)
                以进程发起者的身份运行
                进程所能够访问资源的权限取决于进程的发起者身份
        linux组的类别
            用户的基本组(主组):用户创建文件的属组
                组名同用户名,且仅包含一个用户,此组为私有组
            用户的附加组
        linux用户和组相关的配置文件
            /etc/passwd:用户及其属性信息
            /etc/shadow:用户密码及其相关属性
            /etc/group:组及其属性信息
            /etc/gshadow:组密码及其相关属性
            
        /etc/passwd文件详情
            用户名
            密码:x:密码占位符
            UID
            GID
            用户信息
            主目录
            默认shell
        /etc/group
            组名
            组密码:x:占位符
            GID
            以当前组为附加组的用户列表(分隔符为逗号)
        /etc/shadow
            用户名
            加密后密码:!!为未设置密码,禁用
                加密机制:加解密把明文和密文来加转换
                    单向加密:提取数据指纹(数据唯一特征码,内容相同元数据不同特征码也唯一),使用sha512sum加密,不可通过加密码还原成数据
                        为避免用户密码设置一样加密码一样,给每个用户密码添加随机码再加密,每次用户登录都添加随机码
                            $6$MdhavU/Pwr04pGUN$:$为分隔符,6为sha512加密,后面为添加的随机码,字符重新编码过
                        算法:md5(128位),sha1(160位),sha224(224),sha256,sha384,sha512
                        单向雪崩效应:初始条件的微波改变,将会引起结果的巨大改变
                        定长输出:输出长度一样
            最近一次更改密码的日期
            密码最短使用期限
            密码最长使用期限
            密码警告时间段:最长时间前警告
            密码禁用期:最长时间后,登录就必须改密码
            账户过期日期
            保留字段:未使用
            
        创建用户
            useradd 用户名
                -u UID:指定UID(/etc/login.defs里UID_MIN-UID_MAX)
                -g GID:GID必须存在,指定用户基本组,可用GID也可以组名
                -c 字符:指定用户注释信息
                -d /目录:指定家目录,目录最好不存在
                -s /shell:指定默认shell
                -r:创建系统用户
                -G GID,GID:指定附加组,可以多个
                默认值设置:/etc/default/useradd
                    useradd -D -s /shell:指定用户创建时的默认shell
        创建组
            groupadd 组名
                -g GID:指定组ID
                -r:创建系统组
        id:查看当前用户id信息,显示UID,GID,组(附加组)
            -u:只查看UID
            -g:只显示GID
            -G:只显示附加组
                -n:以用户名、组名显示
        su:切换用户或以其他用户身份执行命令
            su 用户:非登录式切换,不会读取目标用户配置文件
            su - 用户(su -l):登录式切换,读取目标用户配置文件,完全切换
            su 用户 -c '命令':当前shell下非登录式执行命令
            su 用户 -c '命令':当前shell下登录式执行命令
        usermod:用户属性修改
            -u UID:修改UID
            -g GID:新基本组
            -G GID,GID:覆盖附加组
            -Ga GID:追加附加组
            -s:新的默认shell
            -c '注释':新的注释信息
            -d /目录:新的家目录,不会创建目录,原文件不会移动到新的
            -dm /目录:新的家目录,并移动原文件
            -l newname:新的用户名
            -L:锁定用户
            -U:解锁用户
            -e YYYY-MM-DD:指定过期时间
        passwd:设置密码
            passwd:修改当前用户密码,不可为空
            passwd username:修改指定用户密码,只有root有权限
            passwd -l:锁定指定用户
                -u:解锁指定用户
                -n:修改最短使用期限
                -x:修改最长使用期限
                -w:提前警告时间
                -i:修改非活动期限,过期后可改密码期限
                --stdin:从标准输入接收用户密码
                    echo "123" |passwd --stdin username
                
                /dev/null:黑洞,输入到此设备全丢弃
                /dev/zero:向外一直输出0
                
        userdel:删除用户
            -r:删除用户家目录
        groupmod:修改组属性
            -n groupname:修改组名
            -g GID:修改GID
        groupdel:删除组
            groupdel groupname:删除指定组
        gpasswd:组设置密码
            gpasswd groupname:设置一个组密码
                -a user 组:为用户添加一个附加组
                -d user 组:删除用户的一个附加组
                -A user,user1... 组:设置有管理权限的用户列表
        newgrp gname:切换当前用户的基本组,用户不属于此组时组必须有密码
        pwck:检查/etc/passwd和/etc/shadow文件里用户是否有问题
        chage:修改密码属性
            -d 时间:最近一次修改时间
            -E 时间:账号过期期限
            -I 时间:活动期限
            -m 天:密码最小使用天
            -M 天:密码最大使用天
            -W 天:密码警告期限
        chfn 用户#:修改用户注释详细信息
        finger 用户:查看用户注释信息
        chsh 用户#:修改用户默认shell
        
    权限管理
        文件权限主要针对三类对象定义
            owner:属主
            group:属组
            other:其它
        三种权限
            r,w,x:读写执行
            对于文件
                r:可用查看命令获取其内容
                w:可修改其内容
                x:可以把文件内容提请到内核启动为一个进程
            对于目录
                r:可以用ls查看此目录列表
                w:可在此目录创建文件,可删除此目录中文件(对文件没权限也可删除)
                x:可以使用ll查看目录列表,可以cd进目录
                
        chmod:修改文件权限
            chmod 777 文件:修改文件权限为所有读写执行
            chmod -R 755 目录:递归修改权限,会让文件有x权限,不建议
            修改某一类权限
                chmod u=rwx:只改属主权限
                      g=rwx:只改属组权限
                      o=rwx:只改其它权限
                      ug=rw:改属主、属组权限
                      a=rwx:改所有类权限
                      u=r,o=r:改属主、属组权限
                      u+r,o-r:属主添加读权限,其它删除读权限
                      +x:三类全添加执行权限
                        支持-R:递归
            chmod --reference=文件1 文件2:修改文件2的权限为文件1相同的权限
        chown:修改文件属主属组,只有root可执行
            chown 用户:组 文件:修改文件属主属组(也可user.group)
                :组:只改属组

                -R:递归

                -h:修改软链接属主属组

            chown --reference=文件1 文件2:参考1改2
        chgrp 组 文件:修改属组
    
    umask:文件或目录创建时的反码
        file:666-umask
            如果减后有x权限,则权限+1
        dir:777-umask
        umask:查看系统反码
        umask 002:设置umask,只对当前用户的当前shell生效
原创粉丝点击