Linux用户及权限管理

发布于:2022-07-26 ⋅ 阅读:(377) ⋅ 点赞:(0)

用户与用户组在Linux系统中的位置 

用户和用户组
    用户在/etc/passwd中
    用户组在/etc/group/中
注意:在创建用户时,系统默认生成一个用户组(组名和用户名一致):主组

    查看用户时:cy:x:1000:1000:cy:/home/cy:/bin/bash
        cy:用户名
        x:加密的密码
        1000:用户编号
        1000:组编号
        cy:用户全名称
        /home/cy:所在位置
        /bin/bash:可执行命令



 操作用户的命令

    useradd:添加用户
        格式:
            useradd 用户名 

    passwd:修改密码
        格式:
            passwd 用户名
        注意:输入密码时,密码默认不显示

    su:切换用户
        格式:
            su 用户
        注意:root切换普通用户时,不需要输入密码。

    userdel:删除用户
        格式:
            userdel [选项] 用户名
        选项:
            -f:删除登录用户
            -r:删除用户和用户相关文件和目录
            -rf:删除登录用户和登录用户相关文件和目录
        注意:用户主目录在/home,通信文件在/var/spool/mail/
            使用-f时,用户相关文件和目录不会进行删除


操作组的命令

    groupdel:删除组(普通组,不能删除主组)
        格式:
            groupdel 组名
        注意:
            不能删除主组,主组随着用户的消失而消失
    区分:主组是创建用户时系统默认生成的,依赖于用户的存在而存在
         手动创建的普通组用于管理多个普通用户
    gpasswd:管理用户和组
        格式:
            gpasswd [选项] 用户 组
        选项:
            -a:添加
            -d:删除
        注意:组默认是没有任何用户的
            添加一个用户到组的时候,可以添加到普通组,别的主组和本身的主组
            如果是普通组,无论组下是否有用户都可以直接删除
            如果是主组并且主组下面有其他用户,删除用户时主组不会删除(主组变成普通组)

图解:


权限与权限的分配

权限:
    通过ll查看详细信息时:-rw-r--r--. 1 root root 181 3月  15 15:34 test.txt
    -:表示类型
    rw-:当前用户权限
    r--:当前用户组权限
    r--:其他用户权限

    r:读
    w:写
    x:执行

    u:当前用户
    g:当前组
    o:其他
    a:所有
    
权限分配
    chmod:修改权限
        格式1:(使用相加减表达权限)
        例如:o+w(其他用户加上可写权限)、g-w(当前组去除可写权限)
              o-w,o-x(其他用户去除可写权限,其他用户去除可执行权限)
            chmod [选项] [权限修改] [文件]
        格式2:(使用数字表达权限)
            chmod [选项] [权限修改] [文件]    
            4:读
            2:写
            1:执行
            7:全部
        注意:如果只给一个数字表示修改o,两个表示修改go
        选项:
            -R:迭代修改

    chgrp:修改所属用户组
        格式:
            chgrp [选项] [组名] [文件或目录]
        选项:
            -R:表达迭代修改
        注意:文件或目录的所属用户或所属组,都是以编号来查询所属用户或所属组的
            如果所属用户或所属组不存在就显示编号,存在显示名称
            Linux系统中用户或组都是以编号(id)来与之一一对应的

    chown:修改所属用户
        格式:
            chown [选项] [用户名] [文件或目录]
        选项:
            -R:表达迭代修改

    sudo:越权执行
        格式:
            sudo 命令
        注意:sudo实际上去借root权限执行命令(root对普通用户分配了权限)

    sudo -l:查看当前权限

    visudo:修改配置文件进行权限分配(文件所在位置/etc/sudoers)
        例如:普通用户拥有root所有权限
            用户名 ALL=(ALL) ALL
            用户名 ALL=(root) ALL
        例如:普通用户只能执行一个或两个命令(用","分隔)
            用户名 ALL=(root)/bin/rm,/bin/touch
            用户名 ALL=/bin/rm,/bin/touch

    可以通过vim /etc/sudoers修改权限分配


练习一:
在用户的主目录下创建目录test,进入test创建空文件file1
1) 为文件file1设置权限,使其他用户可以对此文件进行写操作。
2) 取消同组用户对文件file1的读取权限,并查看设置结果。
3) 用数字表示法为文件file1设置权限,所有者可读、可写、可执行,所属组用户和其他用户只具有读和执行的权限。设置完成后查看设置结果。
4) 用数字形式更改文件file1的权限,使所有者只能读取此文件。其他任何用户都没有权限。查看设置结果。
5) 为其他用户添加对此目录的写权限


 练习二:
在/opt目录下创建tester目录,然后批量创建10个文件,文件名为tester_1、tester_2一直到tester_10,
1) 将结尾为偶数的文件权限设置为所有用户只读权限,将奇数文件设置为全部权限;
2) 新创建一个用户mom,将上一题的创建的所有文件属主及属组设置为mom;
3) 修改tester目录属组为mom;


网站公告

今日签到

点亮在社区的每一天
去签到