内容简单介绍

1、第二部分第五课:用户和权限,有权就任性

2、第二部分第六课预告:Nano,刚開始学习的人的文本编辑器


用户和权限。有权就任性

今天的标题也挺任性的啊,虽说小编是一个非常本分的人(真的吗)。起这样的标题也是情非得已。

第二部分的前几课我们解说了终端,命令行。文件和文件夹。文件操作。

都算是Linux的重要基础。

这一课我们来讲一个极为重要的内容。能够说是Linux基础中的重点:用户和权限。

我们知道Linux是一个多用户系统,所以可以实现多人同一时候不同地地登录一个Linux系统,而每一个人有不同的权限,这些权限规定了每一个人可以做什么,不可以做什么。

就好比一个市政厅。尽管可以有非常多人同一时候在里面办公。可是不同层级的人可以做的事是不一样的。

正由于多用户这个特性,所以更要严加管理每一个用户,以防止互相干扰,甚至越权行为。由于万一有居心叵測的用户。一旦他们拥有了高度权限,岂不是对全部用户都是一种威胁么。

所以,Linux系统中的每一个用户都有自己独立的账号,并且其账号受着权限的制约。

是不是认为跃跃欲试,我保证这一课会非常有意思的。并且再提一次。这一课极为重要!


sudo命令:以root身份执行命令

在我们安装Ubuntu系统的时候,到了最后几步。安装程序会让我们创建自己的username。比方。小编就创建了名为oscar的用户。

在大多数的Linux发行版中(Ubuntu是一个Linux发行版)。我们都建议刚開始学习的人创建一个有限权利的账户。小编的oscar这个用户就是有限权限的账户。

或许你会问:“等一下,有没有搞错?这个Linux系统是我安装的,我还不能想干什么就干什么了?为什么我的权利是有限的?那我还怎么任性啊?”

是的。并且这是一种安全机制。

当然了。当我们在终端中使用命令行的时候。我们随时能够说:我想要切换到什么都能够做的用户的身份。可是。默认情况下,我们是没有为所欲为的权限的。这会比較安全。

由于有些命令会对Linux系统的稳定性和安全性造成威胁。

具有有限的权限,意味着我们不能随随便便就执行比如那个“草木为之含悲,风云因而变色”的命令:rm -rf /

我们在上一课讲过,rm -rf / 这个命令会删除你的全部东西。所以江湖上人人闻之色变,除了颤抖还是颤抖。

接下来。我们先了解一下Linux中用户是怎样组织的,然后再来学习怎样变身为超级用户。

Linux下的用户组织

在Linux中,理论上说来,我们能够创建无数个用户。可是这些用户是被划分到不同的群组里面的。

有一个用户,名叫root。是一个非常特殊的用户。字大管家。号超级用户,江湖诨号“有钱任性”。由于在Linux系统中,它能够做不论什么事情。

我们用下图来演示一下Linux中的用户组织的一般可能形式:

上图中的群组。能够有好多不同的。我们举了“家人”和“朋友”两个样例而已。

在我们装完Linux系统后。假如我们创建的个人用户叫做oscar,那么这时系统中仅仅有两个用户:root和oscar。

root用户是默认会创建的。由于是系统的大管家,超级用户。

oscar则是小编自己创建的用户。

我们仅仅在必要时才会切换为root身份。这一课中你将学习到的几个命令是需要root身份才干执行的。

其它时候,我们都是用有限权限的用户:oscar(当然,这是小编的情况,你的个人用户可能叫xiaoming)。

这一简单的保护措施大大地提高了Linux系统的安全性。有效防止误操作或是病毒的攻击。

由于假设你是以个人用户身份登录系统。被病毒控制了电脑,那么它也仅仅能做有限的事,不能为所欲为。

但假如你以root用户登录系统。那么劫持你的病毒就能够胡作非为了,甚至毁了你的系统。

在Windows系统中,默认是以系统大管家或管理员账户登录,叫做Administrator。这也是Windows系统较Linux系统更加easy被病毒攻击得逞的原因。

例外:Ubuntu系统是Linux系统中一个特例。它默认不同意以root用户登录系统。root用户存在。可是你不能直接登录。我们接下来会学习怎样间接登录root。Ubuntu的开发人员解释说他们考虑到对于刚開始学习的人,能登录root用户太危急。

:但事实上我们还是能够通过设置来同意Ubuntu直接登录root的。自己能够百度。我就不把此方法告诉大家了,免得毁了系统来扔我鸡蛋。

sudo命令:临时成为root

默认地,我们是以个人用户身份登录Ubuntu系统。在小编的情况。是oscar这个用户。

在Ubuntu中默认不同意在开机时直接以root用户登录,那么我们要怎样来执行一些仅仅有root才有权利执行的命令呢?

别操心。我们能够使用sudo这个命令临时成为root。当一天的皇帝也是非常开心的嘛。

sudo是英语Substitute User DO的缩写。substitute是“替换,取代,替身”的意思,user是“用户”的意思,do就是“做”的意思。

所以连在一起就是“替换用户来运行...”的意思。

因此,假设我们要执行仅仅有root才干够执行的命令,那么能够在此命令前面加上sudo命令,例如以下:

sudo command

终端会提示你输入password,至少第一次会要求输入password。

此password就是你个人用户的password。在小编的情况。就是我的oscar这个账户的password。

比方。我们能够用sudo命令配合date命令执行一下(放心,执行date命令不会有什么危急):

sudo date

wx_fmt=jpeg" style="height:auto">

能够看到。在我们输入 sudo date后。回车。终端要求我们输入个人用户的password,就是那一行:

[sudo] password for oscar:

意思是输入oscar这个用户的password(password是英语“password”的意思)。

小编输入了oscar账户的password。尽管输入password时是看不到不论什么字符的,这是为了安全。

输入password之后,回车,date命令的执行结果就显示给我们了。还记得我们的date命令么?是的,它用于显示当前日期和时间。

当然了,date这个命令并一定要是root用户才干运行,所以没什么特别。仅仅是给大家一个印象,怎样用sudo命令临时切换为root身份。

sudo su命令:一直成为root

有的人当一天皇帝就知足了。但有的人想要当得更久一些,甚至《向天再借五百年》。怎么办呢?

仅仅须要使用 sudo su 这个组合命令。就能够一直成为root用户了。

wx_fmt=jpeg" style="height:auto">

终端会要求我们输入个人用户的password,就是那一行:

[sudo] password for oscar:

能够看到,执行了sudo su之后,我们的命令行提示符从 oscar@oscar-laptop:~$ 变成了 root@oscar-laptop:/home/oscar#

假设你还记得我们在命令行那一课里讲到的怎样阅读命令行提示符,你就会非常easy明确此时我们已经完毕了“屌丝逆袭”:

从oscar升级为root用户了!(从第一个root能够看出。还有结尾处的#也表明此时是root身份)。

这个时候就要小心了。由于此时你已经能够为所欲为了。

当然了。假设你感觉有点不适应,讶异于幸福来得太突然。还留恋屌丝的身份。那么能够退出root用户,又一次回到个人用户身份,用 exit命令就能够完毕(exit是英语“退出。离开”的意思):

wx_fmt=jpeg" alt="0?wx_fmt=jpeg" style="height:auto">

能够看到,当我们身为root时,仅仅要执行exit命令,就随时能够回到个人用户。

在Ubuntu以外的其它Linux发行版,或许切换到root账户。不是用sudo su,而是仅仅须要su就能够了。

当然我们比較建议再加一个横线,用su -

这样不仅能切换为root,还能够直接定位到root的家文件夹。


用户管理的命令

既然你已经学会了怎样临时或一劳永逸地成为root用户,那么我们就能够来学习一些仅仅有root用户才干执行的命令了。

adduser命令就是当中之中的一个。

adduser命令:加入新用户

adduser这个命令,我们非常easy理解其作用。由于全然能够顾名思义:add是英语“加入”的意思,user是英语“用户”的意思。因此adduser就是用于加入用户。

使用方法也非常easy,adduser命令后接我们要创建的username。

假设你使用你的个人用户身份来执行这条命令。终端会提示你没有权限:

能够看到,我们在oscar这个用户的身份下,执行 adduser thomas,表示我们想要创建一个新用户。叫做thomas。

可是不能执行。终端提示“adduser: Only root may add a user or group to the system”。

这句英语翻出来就是“adduser:仅仅有root用户才干往系统里加入用户或群组”。

太看不起人了,我不变身为钢铁侠你以为我仅仅是托尼.斯塔克是吧?

所以我仅仅能穿上sudo su这套“钢衣”。先变身为钢铁侠,再来执行adduser thomas这个命令。

能够看到,我们成为root之后,执行adduser thomas就没问题了。显示thomas用户被加入。username是thomas,群组是thomas。创建/home/thomas这个thomas的家文件夹,然后终端命令停在这一行:

Enter new UNIX password:

意思是“请为thomas这个用户创建一个password”。

我们随便填写,然后回车,会让我们再输入一遍password确认。

然后接着是一些配置信息,比方thomas这个用户的全名,房间号,工作电话,家庭电话,其它。

我们通通能够不填写,用回车键略过,到了最后终端会提示:

Is the information correct ? [Y/n]

意思是“以上这些信息都正确吗?[正确请输入y/不对输入n]”。

我们输入y。回车。thomas用户就正式创建好了。能够看一下此时/home文件夹里的内容,发现多了一个 thomas 文件夹。

也就是thomas这个用户的家文件夹。例如以下图:

wx_fmt=jpeg" alt="0?

wx_fmt=jpeg" style="height:auto">

passwd命令:改动password

假设之后你对设定的password不惬意。那么能够用passwd命令来改动当前password。

passwd命令是password这个英语单词的缩写。表示“密码”。

使用方法也类似adduser,仅仅要在其后加上须要改动password的那个username。比如:

passwd thomas

Enter new UNIX password的意思是“输入新的密码”

Retype new UNIX password的意思是“再输入一遍密码”

输入两次新password之后。能够看到提示:password updated successfully,意思是“password更新成功”。

deluser:删除用户

既然有加入用户的命令。那么也一定有删除账户的命令。

是的。我们能够用deluser命令来删除已创建的账户。

deluser是delete和user的缩写。delete是英语“删除”的意思,user是“用户”的意思。

使用方法同adduser。在后面接你要删除的username。比如:

deluser thomas

wx_fmt=jpeg" alt="0?wx_fmt=jpeg" style="height:auto">

能够看到。执行deluser thomas这个命令,终端不会提示你确认是否删除,而是直接删除了用户thomas。

所以。deluser这个命令还是要慎重使用。

由于假设你删除的是你的个人用户,比如小编的情况,假如我 deluser oscar。

那么就会陷入囧境:在下次系统启动时你就不能以oscar登录了,而Ubuntu默认又不同意root登录,你就会不知所措了。

单单用deluser命令,不加參数的话,仅仅会删除用户,可是不会删除在/home文件夹中的用户家文件夹。

假设你想要连此用户的家文件夹也一并删除。能够加上 --remove-home 这个參数。例如以下:

deluser --remove-home thomas

这样,不仅删除了thomas这个用户,连/home/thomas这个文件夹也会删除。

注意:adduser和deluser命令仅仅是Debian一族(包含Ubuntu)才有的命令。

其它的LInux发行版,一般来说,加入用户和删除用户是用useradd和userdel命令。并且,用useradd加入用户之后,在默认的情况下,该账号是临时被封锁的。 也就是说,该账号是无法登录,需要用passwd命令来给新创建的用户设置password之后才干够使用。


群组管理的命令

在这课的开头。我们说了。Linux中每个用户都属于一个特定的群组。

那你要问了:“那么我们刚才创建的thomas是属于哪个群组呢?我们曾经创建的个人用户oscar又属于哪个群组呢?我们之前都没配置呀。

其实。假设你不设置用户的群组。那么它默认会创建一个和它的username一样的群组,而且把用户规划到这个群组。

我们能够用ls -l命令来看一下/home文件夹下的内容:

能够看到,我们的oscar用户和thomas用户的家文件夹各自是/home/oscar和/home/thomas。

在每一行的各列都有不允许义。我们之前的课程里有解说过(【Linux探索之旅】第二部分第三课:文件和文件夹,组织不会亏待你)。

所以,第三列表示文件或文件夹的全部者,第四列表示文件或文件夹的所在群组。

能够注意到:oscar这个文件夹的全部者是oscar,群组是oscar;thomas这个文件夹的全部者是thomas。群组是thomas。

我们也注意到其它的两个:image.bnp这个文件的全部者是root,群组是root;swaroop这个文件夹的全部者是root。群组是root。所以事实上root这个群组是存在的,root用户就属于这个群组。

可是。把用户分在不同的群组,究竟有何意义呢?

在用户不多的时候,我们会认为一个用户属于一个群组(比方默认是与username同样的群组名)是挺不错的。

可是一旦用户一多,你可能就想要创建群组了。

我们来学习怎样管理群组。

当然,群组还有权限的考量因素,我们这课之后会讲权限。

当然了,群组管理的命令也须要root身份。

addgroup:创建群组

addgroup是add和group的缩写,add是英语“加入”的意思。group是英语“群组”的意思。

所以addgroup命令用于加入一个新的群组。

使用方法也非常easy。和adduser命令类似,就是后接须要创建的群组名。比如:

addgroup friends

创建一个名为friends的群组,friends是英语“朋友”的意思,也是美剧《老友记》。哈哈。

wx_fmt=jpeg" alt="0?

wx_fmt=jpeg" style="height:auto">

在上图中。我们看到,用addgroup命令创建了一个新的群组,名叫friends,并且成功了。Done是英语“完毕”的意思。

非常不错,只是眼下friends这个群组还是空的,由于还没有往里面加入用户呢。

usermod命令:改动用户账户

usermod是user和modify的缩写,user是英语“用户”的意思,modify是“改动”的意思。

usermod命令用于改动用户的账户。

usermod命令有好多參数,能够实现不同的功能。只是我们临时仅仅须要记得它的两个參数:

  1. -l:对用户重命名。可是/home文件夹中的用户家文件夹名不会改变,须要手动改动。

  2. -g:改动用户所在群组

使用方法非常easy,假如我要将thomas这个用户放到我刚创建的friends这个群组里,能够这样写:

usermod -g friends thomas

我们知道,用户thomas之前的群组是thomas,默认的。执行完usermod -g friends thomas之后。thomas的群组就会变成friends了,可是在 /home/thomas这个文件夹的信息不变,仍旧显示群组是thomas。

我们怎么知道用户thomas的群组已经改变为friends了呢?

我们能够用groups命令,这个命令能够获知一个用户属于哪个(些)群组。

使用方法非常easy。后接username就能够了,当然用户要存在才行。

wx_fmt=jpeg" style="height:auto">

能够看到。thomas的群组是friends。root的群组就是root。oscar的群组有好几个,说明小编增加了非常多“组织”。

上图中,我们确实看到了。/home/thomas这个文件夹的信息没变,第四列表示群组的依然是thomas。

当然我们也能够一次将一个用户加入到多个群组,就用 -G 參数(大写的G)。使用方法例如以下:

usermod -G friends,happy,funny thomas

以上命令把thomas加入到friends,happy和funny三个群组。

记得群组名之间要用逗号分隔。并且没有空格。

注意:使用usermod时要小心,由于配合-g或-G參数时,它会把用户从原先的群组里剔除。增加到新的群组。假设你不想离开原先的群组,又想增加新的群组。能够在-G參数的基础上加上-a參数,a是英语append的缩写,表示“追加”。比如:

usermod -aG happy thomas

以上命令就把thomas追加到群组happy里了,这样thomas就属于两个群组:friends和happy

能够用groups命令測试一下。

注意:groups命令假设单独用,不加不论什么參数,会显示当前用户所在群组。

wx_fmt=jpeg" alt="0?

wx_fmt=jpeg" style="height:auto">

记得。追加群组的时候,一定要用大写的G这个參数。不能用小写的g这个參数,即使仅仅追加一个群组。

delgroup命令:删除群组

delgroup是delete和group的缩写。delete是英语“删除”的意思,group是英语“群组”的意思。所以delgroup命令用于删除一个已存在的群组。

使用方法非常easy,后接想要删除的群组名:

delgroup happy

就删除了happy这个群组。

再用groups命令測试,发现thomas仅仅属于friends群组了。由于happy这个群组被删除了嘛。

注意:addgroup和delgroup命令仅仅是Debian一族(包含Ubuntu)才有的命令。

其它的LInux发行版,一般来说。加入用户和删除用户是用groupadd和groupdel命令。


改动文件的全部者和群组

仅仅有root用户能够改动一个文件的全部者和群组。

比方说。小编自己的用户oscar的家文件夹有一个文件。file.txt,是我创建的。

我们用ls -l命令来看一下它的信息:

wx_fmt=jpeg" alt="0?wx_fmt=jpeg" style="height:auto">

能够看到。file.txt的全部者和群组都是oscar。

如今我决定,把这个文件转让给thomas,也就是让file.txt的全部者变为thomas。怎么做呢?

chown命令:改变文件的全部者

此命令也须要root身份才干执行。

chown是change和owner的缩写。change是英语“改变”的意思,owner是英语“全部者”的意思。

chown命令用于改变文件的全部者。

使用方法也非常easy,后接新的全部者的username,再接文件名称。

比如:

chown thomas file.txt

wx_fmt=jpeg" style="height:auto">

能够看到,用chown命令,把file.txt文件的全部者改为thomas之后,file.txt的所在群组是不变的,还是oscar。正所谓“身在曹营心在汉”。

那么怎样使它“身在曹营心也在曹营”呢?

就要用到chgrp命令了。

chgrp命令:改变文件的群组

chgrp是change和group的缩写。change是英语“改变”的意思。group是英语“群组”的意思。

chgrp命令用于改变文件的群组。

使用方法也非常easy。后接新的群组名,再接文件名称。比如:

chown thomas file.txt

好了,这下file.txt的全部者和群组都是thomas了。

事实上。chown命令也能够改变文件的群组,使用方法例如以下:

chown thomas:friends file.txt

这句命令就把file.txt这个文件的全部者改为thomas,群组改为friends了。

使用方法也非常easy,就是在全部者和群组之间用冒号隔开。

-R參数:递归设置子文件夹和子文件

chown命令的-R參数很实用,还记得曾经我们有些命令也会使用-R參数么?

是的,R是recursive的缩写。表示“递归”。所以假设chown命令配上-R參数,就会使得被改动的文件夹的全部子文件夹和子文件都改变全部者(或者连群组也改变。假设用上述冒号的方法来同一时候改动全部者和群组)。

比如,假如我突然变得“非常坏”,想要把用户thomas的家文件夹的全部子文件夹和文件都占为己有。

我能够这么做:

chown -R oscar:oscar /home/thomas

这样不但使/home/thomas这个文件夹的全部者和群组都变成oscar,并且其子文件夹和子文件也都是如此。

能够看到。/home/thomas都归我(oscar)全部了。


chmod命令:改动訪问权限

好了,这一节我们要攻坚这一课最难的部分了:訪问权限。

权限的原理

在Linux系统里,每一个文件和文件夹都有一列权限属性。

这一列訪问权限指明了谁有读的权利,谁有改动的权利。谁有执行的权利。

我们事实上早就见过訪问权限了,是的,就在我们执行ls -l命令的时候,显示的每一个文件或文件夹的第一列信息就是訪问权限。

比方我们在/home/oscar/linux_c文件夹下执行ls -l命令试试(当然你能够在你的家文件夹或其它文件夹执行也能够,由于小编的家文件夹东西太多了,比較乱):

wx_fmt=jpeg" style="height:auto">

上图中文件信息的第一列比較复杂,我们能够看到不少 d,r,w。l。x等字母。假设不细分的话,这些我们能够通称为文件訪问权限符。

下面列出我们看到的字母的含义:

  1. d:是英语directory的缩写,表示“文件夹”。就是说这是一个文件夹。

  2. l:是英语link的缩写。表示“链接”。

    就是说这是一个链接。

  3. r:是英语read的缩写,表示“读”。

    就是说能够读这个文件。

  4. w:是英语write的缩写,表示“写”。就是说能够写这个文件,也就是能够改动。

  5. x:是英语execute的缩写,表示“执行,执行”。就是说能够执行这个文件。

假设x权限在一个文件夹上。那么表示的是这个文件夹能够被读,也就是能够打开此文件夹来看其子文件夹和子文件,假设它同一时候有r权限的话。

假设对应位置有字母,表示有对应权限。假设对应位置是一个短横-。则表示没有对应权限。

为什么我们看到这一排有好多个反复出现的r。w和x呢?

那是由于訪问权限是依照用户来划分的:

wx_fmt=jpeg" alt="0?

wx_fmt=jpeg" style="height:auto">

如上图,除开第一个表示文件或文件夹属性的符号(此处是d,表示文件夹。假设是l。则是链接。还有其它字母,我们临时不深究。

假设是短横-。那么是普通文件。),其它的9个符号被划分为三组,从左到右分别表示:

  1. 第一组rwx表示文件的全部者对于此文件的訪问权限。

  2. 第二组rwx表示文件所属的群组的其它用户对于此文件的訪问权限。

  3. 第三组rwx表示其它用户对于此文件的訪问权限。

我们用一个详细的文件来作为样例分析一下:

wx_fmt=jpeg" alt="0?

wx_fmt=jpeg" style="height:auto">

能够看到,renamed_file这个文件的訪问权限是

-rw-r--r--

我们从左到右来分析这些符号都表示什么:

  1. -:第一个短横表示这是一个普通文件。假设此处是d。那么表示文件夹。假设是l,那么表示链接,等等。

  2. rw-:表明了文件的全部者(此处是oscar)对文件有读。写的权限,可是没有执行的权限。

    也非常好理解,由于这是一个普通文件,默认没有可执行的属性。

    记住:假设有w权限(写的权限),那么表明也有删除此文件的权限。

  3. r--:表明文件所在的群组(此处是oscar)的其它用户(除了oscar之外)仅仅能够读此文件,但不能写也不能运行。“可远观而不可亵玩焉”。

  4. r--:表示其它用户(除去oscar这个群组的用户)仅仅能够读此文件。但不能写也不能运行。

综上所述,renamed_file这个文件是一个普通文件,不是一个文件夹,也不是链接文件。它的全部者oscar能够读写它,但不能运行。其它的用户仅仅能读。

那么root呢?对于此文件root用户的訪问权限是什么呢?

记住:root是超级管家。它有全部权限。没有它不能做的。

它能够读。写,执行随意文件。

chmod命令:改动文件的訪问权限

既然我们已经学会了怎样查看和理解文件的訪问权限,我们就来学习怎样改动文件的訪问权限吧。

我们要用到chmod命令。这个命令也是Linux中经常使用的命令。毕竟“一朝权倾天下有”,“争权夺利”谁不喜欢啊。

开个小玩耍... 是小玩笑,小编。

開始解说之前。要说明一点,chmod命令不须要是root用户才干执行。仅仅要你是此文件的全部者,你就能够用chmod来改动文件的訪问权限。

chmod是change和mode的缩写。change是英语“改变”的意思,mode是“模式”的意思。chmod命令用于改动文件的各种訪问权限。

chmod这个命令充满魅力,由于它的使用方法不止一种,好像一个千面女郎,令人着迷。

最常见的使用方法应该是数字式的。

用数字来分配权限:chmod的绝对使用方法

我们接下来要做一些加法,大家准备好了吗?不要让小学数学老师哭晕在体育办公室哦。

什么?你的小学数学是语文老师教的。好。算你厉害...

不要怕,仅仅是做一些极为简单的加法,我们仅仅要心算就能够了。

其实,Linux系统对每种权限(r。w和x)分配了相应的数字:

权限

数字

r

4

w

2

x

1

所以,假设我们要合并这些权限,就须要做简单的加法了:将相应的数字相加。

因此,假如我们要分配读,写权限。那么我们就要用4+2,就等于6。数字6表示具有读和写权限。

下面是可能的组合形式:

权限

数字

计算

---

0

0 + 0 + 0

r--

4

4 + 0 + 0

-w-

2

0 + 2 + 0

--x

1

0 + 0 + 1

rw-

6

4 + 2 + 0

-wx

3

0 + 2 + 1

r-x

5

4 + 0 + 1

rwx

7

4 + 2 + 1

不难吧?

所以。对于訪问权限的三组(全部者的权限,群组用户的权限,其它用户的权限),我们仅仅要分别做加法就能够了。然后把三个和连起来。

比如:640分别表示:

  1. 文件的全部者有读和写的权限。

  2. 文件所在群组的其它用户具有读的权限。

  3. 其它用户没有不论什么权限。

因此。我们能够给的最宽泛的权限就是 777:全部者,群组用户,其它用户都有读。写和执行的权限。这样,全部人就都能够对此文件为所欲为了。

相反,假设权限是000。那么没有人能对此文件做什么。当然,除了root。root能够做不论什么事。

我们如今来改动renamed_file的权限试试:

chmod 600 renamed_file

wx_fmt=jpeg" style="height:auto">

能够看到,我们的renamed_file文件的訪问权限被改动为了

rw-------

正好是600。

所以如今仅仅有oscar能够读和写此文件。其它人都不能做什么。

当然,除了root之外。

用字母来分配权限:chmod的相对使用方法

除了用数字,我们也能够用还有一种方式来分配文件的訪问权限:用字母。

原理是类似的。可是有时用字母的方式更加静止,由于不须要一次性把三组权限都写出来。

我们须要知道不同的字母代表什么:

  1. u:user的缩写,是英语“用户”的意思。表示全部者。

  2. g:group的缩写。是英语“群组”的意思。表示群组用户。

  3. o:other的缩写。是英语“其它”的意思。

    表示其它用户。

当然了,和这些字母配合的还有几个符号:

  1. +:加号,表示加入权限。

  2. -:减号,表示去除权限。

  3. =:等号,表示分配权限。

接下来。我们举例说明怎样使用:

  1. chmod u+rx file.txt   文件file.txt的全部者添加读和执行的权限。

  2. chmod g+w file.txt  文件file.txt的群组其它用户添加读的权限。

  3. chmod o-r file.txt     文件file.txt的其它用户移除读的权限。

  4. chmod g+w o-w file.txt   文件file.txt的群组其它用户添加读的权限。其它用户移除读的权限。

  5. chmod go-r file.txt   文件file.txt的群组其它用户和其它用户均移除读的权限。

  6. chmod +x file.txt   文件file.txt的全部用户添加执行的权限。

  7. chmod u=rwx,g=r,o=- file.txt   文件file.txt的全部者分配读,写和运行的权限。群组其它用户分配读的权限,不能写或运行;其它用户没有不论什么权限。



-R參数:递归地改动訪问权限

-R參数但是“死性不改”:chmod配合-R參数能够递归地改动文件訪问权限。

假如我要仅仅同意oscar这个用户能读,写,执行/home/oscar这个文件夹的全部文件(当然,root不算。root能够做不论什么事),该怎么做呢?

chmod -R 700 /home/oscar

就是这么简单。

最终结束了,长舒一口气。


总结

  1. 在Linux系统中,每个用户都有自己独立的账户。

  2. 用户是被分组的。

  3. 存在一个超级用户,也就是一般说的大管家。它有权利做不论什么事情。它就是root。

    它有权利安装软件。而且对系统设置做改动。

  4. 有一些命令要能执行需要先切换到root身份。我们能够用sudo这个命令来实现此切换。比方下面这些命令就需要在前面再加一个sudo:adduser(用于加入新用户),deluser(用于删除用户),chmod(用于改动文件的权限)。

  5. 我们能够用chmod命令来改动文件的訪问权限。有三种权限:r(读权限)。w(写权限)和x(执行权限)。


第二部分第六课预告

今天的课就到这里。一起加油吧!

下一课我们学习:Nano,刚開始学习的人的文本编辑器

【Linux探索之旅】第二部分第五课:用户和权限,有权就任性的更多相关文章

  1. 红帽学习笔记[RHCSA] 第五课[用户、权限相关]

    第五课 用户权限 查看文件的权限 [kane@localhost /]$ ll total 36 ----------. 1 root root 1751 Aug 22 20:58 ~ lrwxrwx ...

  2. 【Linux探索之旅】第二部分第二课:命令行,世界尽在掌握

    内容简介 1.第二部分第二课:命令行,世界尽在掌握 2.第二部分第三课预告:文件和目录,组织不会亏待你 命令行,世界尽在掌握 今天的标题是不是有点霸气侧漏呢? 读者:“小编,你为什么每次都要起这么非主 ...

  3. 【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见

    内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是 ...

  4. 【Linux探索之旅】第二部分第四课:文件操纵,鼓掌之中

    内容简介 1.第二部分第四课:文件操纵,鼓掌之中 2.第二部分第五课预告:用户和权限 文件操纵,鼓掌之中 既然上一课我们学习了Linux中的文件组织方式,那么现在就该是玩弄,啊不,是操纵它们的时候了. ...

  5. 【C语言探索之旅】 第二部分第五课:预处理

    内容简介 1.课程大纲 2.第二部分第五课: 预处理 3.第二部分第六课预告:   创建你自己的变量类型 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语 ...

  6. 【Web探索之旅】第二部分第五课:响应式网站和移动应用

    内容简介 1.第二部分第五课:响应式网站和移动应用 2.第三部分第一课预告:服务器 第二部分第五课:响应式网站和移动应用 在我们开始聊响应式网站之前,我们可以聊聊移动App(App是Applicati ...

  7. 【Linux探索之旅】第二部分第三课:文件和目录,组织不会亏待你

    内容简介 1.第二部分第三课:文件和目录,组织不会亏待你 2.第二部分第四课预告:文件操纵,鼓掌之中 文件和目录,组织不会亏待你 上一次课我们讲了命令行,这将成为伴随我们接下来整个Linux课程的一个 ...

  8. 【Linux探索之旅】第二部分第三课:文件和文件夹,组织不会亏待你

    wx_fmt=jpeg" alt="" style="max-width:100%; height:auto!important"> 内容简单介 ...

  9. 【Linux探索之旅】开宗明义+第一部分第一课:什么是Linux?

    内容简介 1.课程大纲 2.第一部分第一课:什么是Linux? 3.第一部分第二课预告:下载Linux,免费的噢!   开宗明义 我们总听到别人说:Linux挺复杂的,是给那些追求逼格的程序员用的.咱 ...

随机推荐

  1. Problem D: 栈小游戏

    #include <iostream> #include <vector> #include <stack> #include <algorithm> ...

  2. 外键删除(T-SQL Drop Foreign Key)

    列出某张表相关的 FK Name select distinct name from sys.objects where object_id in (   select fk.constraint_o ...

  3. OpenCASCADE BRepMesh - 2D Delaunay Triangulation

    OpenCASCADE BRepMesh - 2D Delaunay Triangulation eryar@163.com Abstract. OpenCASCADE package BRepMes ...

  4. 学习RocketMQ (一) 安装并且启动MQ

    1.使用RocketMQ 的 软件要求 64bit OS, Linux/Unix/Mac is recommended;64bit JDK 1.8+;Maven 3.2.xGit 1)安装Linux ...

  5. [转载] Storm:最火的流式处理框架

    转载自http://www.cnblogs.com/langtianya/p/5199529.html 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样.更加便捷,同 ...

  6. java并发之线程同步(synchronized和锁机制)

    使用synchronized实现同步方法 使用非依赖属性实现同步 在同步块中使用条件(wait(),notify(),notifyAll()) 使用锁实现同步 使用读写锁实现同步数据访问 修改锁的公平 ...

  7. Python 简单socket模拟ssh

    OSI七层模型(Open System Interconnection,开放式系统互联) 应用层 表示层 回话层 传输层 tcp,udp 网络层 ip,icmp 数据链路层 mac地址 物理层 物理网 ...

  8. 【技术翻译】支持向量机简明教程及其在python和R下的调参

    原文:Simple Tutorial on SVM and Parameter Tuning in Python and R 介绍 数据在机器学习中是重要的一种任务,支持向量机(SVM)在模式分类和非 ...

  9. IDisposeable,Close

    一.资源分类 资源分为托管资源和非托管资源. 非托管资源:所有的windows内核对象(句柄)都是非托管资源,如stream,数据库连接,GDI+和COM对象等,这些资源不受CLR管理. 托管资源:由 ...

  10. android动画基础之Animation

    android 动画 摘要: 概述 最近总结一下Android的一些东西,毕竟基础不牢地动山摇.本篇主要涉及Animation,对Tween和Frame动画做些总结. Tween Tween动画即补间 ...