文件权限及设置命令系统用户管理系统密码管理及用户切换本章学习目的1、理解文件权限及其分配2、掌握查看文件和目录的权限3、掌握权限的文字表示法和数值表示法4、学会使用chmod命令设置权限文件权限及设置命令文件权限(FilePermission):定义了对某个文件或者目录的访问权限。且每个文件或者目录都有9个基本权限位控制其读、写、执行的权限。1、目录上只有执行权限:表示可以进入此目录以及深层次目录2、目录上只有执行权限:要访问该目录下的有读权限文件时,必须知道文件名才可以访问的。3、目录上只有执行权限:不能列出目录列表,也不能删除该目录。4、目录上执行权限和读权限的组合:表示可以进入目录并且可以列出目录列表。5、目录上执行权限和写权限的组合:表示可以在目录中创建和重命名文件。当用“ls-l”查看文件或者目录的详细信息时,看到信息列表最前面的有“rw”的就表示当前用户可以对于这个文件进行读和写的操作如下图所示一个文件的权限分为3组,如红色方框处的第一组权限是对于当前用户具有可读可写的操作,第二组权限是用户组只对于该文件只具有可读的权限,第三组权限是其它用户针对这个文件只具有可读的权限。这是一个默认的权限(也就是当我们新建一个文件或者目录时,这个文件或者目录的权限就是自动设置成这样的)。小提示:可以通过命令“ls-l”或者“ll”命令来查看文件或者目录的权限,但是要注意不是所有的linux系统都支持“ll”命令的,但是centOS是肯定支持的。如果其他发行版的linux不支持“ll”命令的话那么就乖乖的用命令“ls-l”吧。“ls-l”是linux的标准命令,而“ll”是某些发行版的linux系统为了方便使用才加上去的。对于“其他用户”只有一个执行权限的目录,用“其他用户”登录后只能进入这个目录或者进入这个目录更深层的目录,但是不能进行新建文件和删除文件的操作,甚至连命令“ls”都是不可以用的。如果想要访问这个对于“其他用户”只有执行权限的目录下面的具有可读属性的文件的话,必须要知道这个文件名才可以访问此文件(因为此时无法用ls命令列出文件来,所以你就看不见文件名列表)。一个目录具有执行权限表示这个目录可以用“cd”命令进入,如果一个目录具有可读权限那么就可以用“ls”命令列出文件或者目录来,如果一个目录同时具有可执行权限和可读权限说明这个目录可以进入并且可以列出目录列表来。分配3种基本权限文件属主的权限:用于限制文件或者目录的创建者。文件所属组的权限:用于限制文件或者目录所属组的成员。其它用户的权限:用于限制既不是属主又不是所属组的但是能够访问改文件或者目录的其它人员。在Linux中通过给三类用户分配三种基本权限,就产生了文件或者目录的9个基本权限位。查看文件或者目录的权限:可以使用带l参数的ls命令,比如ls-l查看文件的权限属性权限设置-字符法如果你想要给当前用户加上写权限就可以用命令“chmodu+w”,如果是给用户组加上写权限可以用命令“chmodg+w”,如果是给其他用户加上写权限可以用命令“chmodo+w”。但要注意我们可以给当前用户或者用户组或者其他用户这三者其中的任意一个同时加上或者去掉读、写、执行权限,但是我们并不可以在一条命令里同时把当前用户、用户组和其他用户这三个组加上或者去掉权限,比如这个命令“chmodu+rwxg+rwxo+rwx”是不可以的。增加权限用加号“+”,减去权限用减号“-”,比如去除当前目录中的文件“houndun”的当前用户的所有权限的命令是“chmodu-rwxhoudun”。权限设置-字母法如果用数字表示法来设置权限的话就可以在一条命令里把当前用户、用户组和其他用户这三者同时加上或者去掉权限了。因为读、写、执行对应的权限分别用八进制的4、2、1来表示,而同时具有读、写、执行权限就等于是把4、2、1给加上,那么就等于7了,所以在一条命令里把当前目录中的文件“houdun”的当前用户、用户组和其他用户这三个组同时加上所有的权限的命令是“chmod777houdun”。现在又想把文件“houdun”的当前用户、用户组和其他用户这三个组的写权限同时去掉的话,就可以用命令“chmod555houdun”(因为写权限的数字表示是2,用7减去2剩下的就是4和1了,也就是剩下读权限和执行权限了)。当然用数字表示法也可以同时针对当前用户、用户组和其他用户这三者分别设置成不同的权限,比如命令“chmod745houdun”(表示当前用户设置成读、写、执行权限,用户组是读权限,其他用户是读和执行权限)。修改用户组用命令“chownzhangsan:zhangsantest/”可以把目录“test”的属主和所属用户组改成zhangsan和zhangsan(因为在创建zhangsan这个账号时就默认的创建了一个用户组zhangsan了,而且把用户zhangsan隶属于用户组zhangsan里面去了)。比如一个目录的当前用户是读、写、执行权限而其他用户权限只有读的权限,而现在这个目录是属于root的,所以这个目录的当前用户就是root,所以root可以对这个目录具有所有权限,而其他用户(比如zhangsan)只对这个目录具有读的权限。而现在如果把这个目录的属主改成zhangsan,那么zhangsan这个用户就可以对这个目录具有读、写、执行的权限了,因为这个目录的当前用户变成zhangsan了,而root用户变成了这个目录的“其他用户”了。所以用命令“chown”通过改变文件或者目录的属主也就可以间接的改变用户对于这个目录或者文件的权限了。本章学习目标:1、用户和组的概念。2、熟悉Linux环境下的账户系统文件。3、掌握用户的增加、删除、修改命令。4、掌握组的增加、删除、修改命令。文件权限及设置命令用户和组广义上讲,Linux的账户包括用户账号和组账号两种。Linux系统下的用户账号有两种,普通用户和超级用户,普通用户在系统中的任务就是普通工作,超级用户在系统中的任务就是对普通用户和整个系统进行管理。超级用户对系统具有绝对的控制权,能够对系统进行一切操作。在Linux系统中组有两种类型,即私有组和公有组,当创建一个新用户时,若没有指定它所属的组的话Linux就会建立一个和该用户同名的私有组。这个私有组只包括这个用户自己。但是标准组可以容纳多个用户的。Linux账户系统文件Linux账户系统文件如下图是/etc/passwd文件里面的内容(此文件记录了系统用户的一些信息),其中第一列的root是用户名称,第二列的x是用户的密码(linux中密码用x表示),第三列的0表示用户标识号(每个用户的标识号不能重复),第四列的0表示用户组的标识号(组标识号也是唯一的)。第五列的蓝色字体的root是描述性的说明,第六列的绿色的/root表示此用户登录系统时默认的会在哪个目录里。第七列的黄色的/bin/bash是此用户的命令解释器,也就是此用户登录到系统后需要和linux的接口,也就是shell。可以用命令“vimshadow”查看root的密码,但是这个密码是经过加密处理的,如下图:上图中的root后面的红色字体的乱码似的文字就是对应上上图中root后面的x,也就是root的密码。组的信息文件既然能够查看用户的信息文件,当然也可以查看组的信息文件了,可以打开“/etc/group”文件查看组的信息。如下图所示能够看到root组里面包括哪些账号,bin组里面有哪些账号,daemon组里面有哪些账号等等。上图中第一列的root表示组名称,第二列的x代表组密码,第三列的0代表组标识号,第四列的root代表root组里面包括什么用户(此组内只包含了root用户)。打开文件“/etc/gshadow”可以看到组密码的信息。创建用户账号创建用户账号可以用命令“useraddzhangsan”,当然有各种参数可以配合使用。如果想要修改用户账户名称可以用命令“usermod–ltest1zhangsan”(意思是把zhangsan这个用户名称修改成test1。注意其中的“-l”是必须要加上的,不然修改不了哦)。但是要注意你修改的只是这个账号的名称,而以前那个账号zhangsan的主目录名称是不会改变的,如下图所示,虽然账号名称已经改成test1了,但是这个主目录还是zhangsan。账户锁定如果用命令“usermod–Ltest1”锁定账户test1,那么这个test1账户就没法登陆系统了。可以用命令“usermod–Utest1”给test1用户解锁。给账户设置密码的命令是“passwdtest1”。用命令“pwd”可以查看当前在哪个目录下面。如果用户被锁定后还想要登陆系统会出现如下图所示的错误信息。可以用命令“userdelzhangsan”删除一个账号,但是虽然删除了这个账号,这个账号的目录还是存在的。当然如果用命令“userdel–rzhangsan”就会同时删除账号、目录和邮件信息了,可以用命令“userdel--help”查看userdel的使用方法。用户和组的增加、删除、修改命令创建一个新用户:useraddusername创建一个新用户tom,并且加入到标准组share中去:useradd–Gsharetom修改tom的用户名为tom1:usermod–ltom1tom锁定及解除账号tom1:usermod–Ltom1,usermod–Utom1删除用户:userdeltom1创建一个新组:groupaddshare将share组更改为china:groupmod–nchinashare删除china组:groupdelchina创建新用户并加入到标准组如果我们在创建一个用户时会默认的创建一个这个用户的私有组的,而且这个私有组是不允许其他用户加入进来的。而用命令“groupaddshare”创建出来的组“share”是一个标准组(是允许其他用户加入进来的)。如果想要把新建的账号zhangsan加入到share组里面的命令是“useradd–Gsharezhangsan”,这样zhangsan这个用户就不会在私有组zhangsan里面了(虽然系统也会自动创建了一个zhangsan的私有组,但里面的用户是空的),而是只会在标准组share里面了。修改用户所属组当然如果想要把一个已经存在的用户zhangsan加入到share标准组里面的命令是“usermod–Gsharezhangsan”。这样的话这个zhangsan用户就既会在私有组zhangsan里面,也会在标准组share里面了。小提示:要注意你在删除了一个用户后不代表你就把这个用户所在的组也给删除掉了,也就是这个组还是存在的。本章学习目的1、使用passwd命令设置用户密码。2、使用chage命令设置用户密码失效。3、掌握su和sudo命令的使用。4、掌握id/groups/newgrp等命令的使用。Linux系统密码管理及用户切换修改密码如果你创建出来一个用户而没有给它设置密码的话是没法用这个账户登录的,这与windows系统有所不同(windows是允许空密码的)。给新创建的用户设置密码可以用命令“passwd”(要注意此处的passwd是命令,它是在目录/user/bin/里面的;而这与目录中的文件/etc/passwd是两码事,/etc/passwd文件中是记载用户信息的文件)。如果只输入命令“passwd”是修改当前登录系统的用户的密码,而不是修改指定用户的密码的。如果想修改指定用户的密码必须要指定是哪个用户,比如命令“passwdzhangsan”是修改账户zhangsan的密码,但是此时要注意只有root账户才有这种权限来修改其他用户的密码的,而普通的用户是没有这种权限的(普通用户好像只能是修改自己的密码)。在用户自己更改自己密码的时候要注意不能设置太简单的密码,不然linux是不会同意的,但是如果是通过root用户来设置普通用户的密码是多简单都没有关系