1. Linux本质上是一个操作系统,但是一般的用户不能直接使用它,而是需要通过外壳程序shell,来与Linux内核进行沟通。 2. shell的简单定义:命令行解释器。主要包含以下作用:
3. 对比windows GUI,我们操作windows也不是直接操作windows内核,而是通过图形接口,进行点击从而完成操作:比如进入D盘的操作,我们通常是双击D盘。 4. shell对于Linux系统来说,有相同的作用:用户输入的指令经由shell解析并传递给Linux内核执行,随后内核运行的结果再通过shell解析后反馈给用户。
1. Linux系统 下 有两种用 户: 超级用户 、 普通用户 。
2. 权限=角色+事物属性 。
su user_name:切换用户,切换成user_name用户。 su root:切换用户,切换成root用户。
1. 普通用户切换成其他用户,需要输入密码。 2. root用户切换成其他用户,不需要输入密码。
sudo xxx:在普通用户的账号中,使用超级用户权限进行操作xxx。
1. 超级用户把当前普通用户拉入白名单后,才能使用sudo指令。 2. 一般来说,普通用户安装软件时,需要用到超级权限,此时就需要使用sudo指令。
1. Linux中的角色分成三类:
2. Linux中的事物属性分成三类:
3. Linux中的权限操作符分成三类:

1. 第一部分的十个字符中:
chmod (u+-=(rwx)) (g+-=(rwx)) (o+-=(rwx)) xxx:修改xxx文件的权限。 chmod 777(8进制) xxx:修改xxx文件的权限。
1. 只有文件的拥有者或者超级用户才能够修改文件的权限。 2. 文件的user角色、group角色、other角色,在和用户匹配时,从左向右依次匹配,并且只成功匹配一次。 3. r(-)w(-)x(-)可以转换成一个8进制数字,范围从0-7。
chown user xxx:把xxx文件的所有者权限给user。 chgrp user xxx:把xxx文件的所属组权限给user。
1. 在移交所有者权限时,要么使用超级用户,要么使用指令提权。
umask 0xxx:修改文件的掩码,改成0xxx。
1. 在Linux系统中,新建普通文件起始权限默认为666,新建目录起始权限默认为777。 2. 如果想修改最终权限的默认值,则需要使用umask指令进行修改。 3. 最终权限 = 起始权限 & (~umask) 。

1. 在Linux多用户环境中,各个用户对于/home目录下的个人文件访问是相互独立且隔离的。 2. 如果普通用户想要共享一个文件,就不能建立在各自的家目录下,而需要在根目录/下面新建立一个共享目录。 3. 删除一个文件,与该文件的权限无关,与该文件所在目录的w权限有关。
chmod +t xxx:给xxx文件加上粘滞位。
1. 共享文件一般都要设置粘滞位,防止有人恶意删除共享文件。 2. 共享文件加上粘滞位后,在共享文件中,只有共享文件创建者才能删除该共享文件。 3. 由于共享文件一般是在根目录/下,所以在设置粘滞位时,要么用超级用户设置,要么用sudo指令提权。