当前位置 博文首页 > 夜雨寒霜:Linux权限管理(用户和组以及文件权限)

    夜雨寒霜:Linux权限管理(用户和组以及文件权限)

    作者:[db:作者] 时间:2021-08-07 22:10

    目录

    1.linux系统启动级别管理

    2.linux终端工具CRT

    3.用户和组

    4.配置用户sudoers权限

    5.切换用户

    6.文件权限


    1.linux系统启动级别管理

    查看系统运行级别:runlevel

    修改系统启动级别:vim /etc/inittab,把末尾行id改为3即可,默认是5,即图形界面(修改完重启)

    2.linux终端工具CRT

    给大家推荐一个命令终端工具SecureCRT,类似的远程终端工具有XShell,Putty等等。

    3.用户和组

    3.1.概念

    什么是用户?什么是用户组?用户就是一组权限的集合。组是权限容器。

    3.2.Linux用户类型

    用户类型

    描述

    管理员root

    具有使用系统所有权限的用户,其UID为0

    系统用户

    保障系统运行的用户,一般不提供密码登录系统,其UID为1-499之间

    普通用户

    一般用户,其使用系统的权限受限,其UID为500-60000之间

    3.3.与linux用户信息相关的2个文件

    与用户信息相关的2个文件分别是/etc/passwd和/etc/shadow

    文件内容含义解释

    查看文件cat /etc/passwd的内容,选取第一行:root:x:0:0:root:/root:/bin/bash

    root:用户名

    x:密码占位符,密码保存在/etc/shadow文件内

    0:用户id,UID

    0:组id,GID

    root:注释信息

    /root:用户家目录

    /bin/bash:用户默认使用shell

    3.3.用户操作:添加用户、修改密码、修改用户和删除用户

    添加用户

    1. useradd spark
    2. usermod -G bigdata spark #设置组
    3. usermod -c "mylove spark" spark #添加注释信息
    4. useradd -G bigdata -c "mylove spark" spark #一步完成上面的操作

    设置密码:passwd spark #根据提示设置密码即可

    修改用户

    1. usermod -l storm spark #修改spark登录名
    2. usermod -G root,bigdata spark #将spark添加到bigdata和root组
    3. groups spark #查看spark组信息

    删除用户:userdel -r spark #加一个 -r 就表示把用户及用户的主目录都删除

    3.4.用户组类型

    用户组类型

    描述

    系统组

    一般加入一些系统用户

    普通用户组

    可以加入多个用户

    私有组 / 基本组

    当创建用户时,如果没有为其指明所属组,则就为其定义一个私有的用户组,起名称与用户名同名,当把其他用户加入到该组中,则其就变成了普通组

    3.5.与linux用户组信息相关的2个文件

    与用户组信息相关的2个文件分别是 /etc/group 和 /etc/gshadow

    文件内容含义解释

    查看文件/etc/group 文件内容,选取一个普通组行:hdp01:x:500:

    hdp01:组名

    x:组密码占位符

    500:组id

    3.6.用户组操作:添加组、修改组、删除组

    1. groupadd bigdata #添加一个叫bigdata的组
    2. cat /etc/group #查看系统当前有哪些组
    3. 将spark用户添加到bigdata组中
      1. usermod -G bigdata spark
      2. gpasswd -a spark bigdata
    4. gpasswd -d spark bigdata #将spark用户从bigdata组删除
    5. groupmod -n bigspark bigdata #将bigdata组名修改为bigspark
    6. groupdel bigdata #删除组

    4.配置普通用户sudoers权限

    为什么需要为普通用户配置sudoers权限

    一般情况下,使用普通用户进行一些简单的操作就ok,但是普通用户和root用户的区别就在于root用户能对系统做任何事,但是普通用户就不行,处处受限。那么假如在某些情况下,普通用户想要拥有更大的权限做更多的事情,虽然有权限限制,但也不是不可以。部分操作还是可以赋予更高的权限让普通用户做一次。这就需要给普通用户配置root权限了。意思是让普通用户使用root权限去做一些操作,这当然是需要配置的。

    如何为用户配置sudoers权限?步骤如下:

    1.切换到root用户

    2.执行:vim /etc/sudoers #只有root用户才能修改此文件,只读就强制修改即 wq!

    3.在文件的如下位置,为hadoop用户和spark用户添加一行即可:

    • root ALL=(ALL) ALL
    • hadoop ALL=(ALL) ALL
    • spark ALL=(ALL) ALL

    4.然后,hadoop用户和spark用户就可以用sudo来执行系统级别的指令。如下:

    • [hadoop@hadoop01 ~]$ sudo useradd huangxiaoming

    5.切换用户

    在linux系统使用过程中,免不了会有多个用户来回切换使用。所以在此提供切换用户的操作:切换用户使用的命令是 su(swith user)

    从普通用户切换到root用户:

    [hadoop@hadoop01 ~]$ su root?或者 [hadoop@hadoop01 ~]$ su ## 然后根据提示输入密码即可

    从root用户切换到普通用户:

    [root@hadoop01 ~]# su hadoop ## 不用输入密码

    退出登录:

    [hadoop@hadoop01 ~]$ exit

    6.文件权限

    6.1.文件信息含义解释

    文件信息:drwxr-xr-x. 2 root root 4096 Oct 29 16:43 Desktop

    • drwxr-xr-x:文件类型和权限。第1位:文件类型,剩余9位:文件权限
    • 2:链接数,普通文件链接数是1,目录链接数是子目录的个数。空目录有.. 和.目录,所以是2。
    • root:当前文件所属用户
    • root :当前文件所属组
    • 4096:文件大小
    • Oct 29 16:43:最后修改日期
    • Desktop:文件名称

    文件类型

    • d:目录
    • -:普通文件
    • l:链接文件
    • c:字符设备
    • b:二进制设备文件
    • p:管道

    文件权限:rwx r-x r-x

    • 前3位:所属用户权限(u)。是否可读,是否可写,是否可执行。每一位可以用二进制0/1表示,3为合起来就是十进制数字。比如rwx,二进制表示就是111,十进制表示就是7。
    • 中3位:所属组权限(g)。是否可读,是否可写,是否可执行。每一位可以用二进制0/1表示,3为合起来就是十进制数字。比如r-x,二进制表示就是101,十进制表示就是5。
    • 后3位:其他用户权限(o)。是否可读,是否可写,是否可执行。每一位可以用二进制0/1表示,3为合起来就是十进制数字。比如r-x,二进制表示就是101,十进制表示就是5。
    ?

    文件

    文件夹

    r

    可读取内容

    可以ls

    w

    可修改文件的内容

    可以在其中创建或者删除子节点

    x

    能否运行这个文件

    能否cd进入这个目录

    6.2.修改文件权限

    • chmod g-rw haha.txt ##表示将haha.txt对所属组的rw权限取消
    • chmod o-rw haha.txt ##表示将haha.txt对其他人的rw权限取消
    • chmod u+x haha.txt ##表示将haha.txt对所属用户的权限增加x
    • chmod a-x haha.txt ##表示将haha.txt对所有用户取消x权限
    • chmod 664 haha.txt ##也可以用数字的方式来修改权限,就会改成rw-rw-r--
    • chmod -R 770 aaa/ ##将文件夹的所有内容权限统一修改,则可使用-R参数

    6.3.修改文件所有权

    只有root权限能执行,普通用户使用sudo:

    • chown angela aaa ##改变所属用户
    • chown :angela aaa ##改变所属组
    • chown angela:angela aaa ##同时修改所属用户和所属组
    • chown -R angela:angela bb ?##bb是目录,表示修改当前目录及其所有子目录和文件的所属用户和所属组

    cs