Linux用户和权限

Linux用户和权限

1 Linux的root用户

1.1 root用户(超级管理员)

无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。

  • 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)
  • 而在前期,我们一直使用的账户是普通的用户(lxt)

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。

例如:

  • 使用普通用户在根目录下创建文件夹
image-20230325221700738
  • 切换到root用户后,继续尝试
image-20230326113718579
  • 普通用户的权限,一般在其Home目录内是不受限的

  • 一旦出了Home目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

1.2 su和exit命令

su命令就是用于账户切换的系统命令,其来源英文单词:Switch User

命令:su [-] [用户名]

  • 符号是可选的,表示是否在切换用户后加载环境变量

  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略(默认)表示切换到root

  • 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl+d

  • 使用普通用户,切换到其他用户需要输入密码,如切换到root用户

  • 使用root用户切换到其他用户,无需密码,可以直接切换

1.3 sudo命令

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。

但不建议长期使用root用户,避免带来系统损坏。

可以使用sudo命令,为普通的命令授权,临时以root身份执行。

命令:sudo 其他命令

  • 在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权
  • 但并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证
为普通用户配置sudo认证
  • 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
  • 在文件的最后添加 普通用户名 ALL = (ALL) NOPASSWD:ALL

image-20230326140605329

​ 其中最后的NOPASSWD:ALL表示使用sudo命令,无需输入密码

  • 最后通过wq保存
  • 切换回普通用户

image-20230326142553104

image-20230326142634019
  • 执行的命令,均以root运行

2 用户和用户组

Linux可以支持多用户.多用户组/用户加入多个组。
Linux权限管控的单元是用户级别和用户组级别。

2.1 用户、用户组

Linux系统中可以:

  • 配置多个用户
  • 配置多个用户组
  • 用户可以加入多个用户组中
image-20230326142930003

Linux中关于权限的管控级别有两个,分别是:

  • 针对用户的权限控制
  • 针对用户组的权限控制

比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。

所以,需要学习在Linux中进行用户、用户组管理的基础命令,为后面学习权限控制打下基础。

2.2 用户组管理

以下命令需root用户执行

  • 创建用户组

    groupadd 用户组名

  • 删除用户组

    groupdel 用户组名

2.3 用户管理

以下命令需root用户执行

  • 创建用户 useradd [-g -d] 用户名

    • 选项:-g指定用户的组,不指定-g,会创建同名组(即与用户名同名的用户组)并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
    • 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

    image-20230326194131556

  • 删除用户userdel [-r] 用户名

    • 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
  • 查看用户所属组 id [用户名]

    • 参数:用户名,被查看的用户,如果不提供则查看自身
  • 修改用户所属组usermod -aG 用户组 用户名

    • 将指定用户加入指定用户组

2.4 getent

使用getent命令,可以查看当前系统中有哪些用户

命令:getent passwd

共有7份信息,分别是:

image-20230326204931849

用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

使用getent命令,同样可以查看当前系统中有哪些用户组

命令:getent gruop

包含3份信息, 组名称:组认证(显示为x):组ID

image-20230326205518537

2.5 查看权限控制信息

认知权限信息

通过ls -l可以以列表形式查看内容,并显示权限细节

image-20230326210819224

  • 序列1,表示文件/文件夹的权限控制信息

  • 序列2,表示文件/文件夹所属用户

  • 序列3,表示文件/文件夹所属用户组

权限细节总共分为十个槽位

image-20230326214155038

第一位表示文件类型:

  • -:表示普通文件、文本、可执行、归档文件等

  • d: 文件夹

  • l:软链接

  • b:块设备文件(例如硬盘、光驱等)

  • p:管道文件 (一种特殊缓存文件)

  • c:字符设备文件(例如屏幕等串口设备)

  • s:网络socket文件

2-10位 rwx-:

针对文件、文件夹的不同,rwx的含义有细微差别.

  • r表示读权限

    针对文件可以查看文件内容.
    针对文件夹,可以查看文件夹内容,如ls命令.

  • w表示写权限

    针对文件表示可以修改此文件.

    针对文件夹,可以在文件夹内:创建、删除、改名等操作.

  • x表示执行权限
    针对文件表示可以将文件作为程序执行.
    针对文件夹,表示可以更改工作目录到此文件夹,即cd进入.

  • -表示不具有该项权限

2.5 修改权限控制 chmod命令

chmod命令

我们可以使用chmod命令,修改文件,文件夹的权限信息。

注意,只有文件、文件夹的所属用户或root用户可以修改。

命令:chmod [-R] 权限 文件或文件夹

  • 选项: -R,对文件夹内全部内容应用同样的操作

示例:

  • chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-x–x. (其中: u表示user所属用户权限,g表四group组权限,o表示other其他用户权限)
  • chmod -R u=rwx,g=rx,o=x test, 将文件夹test以及文件夹内部全部内容权限设置为:rwxr-x–x
权限的数字序号

0-7八种权限组合:

r4w2x1 (也可用理解为二进制)

故751表示 : rwx(7)r-x(5)–x(1)

则上述示例可简化为:

  • chmod 751 hello.txt

2.6 修改权限控制 chown命令

使用chown命令,可以修改文件、文件夹的所属用户和用户组。
普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行。

命令: chown [-R] [用户] [:] [用户组] 文件或文件夹

  • 选项,-R,同chmod,对文件夹内全部内容应用相同规则
  • 选项,用户,修改所属用户
  • 选项,用户组,修改所属用户组
  • :用于分隔用户和用户组

例:

  • chown root hello.txt, 将hello.txt所属用户修改为root
  • chown :root hello.txt, 将hello.txt所属用户组修改为root
  • chown root:lxt hello.txt, 将hello.txt所属用户修改为root, 用户组修改为lxt
  • chown -R root test,将文件夹test的所属用户修改为root, 并对文件夹内全部内容应用同样规则

3 umask

为什么系统中的文件,创建后,默认权限是我们所看到的样子?

image-20230413183501331

其实对于新创建的文件,默认权限是由umask(即权限掩码)确定的,而对于不同文件,有不同起始权限:

  • 对于普通文件,起始权限为666
  • 对于目录文件,起始权限为777

凡是在umask中出现的,都应在起始权限中去掉。

例如:

image-20230413185105203

同时,umask是可以自定义的,也就意味着可以自定义默认权限

image-20230412093419999

4 粘滞位

当一个目录被设为粘滞位(用chmod+t ),则该目录下的文件只能由

  1. 超级管理员删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除

例如:chmod +t /home/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值