Linux基础北航计算机学院教学实验中心曹庆华Linux基础第二讲Linux基础2课程内容Linux的分支Linux的基本结构Linux的基本应用账户管理文件管理启动流程SHELL使用VIM使用Linux基础3主要的Linux版本红旗Linux冲浪Linux中软LinuxRedHatLinux•MandrakeLinux•SuSeLinux•TurboLinuxLinux基础4RedHatLinux简介RedhatLinux9之后,发展分为两个分支:个人版和企业版。个人版:Fedora企业版:Enterprise企业版又分为AS、ES、WS三个版本Fedora项目是一个由RedHat资助并被Linux社区支持的开源项目RedHatEnterpriseLinux更加专业,功能更加强大,性能也更优越Linux基础5RedFlagLinuxRedFlagLinux是目前影响力最为广泛的国产中文Linux操作系统RedFlagLinux常见版本:RedFlagLinuxDesktop5.0RedFlagLinuxWorkstation5.0RedFlagDCServer5.0RedFlagHACluster5.0Linux基础6Linux版本发布过程Linux基础7Linux系统的应用现状企业级应用是目前Linux最重要的应用领域嵌入式领域将是Linux最大的发展空间平台应用•服务器平台•桌面平台嵌入式应用•NetworkComputer•智能终端(手机、PDA)•自动化控制Linux基础8初步认识LinuxLINUX的内核:内核是系统的核心,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。它从用户那里接受命令并把命令送给内核去执行。LINUXSHELL:Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。LINUX文件系统:Linux文件系统是文件存放在磁盘等存储设备上的组织方法。Linux能支持多种文件系统,如EXT2、EXT3、FAT、VFAT、ISO9660、NFS、SMB等。LINUX应用系统:标准的Linux系统都有一整套称为应用程序的程序集,包括文本编辑器、编程语言、XWindow、办公套件、Internet工具、数据库等。Linux的组成Linux基础9Linux的用户管理用户账户和组群的管理是Linux系统工作中重要的一部分,而所谓的账号管理是指账号的添加、删除和修改、账号设置以及权限(Permissions)授予等问题。其中最困难的部分并不在于操作与设置的层次,而是如何建立一套合理又有灵活性的法则来满足企业的需求Linux的账户、组群Linux的user、group是需要认真掌握的基础,也是维护一个服务器系统的基本功,更是Linux安全的第一道关口Linux基础10认识账户的基本概念Linux用户可分为三组:管理用户、服务用户和普通用户管理用户,拥有对系统的管理权限服务用户可以登录系统,浏览、上传资料等普通用户则可以设定一些限制的权限不同级别的账户,则拥有不同的权限Linux基础11认识账户的基本概念创建一个自己的账户谁可以创建账户了?拥有管理员权限的人,如ROOT创建一个自己的账户的命令useraddPleaselookatme!Linux基础12认识账户的基本概念在这里,需要值得隆重推荐的,就是想要学习好Linux,一定要习惯命令行形式的操作,而不是图形化界面!为什么?图形化的X-WINDOWS占用的内存很大X-WINDOWS集成了很多东西,可是不见得是你要的图形化的操作显然是不利于远程操作,而你是经常需要进行远程操作的。Linux基础13认识账户的基本概念启动命令行输入,就是启动终端。Pleaselookatme!显示的如果是$,那是一般用户,显示的如果是#,那是超级用户Linux基础14认识账户的基本概念我们开始新建一个账户,注意,大家现在具有的是超级用户权限,因此,务必要求:不得更改密码不得随意操作系统否则后果自负!超级账户的密码忘记了怎么办?Linux基础15认识账户的基本概念命令useradd功能说明:建立用户帐号。语法:useradd[-mMnr][-c备注][-d登入目录][-e有效期限][-f缓冲天数][-g群组][-G群组][-s][-u][用户帐号]或useradd-D[-b][-e有效期限][-f缓冲天数][-g群组][-G群组][-s]补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。参数:-c备注加上备注文字。备注文字会保存在passwd的备注栏位中。-d登入目录指定用户登入时的启始目录。-D变更预设值.-e有效期限指定帐号的有效期限。-f缓冲天数指定在密码过期后多少天即关闭该帐号。-g群组指定用户所属的群组。-G群组指定用户所属的附加群组。-m自动建立用户的登入目录。-M不要自动建立用户的登入目录。-n取消建立以用户名称为名的群组.-r建立系统帐号。-s指定用户登入后所使用的shell。-u指定用户ID。Linux基础16认识账户的基本概念这里出现了几个需要问的问题什么是群组group什么是登入目录什么是使用的shell我们来查看一下和账户相关的配置文件,了解一下/etc/passwd这里,我们又要用到一些查看文件命令,或者编辑器了Linux基础17认识账户的基本概念我直接使用的普通账户,无法建立账户,那怎办?,又是N个问题账户之间怎么切换?如何设置权限?我们可以使用su命令切换账户我们可以使用sudo命令执行超级用户的一些权限!Linux基础18认识账户的基本概念请看我的操作我们可以使用cat命令查看文件Pleaselookatme!Linux基础19认识账户的基本概念请看我的操作,我都做什么了?我使用了su命令,切换成了超级用户root切换的时候,需要知道超级用户的密码,但是,超级用户的密码是这么能随便告诉别人的吗?我使用了useradd帐户名,新建了一个账户我使用了whoami命令,查找了当前是谁在登录我使用了cat命令,浏览了PASSWD文件Linux基础20认识账户的基本概念两个管理账户的文件/etc/passwd/etc/shadowPASSWD文件内容:所有的账户信息格式:一行即为一个账户每一行内容:帐号名称,密码,UID,GID,使用者说明栏,家目录,shellLinux基础21认识账户的基本概念PASSWD文件的参数说明:UID:唯一的用户标识,其中,0,是系统管理员1~499,系统帐号500以上,是可登录帐号GID,群组标识家目录,你登录该帐号后自动进入的目录Shell:你可以使用的shell注意啊,这个文档里面的东西可不能随意修改,否则,你就哭吧!!!Linux基础22认识账户的基本概念密码哪去了?另外一个文件/etc/shadow结构:帐号名称,密码,最近更改密码日期,密码不可变更天数,密码需要变更天数,密码需要变更的警告天数,密码失效日(宽限),帐号失效天数,保留嘿嘿,看不明白吧,自然,密码怎么随便知道啊,就是root也不行,那是加密的,那么,一般用户密码忘记怎么办?找root,他可以帮你重新设置。那些天数,都是从1970年开始计算,linux计算从1970年1月1日开始Linux基础23认识群组的基本概念什么是群组?group另外一个文件/etc/group/etc/gshadow结构:群组名称,群组密码,GID,群组用户Linux基础24认识群组的基本概念什么是群组?group你加入一个群组,则拥有该群组的使用权限分析一下文件/etc/groupLinux基础25新建一个账户的过程在root权限下,添加一个账户useradd帐户名使用passwd命令,添加密码使用userdel删除一个账户使用finger,查看账户信息userdel功能说明:删除用户帐号。语法:userdel[-r][用户帐号]补充说明:userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。参数:-f删除用户登入目录以及目录中所有文件。Linux基础26新建一个账户的过程finger命令finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。该命令的一般格式为:finger[选项][使用者][用户@主机]命令中各选项的含义如下:-s显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。-l除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。-p除了不显示.plan文件和.project文件以外,与-l选项相同。Linux基础27新建一个账户的过程passwd命令passwd[-l][-u][--stdin][-S]\[-n天数][-x天数][-w天数][-i日期帐号选项-l:是Lock的意思,会将/etc/shadow第二栏最前面加上!使密码失效;-u:与-l对应,是Unlock的意思!-S:列出密码相关参数,亦即shadow文件内大部分信息。-n:后面接天数,shadow的第4栏位,多久不可修改密码天数-x:后面接天数,shadow的第5栏位,多久內必須要修改密码-w:后面接天数,shadow的第6栏位,密码过期前的警告天数-i:后面接『日期』,shadow的第7栏位,密码失效日期直接加帐号,则是为该帐号添加密码Linux基础28新建一个账户的过程账户的密码:Linux会对账户密码进行检查,不合格的密码,会提示你,只有要你重新输入密码校对,才是认可的密码!练习1:1、登录Linux系统,建立自己的帐号,设置自己的帐户名,设置自己的密码,2、使用su命令,进入自己的目录,使用finger命令查看自己账户信息,再使用su命令,返回root,查看/etc/passwd/etc/shadow两个文件3、使用su命令,进入自己帐号,看看还能不能查看前面的两个文件4、使用uname-a查找内核版本Linux基础29Su和sudo的使用有的时候,你需要做一些root才能做的事情,那怎么办?当然,你可以使用su命令,问题是root密码不是随便可以告诉的啊。那就使用sudo命令吧使用sudo命令可以用别的用户权限做一些工作,一般是root超级用户,仅仅需要的使用你自己的密码就可以。这是系统管理员需要思考的事情,就是,谁可以信任啊?Linux基础30Su和sudo的使用要想使用sudo命令,就需要将可以使用root权限的用户添加到/etc/sudoers中当使用者执行sudo時,系统于/etc/sudoers文件中搜寻该使用者是否有执行sudo的权限;若使用者具有可执行sudo的权限后,便让使用者『输入使用者自己的密码』來确认;若密码输入成功,便开始进行sudo后续接的指令(但root执行sudo時,不需要输入密码);若欲切換的身份与执行者身份相同,那也不需要輸入密码。Linux基础31对sudoers的修改使用visudo命令,修改sudoers文件输入命令:visudo在rootALL=(ALL)ALL==找到这一行,约在76行左右用户名ALL=(ALL)ALL==这一行是你要新增的!Visudo基本操作I,插入状态ESC键,命令状态下,输入:wq,保存退出Pleaselookatme!Linu