海牛部落 Linux 系列教程:(2) Linux 简介及权限概述

教程 青牛 ⋅ 于 2017-09-22 14:03:23 ⋅ 最后回复由 wdy 2022-05-19 20:39:55 ⋅ 24667 阅读

file

1 Linux 简介

Linux可以有狭义和广义两种定义。
狭义来说,Linux实际上指Linux kernel (内核)。内核负责管理硬件,并为上层应用提供接口。
而广义来说,是指以Linux kernel 为基础的,包括OS和各种应用在内的各个Linux版本。

1.1 Linux的特点
开放性,多用户,多任务,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面(命令界面,图形界面等),出色的速度性能。
开发者操作的系统。
1.2 Linux组成
Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。
1)Linux内核
内核是操作系统的核心,具有很多最基本功能,如虚拟内存、多任务、共享库、需求加载、可执行程序和TCP/IP网络功能。Linux内核的模块分为以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信、系统的初始化和系统调用等。

2)Linux shell
shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。另外,shell编程语言具有普通编程语言的很多特点,用这种编程语言编写的shell程序与其他应用程序具有同样的效果。
目前主要有下列版本的shell。
Bourne Shell:是贝尔实验室开发的。  
BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,大部分linux的发行套件使用的都是这种shell。
Korn Shell:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。    
C Shell:是SUN公司Shell的BSD版本。

3)Linux文件系统
文件系统是文件存放在磁盘等存储设备上的组织方法。Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。

4)Linux应用程序
标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、X Window、办公套件、Internet工具和数据库等。
1.3 Linux 发行版本
各个版本之间也只是大同小异,其差别往往体现在客户群、升级维护和界面等方面。

红帽系列
Red Hat Enterprise: (www.redhat.com) 这个是企业级的linux,主要面向服务器。作为商业版,有比较好的配套软件和技术支持。
Fedora: (http://fedoraproject.org) 由社区维护,去除了一些商业软件。红帽实际上赞助了这个项目,以便以此作为技术测试平台。
CentOS: (www.centos.org) 这个版本不来自红帽的公司,是收集红帽公开的源码组成的免费版本,由社区维护,和红帽完全兼容。

SUSE系列
SUSE Linux Enterprise: (www.suse.com) 和红帽商业版类似,德国的发行版本。
openSUSE: (www.opensuse.org) SUSE的免费版本。

Debian系列
Debian: (www.debian.org) 完全免费,社区维护的Linux版本,有很大的用户群,所以遇到问题,基本都可以找到社区用户的支持。
Ubuntu: (www.ubuntu.com) 由一个基金提供支持的免费Linux版本。 继承自Debian。界面很友好。

2 用户与用户组的概念

2.1 理解Linux 多用户,多任务特性
Linux是一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响。
例如某台linux服务器上有4个用户,分别是root、www、ftp和MySQL,在同一时间内,root用户可能在查看系统日志,管理维护系统,www用户可能在修改自己的网页程序,ftp用户可能在上传软件到服务器,mysql用户可能在执行自己的SQL查询,每个用户互不干扰,有条不紊的进行着自己的工作,而每个用户之间不能越权访问,比如www用户不能执行mysql用户的SQL查询操作,ftp用户也不能修改www用户的网页程序,因此可知,不同用户具有不同的权限,每个用户是在权限允许的范围内完成不同的任务,linux正是通过这种权限的划分与管理,实现了多用户多任务的运行机制。

2.2 Linux 用户角色分类
root用户
拥有最高权限,可以登录系统,进行任何操作。
虚拟用户
这类用户也被称为伪用户或假用户,以与真实用户区分开来。这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等,这类用户都是系统自身拥有的,而非后来添加的。
普通真实用户
这类用户等登录系统,权限有限,由管理员添加。
2.3 用户和用户组的概念
Linux是一个多用户多任务的分时操作系统,如果要使用系统资源,就必须向系统管理员申请一个账户,然后通过这个账户进入系统。这个账户和用户是一个概念,通过建立不同属性的用户,一方面,可以合理的利用和控制系统资源,另一方面也可以帮助用户组织文件,提供对用户文件的安全性保护。
每个用户都用一个唯一的用户名和用户口令,在登录系统时,只有正确输入了用户名和密码,才能进入系统和自己的主目录。
用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限。
比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理。
另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。这就是用户组,将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了管理工作。

file

2.4 用户和用户组的关系
用户和用户组的对应关系有:一对一、一对多、多对一和多对多;下图展示了这种关系:

file

 一对一:即一个用户可以存在一个组中,也可以是组中的唯一成员。
 一对多:即一个用户可以存在多个用户组中。那么此用户具有多个组的共同权限。
 多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限。
 多对多:多个用户可以存在多个组中。其实就是上面三个对应关系的扩展。
2.5 User, Group 及 Others
根据1.4讲的用户与用户组的关系,可以将权限分为所有者权限(User)、所有者同组权限(Group)和所有者非同组权限(others),下面举例说明:

file

其中:
大神:root 用户,无所不能。
王大毛家:某个用户组
王大毛:某个用户组中的用户
王大毛房间的所有者是王大毛,里面的东西,其他人不能乱动,表示为所有者权限 (User)。
王大毛家内公共区域三兄弟可以共享,表示为所有者同组权限(Group)。
对于王大毛来说,张小猪就不是他们家的人,表示为所有者非同组权限(others)。
2.6 与用户和用户组相关的配置文件
2.6.1 与用户相关的配置文件
/etc/passwd 注:用户(user)的配置文件,存放账户信息;
/etc/shadow 注:用户(user)影子口令文件,存放账户密码相关信息;
2.6.2 与用户组相关的配置文件
/etc/group 注:用户组(group)配置文件,存放用户组信息;
/etc/gshadow 注:用户组(group)的影子文件,存放组管理密码相关信息;

3 Linux 文档属性

这里的文档指的是文件和目录。
用root 用户登录后,执行 ls -la

file

3.1 文档权限
文件权限是有10个字符组成,如下图:

file

其中:

回复帖子,然后刷新页面即可查看隐藏内容

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-青牛,http://hainiubl.com/topics/167
回复数量: 118
暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter