内容简单介绍
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命令有好多參数,能够实现不同的功能。只是我们临时仅仅须要记得它的两个參数:
-l:对用户重命名。可是/home文件夹中的用户家文件夹名不会改变,须要手动改动。
-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等字母。假设不细分的话,这些我们能够通称为文件訪问权限符。
下面列出我们看到的字母的含义:
d:是英语directory的缩写,表示“文件夹”。就是说这是一个文件夹。
-
l:是英语link的缩写。表示“链接”。
就是说这是一个链接。
-
r:是英语read的缩写,表示“读”。
就是说能够读这个文件。
w:是英语write的缩写,表示“写”。就是说能够写这个文件,也就是能够改动。
x:是英语execute的缩写,表示“执行,执行”。就是说能够执行这个文件。
假设x权限在一个文件夹上。那么表示的是这个文件夹能够被读,也就是能够打开此文件夹来看其子文件夹和子文件,假设它同一时候有r权限的话。
假设对应位置有字母,表示有对应权限。假设对应位置是一个短横-。则表示没有对应权限。
为什么我们看到这一排有好多个反复出现的r。w和x呢?
那是由于訪问权限是依照用户来划分的:
wx_fmt=jpeg" alt="0?
wx_fmt=jpeg" style="height:auto">
如上图,除开第一个表示文件或文件夹属性的符号(此处是d,表示文件夹。假设是l。则是链接。还有其它字母,我们临时不深究。
假设是短横-。那么是普通文件。),其它的9个符号被划分为三组,从左到右分别表示:
第一组rwx表示文件的全部者对于此文件的訪问权限。
第二组rwx表示文件所属的群组的其它用户对于此文件的訪问权限。
第三组rwx表示其它用户对于此文件的訪问权限。
我们用一个详细的文件来作为样例分析一下:
wx_fmt=jpeg" alt="0?
wx_fmt=jpeg" style="height:auto">
能够看到,renamed_file这个文件的訪问权限是
-rw-r--r--
我们从左到右来分析这些符号都表示什么:
-:第一个短横表示这是一个普通文件。假设此处是d。那么表示文件夹。假设是l,那么表示链接,等等。
-
rw-:表明了文件的全部者(此处是oscar)对文件有读。写的权限,可是没有执行的权限。
也非常好理解,由于这是一个普通文件,默认没有可执行的属性。
记住:假设有w权限(写的权限),那么表明也有删除此文件的权限。
r--:表明文件所在的群组(此处是oscar)的其它用户(除了oscar之外)仅仅能够读此文件,但不能写也不能运行。“可远观而不可亵玩焉”。
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分别表示:
文件的全部者有读和写的权限。
文件所在群组的其它用户具有读的权限。
其它用户没有不论什么权限。
因此。我们能够给的最宽泛的权限就是 777:全部者,群组用户,其它用户都有读。写和执行的权限。这样,全部人就都能够对此文件为所欲为了。
相反,假设权限是000。那么没有人能对此文件做什么。当然,除了root。root能够做不论什么事。
我们如今来改动renamed_file的权限试试:
chmod 600 renamed_file
wx_fmt=jpeg" style="height:auto">
能够看到,我们的renamed_file文件的訪问权限被改动为了
rw-------
正好是600。
所以如今仅仅有oscar能够读和写此文件。其它人都不能做什么。
当然,除了root之外。
用字母来分配权限:chmod的相对使用方法
除了用数字,我们也能够用还有一种方式来分配文件的訪问权限:用字母。
原理是类似的。可是有时用字母的方式更加静止,由于不须要一次性把三组权限都写出来。
我们须要知道不同的字母代表什么:
u:user的缩写,是英语“用户”的意思。表示全部者。
g:group的缩写。是英语“群组”的意思。表示群组用户。
-
o:other的缩写。是英语“其它”的意思。
表示其它用户。
当然了,和这些字母配合的还有几个符号:
+:加号,表示加入权限。
-:减号,表示去除权限。
=:等号,表示分配权限。
接下来。我们举例说明怎样使用:
chmod u+rx file.txt 文件file.txt的全部者添加读和执行的权限。
chmod g+w file.txt 文件file.txt的群组其它用户添加读的权限。
chmod o-r file.txt 文件file.txt的其它用户移除读的权限。
chmod g+w o-w file.txt 文件file.txt的群组其它用户添加读的权限。其它用户移除读的权限。
chmod go-r file.txt 文件file.txt的群组其它用户和其它用户均移除读的权限。
chmod +x file.txt 文件file.txt的全部用户添加执行的权限。
chmod u=rwx,g=r,o=- file.txt 文件file.txt的全部者分配读,写和运行的权限。群组其它用户分配读的权限,不能写或运行;其它用户没有不论什么权限。
-R參数:递归地改动訪问权限
-R參数但是“死性不改”:chmod配合-R參数能够递归地改动文件訪问权限。
假如我要仅仅同意oscar这个用户能读,写,执行/home/oscar这个文件夹的全部文件(当然,root不算。root能够做不论什么事),该怎么做呢?
chmod -R 700 /home/oscar
就是这么简单。
最终结束了,长舒一口气。
总结
在Linux系统中,每个用户都有自己独立的账户。
用户是被分组的。
-
存在一个超级用户,也就是一般说的大管家。它有权利做不论什么事情。它就是root。
它有权利安装软件。而且对系统设置做改动。
有一些命令要能执行需要先切换到root身份。我们能够用sudo这个命令来实现此切换。比方下面这些命令就需要在前面再加一个sudo:adduser(用于加入新用户),deluser(用于删除用户),chmod(用于改动文件的权限)。
我们能够用chmod命令来改动文件的訪问权限。有三种权限:r(读权限)。w(写权限)和x(执行权限)。
第二部分第六课预告
今天的课就到这里。一起加油吧!
下一课我们学习:Nano,刚開始学习的人的文本编辑器