zoukankan      html  css  js  c++  java
  • Linux_用户权限管理

    目录

    用户管理

    Linux和Windows用户不能单独存在,必须属于一个或多个组。
    用户信息存储位置
    1. Windows userInfo :c:windowssystem32configsam 数据库中
    2. linux userInfo:
    /etc/passwd
    /etc/shadow
    /etc/group
    /etc/gshadow
    Linux user属性
    配置文件:/etc/login.defs (创建User的默认属性设定)
    RHEL7:
    管理员用户 0
    系统用户 1-200 Linux管理用户
    系统用户 201-999 Linux服务用户
    普通用户 1000-60000

    useradd创建用户

    常用选项:

    -u 指定UID
            -s 指定登陆后默认的shell
            -d 指定家目录
            -g 指定主组(只有一个属组)
            -G 指定附加组(有属组、附加组)
            -M 不建立家目录

    注意:Linux管理员组是wheel,并不是把用户加入到root组,用户就能成为管理员。

    userdel删除用户

    -r 删除用户家目录

    usermod修改用户账号

    -L 锁定用户  (不能login)
        -U 解锁用户

    passwd修改用户密码

    echo xxx | passwd --stdin 用户名 设定passwd

    设定用户密码使用策略

    chage-d 0 用户名 -- 下次登录强制修改密码
    chage -d 2015-04-01 jmilk 在 2015-04-01 强制用户修改密码
    chage -E 2015-12-31 jmilk  在 2015-12-31zhangsan 密码过期
    chage -l zhangsan  查看用户的密码策略

    用户权限设置

    Example:

    chmod ugoa+-/=/number fileName/directoryName    #修改文件或目录的权限
    chown userName:groupName fileName/directoryName    #修改文件或目录的属主、属组

    setuid:拥有者的强制位(u[+|-]s),一般指令设置setuid后,能够让普通用户在执行该指令的时候,使用root的权限来执行此指令。
    setgid:组的强制位(g[+|-]s),为目录设置setgid后,此目录下的文件或目录继承上一级目录的属组,一般用于生产中的团队文件管理。
    sticky:(冒险位,粘滞位o[+|-]t)谁创建的文件或目录就只有谁能够进行删除操作,一般用于共享目录。

    用户组管理

    groupadd:创建组
    groupdel:删除组,前提此组不能是某个用户的主组

    查看用户的属组

    id userName
    groups userName

    修改用户组gpasswd

    将一个user加入到group中
    gpasswd -a 一次加一个用户
    gpasswd -M 一次加入多个用户
    将一个user从组中删除
    gpasswd -d userName groupName

    为没有家目录的用户建立家目录

    mkdir /home/jmilk
        chown jmilk:jmilk /home/jmilk
        chmod 700 /home/jmilk
        cp -av /etc/skel/.[!.]*  /home/jmilk   #/etc/skel建立用户家目录的模板目录,若想对将来新建用户进行统一个性化设定,可以现在模板目录内设定。

    生产环境中隐藏root用户

    使root成为普通用户,使普通用户成为超级管理员(系统只要识别UID=0,就认为是超级管理员)
    直接编辑/etc/passwd文件

    root:x:1005:1005:root:/home/jmilk:/bin/bash
     jmilk:x:0:0::/root:/bin?hask

    umask控制文件或目录创建时的初始权限

    文件的默认权限:666-umask(两者为偶数的可以相减得出,否则不能)
    目录的默认权限:777-umask
    改变umask并使之永久生效:编辑/etc/profile中的umask值

    Linux的系统权限

    系统权限是针对文件系统的权限,与用户权限无关

    lsattr  fileName#列出文件的系统权限
    lsattr -d dirName    #列出目录的系统权限
    chattr +a fileName     #文件可以追加,不可以删除、修改
    chattr +i fileName       #文件不可以追加、修改、删除
    chattr +j fileName       #立即存储

    ACL

    一般使用chmod、chown全局设置权限,再使用acl进行局部调整。
    getfacl fileName #显示此文件是否设置了acl
    设定用户对未来创建的文件或子目录的权限

    setfacl-m d:u:用户名:权限 文件|目录
    setfacl -m  g:组名:权限  文件|目录
    setfacl -m d:u:jmilk:rw-  /abc   #d:default,用户在abc目录中建立文件或子目录,jmilk都有rw权限
    setfacl  -x  删除acl
    setfacl  -b  删除全部acl   

    注意:文件或目录的权限标识的意义
    -rw——- test ⇒ 设置权限前
    -rw-rwx—+ test ⇒ acl设置权限后
    rw- 表示拥有者的权限
    rwx 表示第一个acl用户的权限
    — 表示第1个 acl 组的权限
    +表示后面还有但没有显示

    相关阅读:

  • 相关阅读:
    牛客 158F 青蛙 (贪心)
    牛客 158D a-贝利福斯数
    长沙理工大学第十二届ACM大赛-重现赛 大家一起来数二叉树吧 (组合计数)
    美团2017年CodeM大赛-初赛B轮 黑白树 (树形dp)
    美团2017年CodeM大赛-初赛A轮 C合并回文子串
    活动安排问题
    0和5
    1489 蜥蜴和地下室
    1067 Bash游戏 V2
    1062 序列中最大的数
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13311000.html
Copyright © 2011-2022 走看看