• 用户的权限


    一,用户权限基础知识

    1,用户的权限有:

    • r:读
    • w:写
    • x:执行

    2,文件的权限:

    • r:可以执行catheadtail等命令读取文件中的内容
    • w:可以用vi/vim或者重定向等操作向文件中写入内容或着修改内容
    • x:可以执行文件

    3,目录的权限:

    • r:可以执行ls命令,来查看目录下有哪些文件
    • w:可以在目录执行文件创建和删除等操作
    • x:可以执行cd命令

    4,用户的角色:

    • 属主用户(u
    • 属组用户(g
    • 其他用户(o
    • 全部用户(a

    5,文件的权限位:

    -rw-r--r--
    -              rw-                      r--                    r--
    一般文件 属主:读写权限 属组:读权限 其他用户:读权限

    6,权限位的解释 

    1)第一位:表示文件的类型
    • -:一般文件
    • d:目录文件
    • l:链接文件
    2)第二位 - 第四位:表示文件属主所有具有的权限
    3)第五位 - 第七位:表示文件的属组所具有的权限
    4)第八位 - 第十位:表示系统中其他的用户所具有的权限
    注意:
    每一类用户的权限顺序都是:读、写、执行
    如果相对应的权限,就会出现字符,没有就会显示 -

    二,用户的几个命令

    1,chown命令

    作用:修改文件的属主
    格式: chown userName [-R] fileName
    选项:
    -R :在修改目录的时候,将目录的目录中的文件一并修改
    例:修改 11.txt 文件的属主
    chown tom 11.txt

    2,chgrp命令

    作用:修改文件的属组
    格式: chgrp 用户名 [-R] 文件名
    选项:
    -R :在修改目录的时候,将目录的目录中的文件一并修改
    例:将 1.txt 文件的属组改成 root
    chgrp root 1.txt

    3,chmod命令

    作用:修改文件的权限
    格式: chmod 赋权 文件名
    方式:
    • +:增加权限(在原有的基础上修改)
    例: chmod o+w 11.txt 给其他用户增加写的权限
    • -:去除权限(在原有的基础上修改)
    例: chmod g-r 11.txt
    • =:将权限修改位指定的权限(和原权限无关)
    例: chmod u=rwx,g=rw,o=r 11.txt
    例:将 11.txt 文件全部用户的权限去掉
    chmod a=--- 11.txt

    4,数字表示权限:

    • 0 无权限
    • 1 执行
    • 2
    • 4
    例:把 11.txt 文件的属主的全改为可读可写可执行
    chmod 700 11.txt
    • 如果是一个数字修改的是其他用户
    • 如果是俩个数字修改的是其他用户和属组
    • 三个就属主、属组、其他用户
    /etc/skel <<< 用户家目录模板
    • 新用户的家目录怎么生成的
           将 /etc/skel 目录复制到 home' 下,改名位和用户名相同
           将这个目录的属主、属组改为该用户
            将目录的权限改位 700
    • 假设用户tom
      1. cp -r /etc/skel /home/tom
      2. chown -R tom.tom /home/tom
      3. chmod -R 700 /home/tom

      /etc/login.defs <<<控制新建用户的默认属性

    #QMAIL_DIR /var/spool/mail
    指定新用户的邮箱位置
    PASS_MAX_DAYS 99999
    新用户密码最长有效期
    PASS_MIN_DAYS 0
    新用户修改密码最短时间
    PASS_MIN_LEN 5
    用户密码最短长度
    PASS_WARN_AGE 7
    密码到期前警告时间长度
    UID_MIN
    新建普通用户的默认 uid 最小值
    UID_MAX
    新建普通用户的默认 uid 最大值
    CREATE_HOME
    默认创建家目录
    USERGROUPS_ENAB
    当前用户组中没有用户,是否删除用户组
    ENCRYPT_METHOD SHA512
    指定加密算法
    新建用户:
    1. useradd
    2. passwd
    完成的操作:
    1. /etc/passwd 添加一行
    2. /etc/shadow 添加一行
    3. /etc/group 添加一行
    4. 创建用户家目录
    5. 创建用户邮件文件
    例:创建用户 jerry
    要求:
    uid 777
    主组 hadoop 800
    附加组 python 850 hbase 860
    家目录 /home/jerry
    描述 l am jerry
    密码 123456 ,最少使用 3 天才能再次修改,最长使用 30 天,到期前 5 天发送报警
    实现步骤
    1. 创建用户基本信息( /etc/passwd
    1. vi /etc/passwd
    2. jerry:x:777:800:i am jerry:/home/jerry:/bin/bash

    2.检查用户

    id jerry

    3.使用openssl来生成密码

    格式: openssl passwd -1 -salt "string"
    说明:
    -1 :表示 md5 加密算法
    -salt :表示加密的时候插入杂质(提高安全性)
    openssl passwd -1 -salt "123456"
    $1$123456$wOSEtcyiP2N/IfIl15W6Z0
    4. 修改密码文件
    echo `zhangsan:$1$123456$wOSEtcyiP2N/IfIl15W6Z0:19864:3:30:5:::` >> /etc/passwd
    5. 创建用户组
    vim  /etc/group
    oop:x:800
    python:x:850:jerry
    hbase:x:860:jerry
    6. 创建用户家目录
    cp -r /etc/skel /home/jerry
    cd /home
    chown -R jerry.hadoop /home/jerry/
    7.创建用户邮件
    cd /var/spool/mail/
    touch jerry
    chmod 660 jerry
    chown jerry.mail jerry
    8. 测试用户是否可以正常使用

    三,用户授权

    如果普用用户需要执行特殊操作,有两种方法:
    • su - root 切换到root账户进行特殊操作,然后再回返到普通用户
    • sudo 命令

    1,su命令:

    1. 优点:使用简单
    2. 缺点:
    • root密码容易泄露
    • 普通用户执行操作不可控

    2,sudo命令:

    作用:给普通用户授权,让普通用户执行特定的操作
    1. 缺点:需要进行权限配置
    • 优点:
    • 不要切换到root用户(不用知道root密码)
    • 用户可执行预定的操作
    • 可以记录每个用户执行过的命令
    sudo 使用:
    • 第一步:通过sudo配置文件为普通用户授权
    • 第二步:普通用户执行特殊操作
    sudo 的配置文件:
    • /etc/sudoers
    格式:
    root ALL=(ALL) ALL
    用户名 主机 =( 用户名 ) 全部命令
    %aa 代表给 aa 组授权
    ALL: 全部命令
    /usr/bin/touch 授权单个命令
    /usr/bin/touch,/usr/bin/ls 授权多个命令用 , 隔开
    /usr/bin/* 授权 /usr/bin 下的全部命令
    修改配置文件:
    visudo
    添加一行
    zhangsan ALL=(root) /usr/bin/touch,/usr/bin/ls
    用普通用户执行命令:
    用管理员身份执行需用: sudo 命令 来执行
    sudo touch /a
    前面有 % 代表是给用户组授权

  • 相关阅读:
    FreeSWITCH在session上执行特定dialplan
    OpenCV从入门到精通实战(五)——dnn加载深度学习模型
    C++ call python with cmake
    【Hive SQL 每日一题】统计用户连续下单的日期区间
    前端HTML5 +CSS3 3. HMTL基础 1 列表标签 && 2 表格标签
    从零学习Linux操作系统 第三十五部分 Ansible中的角色
    STM32F429主控TB6612驱动直流电机----解决PWM波形未输出bug
    大数据面试之Hadoop
    工程机械比例阀电流采集方案
    设备树与中断,操作系统如何使用中断
  • 原文地址:https://blog.csdn.net/weixin_59839356/article/details/139479655