Linux下的权限介绍

目录

Linux下如何创建一个用户

Linux下如何删除一个用户

Linux权限的概念

Linux权限管理

01.文件访问者的分类(人)

02.文件类型和访问权限(事物属性)

a) 文件类型

b)基本权限

03.文件权限值的表示方法

04.文件访问权限的相关设置方法

a)chmod

b)chmod a=x /home/abc.txt

c)chown

d)chgrp

file指令


Linux下如何创建一个用户

下面演示创建一个ShaXiang的用户(本操作实在root用户下进行操作)

[root@VM-8-14-centos lesson]# sudo useradd ShaXiang
// 查看是否创建成功用户
[root@VM-8-14-centos home]# ls          // ShaXiang就是创建的新用户
lighthouse  ShaXiang
[root@VM-8-14-centos home]# pwd         // 所在的目录下
/home

给新的用户创建密码

[root@VM-8-14-centos home]# sudo passwd ShaXiang        // 创建密码
Changing password for user ShaXiang.
New password:   // 第一次密码
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:    // 第二次密码
passwd: all authentication tokens updated successfully.
​
// 切换用户
[root@VM-8-14-centos home]# su ShaXiang
[ShaXiang@VM-8-14-centos home]$ whoami      // 查看当前用户
ShaXiang
​
// 最终ShaXiang用户密码:
// 最终root用户密码:

Linux下如何删除一个用户

userdel命令可以用于删除用户帐号及相关档案。

语法:userdel [-r] 用户名 参数:-r 用于彻底删除,用户HOME目录下的档案会被移除,在其他位置上的档案也将一一找出并删除,比如路径/var/mail/用户名 下的邮件。

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户 。

  • 超级用户:可以再linux系统下做任何事情,不受限制。

  • 普通用户:在linux下做有限的事情。

  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$” 。

命令: su [用户名] 功能:切换用户。 例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令 。

[root@VM-8-14-centos /]# pwd
/
[root@VM-8-14-centos /]# su -               // su - 切换用户,自动移动到家目录下。
Last login: Tue Oct  4 09:07:28 CST 2022 on pts/0
[root@VM-8-14-centos ~]# pwd
/root
​
[root@VM-8-14-centos /]# pwd
/
[root@VM-8-14-centos /]# su                 // su 切换用户,不会更改当前所在的目录。
[root@VM-8-14-centos /]# pwd
/root
​
[root@VM-8-14-centos /]# exit               // 退出root用户。
​
// 不切换用户,让普通用户以root的身份执行命令。
[root@VM-8-14-centos /]# sudo whoami

Linux权限管理

01.文件访问者的分类(人)

  • 文件和文件目录的所有者: u---User(中国平民 法律问题)

  • 文件和文件目录的所有者所在的组的用户: g---Group(不多说)

  • 其它用户: o---Others (外国人)

02.文件类型和访问权限(事物属性)

Linux下的权限介绍_第1张图片

 

a) 文件类型

d:文件夹(目录文件)
-:普通文件(源代码、库文件、可执行文件、文件压缩包等)
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)(键盘、显示器)
s:套接口文件

b)基本权限

i.读(r/4): Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限 ii.写(w/2): Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限 iii.执行(x/1): execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限 iv.“—”表示不具有该项权限

03.文件权限值的表示方法

Linux下的权限介绍_第2张图片

 Linux下的权限介绍_第3张图片

 

举例:

drwxr-xr-x 2 root root   4096 Oct  4 11:29 dir
-rw-r--r-- 1 root root 218967 Oct  1 19:42 file.txt
// 对于当前下:
dir:是一个文件夹(-d)  拥有者(读/写/可执行) 所属组(无读/写/可执行)其他人(无读/可写/无执行)
file:是一个文件(-)  拥有者(读/写/无执行) 所属组(读/无写/无执行) 其他人(读/无写/无执行)

04.文件访问权限的相关设置方法

a)chmod

功能: 设置文件的访问权限 格式: chmod [参数] 权限 文件名 常用选项:

  • R -> 递归修改目录文件的权限

  • 说明:只有文件的拥有者和root才可以改变文件的权限

chmod 命令权限值的格式:

① 用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表示的权限

  • -:向权限范围取消权限代号所表示的权限

  • =:向权限范围赋予权限代号所表示的权限

    用户符号:

  • u:拥有者

  • g:拥有者同组用

  • o:其它用户

  • a:所有用户

// 1、将文件的拥有者、所属组、other的权限全部解除
-rwxr--r-- 1 root root 218967 Oct  1 19:42 file.txt
​
[root@VM-8-14-centos lesson]# chmod u-rwx file.txt          // 解除拥有者的权限
[root@VM-8-14-centos lesson]# chmod g-r                     // 解除所属组的权限
[root@VM-8-14-centos lesson]# chmod o-r file.txt            // 解除other的权限
[root@VM-8-14-centos lesson]# ll    
---------- 1 root root 218967 Oct  1 19:42 file.txt         // 查看结果
​
// 2、将文件的拥有者、所属组、other的权限全部增加
---------- 1 root root 218967 Oct  1 19:42 file.txt
​
[root@VM-8-14-centos lesson]# chmod u+rwx,g+rwx,o+rwx file.txt      // 增加所有权限。
[root@VM-8-14-centos lesson]# ll
-rwxrwxrwx 1 root root 218967 Oct  1 19:42 file.txt
​
// 3、all对所有的用户进行增加和删除权限
-rwxrwxrwx 1 root root 218967 Oct  1 19:42 file.txt
[root@VM-8-14-centos lesson]# chmod a-rwx file.txt      // 对所有人员删除权限
[root@VM-8-14-centos lesson]# ll
---------- 1 root root 218967 Oct  1 19:42 file.txt
​
---------- 1 root root 218967 Oct  1 19:42 file.txt
[root@VM-8-14-centos lesson]# chmod a+rw file.txt
[root@VM-8-14-centos lesson]# ll
-rw-rw-rw- 1 root root 218967 Oct  1 19:42 file.txt     // 对所有人员增加 读和写权限。

b)chmod a=x /home/abc.txt

② 三位8进制数字

-rw-rw-rw- 1 root root 218967 Oct  1 19:42 file.txt
[root@VM-8-14-centos lesson]# chmod 000 file.txt        // 8进制更改
[root@VM-8-14-centos lesson]# ll
total 216
---------- 1 root root 218967 Oct  1 19:42 file.txt     // 所有的权限都没了。
[root@VM-8-14-centos lesson]# chmod 777 file.txt        // 8进制更改权限
[root@VM-8-14-centos lesson]# ll
total 216
-rwxrwxrwx 1 root root 218967 Oct  1 19:42 file.txt     //恢复所有人的权限

c)chown


功能:修改文件的拥有者 格式: chown [参数] 用户名 文件名

-rw-rw-r-- 1 ShaXiang ShaXiang 0 Oct  4 12:51 file.txt
[root@VM-8-14-centos lesson]# chown root file.txt           // 将拥有者权限给root
[root@VM-8-14-centos lesson]# ll
total 0
-rw-rw-r-- 1 root ShaXiang 0 Oct  4 12:51 file.txt

d)chgrp


功能:修改文件或目录的所属组 格式: chgrp [参数] 用户组名 文件名 常用选项: -R 递归修改文件或目录的所属组

[root@VM-8-14-centos lesson]# chgrp root file.txt		// 将所属组权限给root
[root@VM-8-14-centos lesson]# ll 
total 0
-rw-rw-r-- 1 root root 0 Oct  4 12:51 file.txt

[root@VM-8-14-centos lesson]# chown ShaXiang:ShaXiang file.txt		// 在root下退还权限
[root@VM-8-14-centos lesson]# ll
total 0
-rw-rw-r-- 1 ShaXiang ShaXiang 0 Oct  4 12:51 file.txt

file指令

功能说明:辨识文件类型。 语法: file [选项] 文件或目录... 常用选项:

  • -c 详细显示指令执行过程,便于排错或分析程序执行的情形。

  • -z 尝试去解读压缩文件的内容 。

[ShaXiang@VM-8-14-centos lesson]$ file file.txt			// file.txt是一个空文件。
file.txt: empty

我们总结几个问题:

1、为什么系统要有权限呢?

答:权限的存在是便于我们对系统进行安全管理。

2、为什么我们创建的目录或者说普通文件,默认权限是我们所看到的样子呢?

drwxrwxr-x 2 ShaXiang ShaXiang 4096 Oct  4 13:02 dir
-rw-rw-r-- 1 ShaXiang ShaXiang    0 Oct  4 12:51 file.txt

答:

(1)Linux规定 目录的起始权限是从666开始的,文件的起始权限是从777开始的。

(2)系统默认会配置好umask权限掩码:凡是在umask中出现的权限,都必须在起始权限中抹去。

[ShaXiang@VM-8-14-centos lesson]$ umask
0002
// 更改一下umask的值,我们看一下。
[ShaXiang@VM-8-14-centos lesson]$ umask 0111
[ShaXiang@VM-8-14-centos lesson]$ umask
0111
[ShaXiang@VM-8-14-centos lesson]$ touch file.txt
[ShaXiang@VM-8-14-centos lesson]$ ll
-rw-rw-rw- 1 ShaXiang ShaXiang 0 Oct  4 13:12 file.txt
[ShaXiang@VM-8-14-centos lesson]$ mkdir dir
[ShaXiang@VM-8-14-centos lesson]$ ll
drw-rw-rw- 2 ShaXiang ShaXiang 4096 Oct  4 13:12 dir
-rw-rw-rw- 1 ShaXiang ShaXiang    0 Oct  4 13:12 file.txt
// 这样权限就更改了。

目录的权限

  • 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.

  • 可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.

  • 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

你可能感兴趣的:(Linux,linux,运维)