Linux权限管理(用户和组以及文件权限)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_1018944104/article/details/83931788

目录

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是目录,表示修改当前目录及其所有子目录和文件的所属用户和所属组

猜你喜欢

转载自blog.csdn.net/qq_1018944104/article/details/83931788