Linux基础入门——用户和权限

课程链接:第三章-01-Linux的root用户_哔哩哔哩_bilibili

前置文章:Linux基础入门-CSDN博客

声明:该文章为本人的学习笔记,非专业教程

目录

声明:该文章为本人的学习笔记,非专业教程

第三章 Linux用户和权限

认识root用户

root用户(超级管理员)

su和exit命令

sudo命令

为普通用户配置sudo认证

用户、用户组管理

用户组管理(需要root权限)

用户管理(需要root权限)

创建用户

删除用户

查看用户所属的组

修改用户所属组

getent命令查看用户或用户组

查看权限控制

认知权限信息

权限细节

权限解读

首字母

文件\文件夹权限

修权限控制 - chmod

chown命令


第三章 Linux用户和权限

认识root用户

root用户(超级管理员)

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

  • 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)

  • 而在前期,我们一致使用的账户是普通用户

root用户拥有最大的系统操作权限,而普通用户在很多地方的权限是受限的(比如:普通用户不能再根目录 / 创建文件或文件夹)。

  • 普通用户的权限,一般再其HOME目录(/home/用户名)内不受限。

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

su和exit命令

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

语法:su [-] [用户名]

  • -符号是可选的,表示是否再切换用户后加载环境变量(后面会讲解),建议带上

  • [用户名],表示要切换到用户,用户名省略则表示切换到root用户

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

  • 使用普通用户切换到其他用户时需要输入密码(输入时终端不会显示),如切换到root用户

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

演示

[womeng@localhost ~]$ su - root
Password: 
Last login: Sat Aug 24 19:37:48 PDT 2024 on pts/1
[root@localhost ~]# exit
logout
[womeng@localhost ~]$ su -
Password: 
Last login: Sat Aug 24 19:38:52 PDT 2024 on pts/1
[root@localhost ~]# su - womeng
Last login: Sat Aug 24 19:37:58 PDT 2024 on pts/1

sudo命令

通过su命令切换到root可以获得最大权限,但并不建议长期使用root用户,避免带来系统损坏。

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

语法:sudo [其他命令]

  • 在执行命令之前,加上sudo,即可为这一条命令临时赋予root权限

  • 但是并不是所有用户都有权利使用sudo,只有配置了sudo认证的用户才能使用

为普通用户配置sudo认证
  • 切换到root用户,执行visudo命令,会自动通过vi编辑器打开 /etc/sudoers

  • 在文件最后添加:

    你的用户名 ALL=(ALL)   NOPASSWD: ALL
    • 其中 NOPASSWD: ALL表示使用sudo命令,无需输入密码

  • 组后通过 :wq保存

  • 切普通用户,测试在根目录 / 添加一个文件夹 即 执行命令 sudo mkdir /test

[womeng@localhost ~]$ sudo mkdir /test
[womeng@localhost ~]$ ls /
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  test  tmp  usr  var
[womeng@localhost ~]$ sudo rm -r /test
[womeng@localhost ~]$ ls /
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

用户、用户组管理

Linux系统中可以:

  • 配置多个用户

  • 配置多个用户组

  • 用户允许加入多个用户组

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

  • 针对用户的权限控制

  • 针对用户组的权限控制

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

用户组管理(需要root权限)

  • 创建用户组:groupadd 用户组名

  • 删除用户组:groupdel 用户组名

创建和删除用户组

[womeng@localhost ~]$ sudo groupadd test
[womeng@localhost ~]$ sudo groupdel test

用户管理(需要root权限)

创建用户

语法:useradd [-g -d] 用户名

  • -g:指定用户的组,如不指定组,会自动创建同名组并加入,指定 -g需要组存在,如已存在同名组,必须使用 -g

  • -d:指定用户HOME路径,不指定,HOME默认在:/home/用户名

演示

[womeng@localhost ~]$ sudo useradd test
[womeng@localhost ~]$ sudo useradd test1 -g test
[womeng@localhost ~]$ ll /home
总用量 4
drwx------.  3 test   test     78 8月  25 02:15 test
drwx------.  3 test1  test     78 8月  25 02:19 test1
drwx------. 21 womeng womeng 4096 8月  24 08:17 womeng

PSll相当于 ls -l

删除用户

语法:userdel [-r] 用户名

  • -r :删除用户的HOME目录,不使用 -r,用户删除时,HOME目录会保留

演示

[womeng@localhost ~]$ sudo userdel test1 -r
[womeng@localhost ~]$ ll /home
总用量 4
drwx------.  3 test   test     78 8月  25 02:24 test
drwx------. 21 womeng womeng 4096 8月  24 08:17 womeng
查看用户所属的组

语法:id[用户名]

  • 用户名:即被查看的用户,不提供则默认查看当前用户

演示

[womeng@localhost ~]$ id test
uid=1001(test) gid=1001(test) 组=1001(test)
修改用户所属组

语法:usermod -aG 用户组 用户名 意为将指定用户添加到指定的组

  • 用户组:要添加到的组

  • 用户名:被添加的用户名

演示

[womeng@localhost ~]$ sudo useradd test2
[womeng@localhost ~]$ id test2
uid=1002(test2) gid=1002(test2) 组=1002(test2)
[womeng@localhost ~]$ sudo usermod -aG test test2
[womeng@localhost ~]$ id test2
uid=1002(test2) gid=1002(test2) 组=1002(test2),1001(test)
getent命令查看用户或用户组

查看系统中的用户

语法:getent passwd

演示

[womeng@localhost ~]$ sudo getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...
womeng:x:1000:1000:womeng:/home/womeng:/bin/bash
test:x:1001:1001::/home/test:/bin/bash
test2:x:1002:1002::/home/test2:/bin/bash

列出的共有7份信息,分别是:

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

查看系统中的用户组

语法:getent group

[womeng@localhost ~]$ sudo getent group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
...
tcpdump:x:72:
womeng:x:1000:
test:x:1001:test2
test2:x:1002:

结构说明:组名称 : 组认证(显示为x) : 组ID

查看权限控制

认知权限信息

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

  • 序号1:表示文件、文件夹的权限控制信息

  • 序号2:表示文件、文件夹所属的用户

  • 序号3:表示文件、文件夹所属的用户组

权限细节

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

举例drwx-xr-x表示:

  • d:位于首字母,表示这是一个文件夹

  • rwx:表示所属用户的权限

  • r-x:表示所属用户组的权限(其中 - 表示不具有该权限)

  • r-x:表示其他用户对该文件的权限

权限解读
首字母
类型说明
-普通文件。
d目录,字母ddirtectory(目录)的缩写。
l符号链接。请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息。
b块设备文件。
c字符设备文件。
p管道文件
s套接口文件
文件\文件夹权限
八进制位权限权限符号二进制位
7读\写\执行rwx111
6读\写rw-110
5读\执行r-x101
4r--100
3写\执行-wx011
2-w-010
1执行--x001
0无权限---000
  • r (read):读权限,表示可以读取文件的内容或列出目录中的文件列表。

  • w (write):写权限,表示可以编辑文件内容、删除文件或目录,以及在目录中创建新文件。

  • x (execute):执行权限,对于文件来说,表示可以执行该文件(如果它是一个可执行程序或脚本);对于目录来说,表示可以进入该目录(使用 cd 命令)

参考Linux:文件权限详解及修改方法_linux修改文件权限-CSDN博客

修权限控制 - chmod

使用chmod命令可以修改文件、文件夹的权限信息。但只有文件、文件夹的所属用户或root用户才可以修改

语法:chmod [-R] 权限 文件或文件夹

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

演示chmod u=rwx,g=rx,o=x hello.txt

[womeng@localhost ~]$ ll
总用量 8
drwxr-xr-x. 4 womeng womeng  32 8月  23 19:38 Desktop
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Documents
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Downloads
-rw-rw-r--. 1 womeng womeng 104 8月  24 08:17 hello.txt
...
[womeng@localhost ~]$ chmod u=rwx,g=rx,o=x hello.txt
[womeng@localhost ~]$ ll
总用量 8
drwxr-xr-x. 4 womeng womeng  32 8月  23 19:38 Desktop
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Documents
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Downloads
-rwxr-x--x. 1 womeng womeng 104 8月  24 08:17 hello.txt
...

命令中的u表示user所属用户权限,g表示group组权限,o表示其他用户权限

上述命令也可以表示为 chmod 751 hello.txt,参考 文件\文件夹权限

演示

[womeng@localhost ~]$ ll
总用量 8
drwxr-xr-x. 4 womeng womeng  32 8月  23 19:38 Desktop
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Documents
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Downloads
-rw-rw-r--. 1 womeng womeng 104 8月  24 08:17 hello.txt
...
[womeng@localhost ~]$ chmod 751 hello.txt
[womeng@localhost ~]$ ll
总用量 8
drwxr-xr-x. 4 womeng womeng  32 8月  23 19:38 Desktop
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Documents
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Downloads
-rwxr-x--x. 1 womeng womeng 104 8月  24 08:17 hello.txt
...

chown命令

使用 chown命令,可以修改文件、文件夹的所属用户和用户组。

普通用户无法修改所属为其他用户或组,需要获得root权限

语法:chown [-R] [用户][:][用户组] 文件或文件夹

  • -R,同chmod,对文件内全部内容应用相同的规则

  • 用户,修改所属用户

  • 用户组,修改所属用户组

  • :,用于分隔用户和用户组

示例:

将hello.txt所属用户修改为rootchown root hello.txt

[womeng@localhost ~]$ sudo chown root hello.txt
[womeng@localhost ~]$ ll
总用量 8
drwxr-xr-x. 4 womeng womeng  32 8月  23 19:38 Desktop
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Documents
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Downloads
-rwxr-x--x. 1 root   womeng 104 8月  24 08:17 hello.txt

将hello.txt所属用户组修改为rootchown :root hello.txt

[womeng@localhost ~]$ sudo chown :root hello.txt
[womeng@localhost ~]$ ll
总用量 8
drwxr-xr-x. 4 womeng womeng  32 8月  23 19:38 Desktop
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Documents
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Downloads
-rwxr-x--x. 1 root   root   104 8月  24 08:17 hello.txt

将hello.txt所属用户修改为root,用户组修改为 womengchown root:womeng hello.txt

[womeng@localhost ~]$ sudo chown root:womeng hello.txt
[womeng@localhost ~]$ ll
总用量 8
drwxr-xr-x. 4 womeng womeng  32 8月  23 19:38 Desktop
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Documents
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Downloads
-rwxr-x--x. 1 root   womeng 104 8月  24 08:17 hello.txt

将文件夹test的所属用户修改为root并对文件夹内全部内容应用同样规则chown -R root test

[womeng@localhost ~]$ ll test
总用量 0
drwxrwxr-x. 2 womeng womeng 6 8月  25 06:49 test1
drwxrwxr-x. 2 womeng womeng 6 8月  23 20:19 test2
[womeng@localhost ~]$ sudo chown -R root test
[womeng@localhost ~]$ ll test
总用量 0
drwxrwxr-x. 2 root womeng 6 8月  25 06:49 test1
drwxrwxr-x. 2 root womeng 6 8月  23 20:19 test2
[womeng@localhost ~]$ ll
总用量 8
...
drwxrwxr-x. 4 root   womeng  32 8月  25 06:50 test
drwxrwxr-x. 2 womeng womeng   6 8月  23 20:19 test3
drwxrwxr-x. 2 womeng womeng   6 8月  23 20:19 test4
-rw-rw-r--. 1 womeng womeng  15 8月  24 07:57 test.txt
drwxr-xr-x. 2 womeng womeng   6 8月  22 07:00 Videos
drwxrwxr-x. 3 womeng womeng  18 8月  23 03:01 womeng

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值