`
java-mans
  • 浏览: 11385367 次
文章分类
社区版块
存档分类
最新评论

用命令chmod改最高权限要注意的一些事情以及一些meego系统的linux常用命令的说明

 
阅读更多
-------------------------------------------------------------------------------------------------------------------------
最近,论坛的机油们在开了最高权限之后出了这样那样的问题,在这里,比如万用帐号兄所提到的几点:
1,打开或提高权限chmod 777 命令不会造成错误,但是隐藏着危险,如果有恶意程序到你系统中不受限制的瞎搞一番就完了
2,关闭或降低权限如chmod 755 或chmod 644命令会给N9带来莫名其妙的问题,最显著的就是桌面图标一个个消失,已经有机油出现过这种情况吧?
问题其实出现在755或644并不一定是原来的初始权限,如果你无意中降低了权限,user这个用户就失去很多功能,如你无权查看桌面图标。。。
3,上面所说你可能会想到,如果桌面图标消失,我再把权限提高到最高777呗,没错,提高到777之后你会惊喜的发现桌面的图标又回来了,但是目
前已知两个个问题是,桌面上会出现两个电话或两个短信、两个照相、浏览器图标,且底部的快速启动栏不再是4个程序,而会丢失1到4个。。。
那怎么办呢,改回原来的权限可能会解决问题! 当你忘记了原来的权限,那就只能刷机了
-------------------------------------------------------------------------------------------------------------------------

所以,本人在这里稍微跟大家提醒一下,改权限之前要做的事情,以及改权限之后如何改回来
改权限之前,要用ls -lls -al(此命令连隐藏文件一起查看)查看一下该文件的权限,比如,很多机油要改背景,那改背景的时候要弄那个css文
件,那我们就先查看那个文件的信息,输入
ls(空格)-al(空格)/usr/share/themes/base/meegotouch/libmeegotouchhome/style
我们就会看到有以下内容:
-rw-r--r-- 1 root root 5617 Jan 15 01:27 libmeegotouchviews-modified-default.css
其实/usr/share/themes/base/meegotouch/libmeegotouchhome/style目录下不只是有libmeegotouchviews-modified-default.css,还有很多文件也是以上述的格式列出来的,我们现在就只挑这个文件来分析。

好,我们现在来分析一下-rw-r--r-- 1 root root 5617 Jan 15 01:27 libmeegotouchviews-modified-default.css具体表示神马东西
第一、-rw-r--r--,就是表示这个文件的权限,
第二、1是文件的连接数,这个可以先不管
第三、第一个root代表文件的拥有者是root用户
第四、第二个root是代表文件所有者root所属的群组,也是root群组,群组的最大作用也是为了安全
第五、5617代表文件的大小有5617个字节,meego它只能显示最大65536字节
第六、Jan 15 01:27 是文件的最后修改时间,每个人的一般都不一样
第七、libmeegotouchviews-modified-default.css就是文件的名字了

在这里,我们重点讲解一下-rw-r--r--,这个权限可以分为四个部分来看,

第一部分为最前面那个“-”,表示文件的类型,-为文件,d为目录,l为链接文件

接下来的属性3个为一组,均为“rwx”的组合形式,其中:
[r]代表可读
[w]代表可写
[x]代表可执行
[-]代表以上权限都没有

第二部分为“rw-”,这个表示文件拥有者的权限,也就是文件的创建者的权限,说明root用户有可读、可写权限,但没有执行的权限
第三部分为第一个“r--”,这个表示文件拥有者所在群组其他用户的权限,说明root所在群组的其他用户有可读权限,但没有写和执行权限
第四部分为第二个“r--”,这个表示root群组之外的其他人的权限,说明其他用户有可读权限,但没有写和执行权限


下面我们在来分析777、755、644、555之类的数字是怎么来的,在linux中,有具体的数字对应着r w x,具体为
r : 4
w : 2
x : 1
- : 0
用户权限是权限的同一组数字的相加的和,比如
root用户的权限为: rw- = 4+2+0 =6
root群组其他用户的权限为:r-- = 4+0+0 =4
root群组之外的其他的其他用户的权限为:r-- = 4+0+0 =4
所以该文件的原始权限是644

-----------------------------------------------------------------------------------------------------------------------
当我们用
chmod 777 /usr/share/themes/base/meegotouch/libmeegotouchhome/style/libmeegotouchviews-modified-default.css
命令改变权限之后,要改回原始权限就是用命令
chmod 644 /usr/share/themes/base/meegotouch/libmeegotouchhome/style/libmeegotouchviews-modified-default.css

-----------------------------------------------------------------------------------------------------------------------
当我们用chmod 777 /usr/share/themes/base/meegotouch/libmeegotouchhome/style/libmeegotouchviews-modified-default.css命令去改权限完之后,我们再用ls(空格)-al(空格)/usr/share/themes/base/meegotouch/libmeegotouchhome/style查看一下,你会发现
-rw-r--r-- 1 root root 5617 Jan 15 01:27 libmeegotouchviews-modified-default.css
变成了
-rwxrwxrwx 1 root root 5617 Jan 15 01:27 libmeegotouchviews-modified-default.css 所有人都有可读可写可执行权限了


当我们用命令chmod 644 /usr/share/themes/base/meegotouch/libmeegotouchhome/style/libmeegotouchviews-modified-default.css改回去权限,再用ls(空格)-al(空格)/usr/share/themes/base/meegotouch/libmeegotouchhome/style查看一下,你会发现,又变回
-rw-r--r-- 1 root root 5617 Jan 15 01:27 libmeegotouchviews-modified-default.css
了,好玩吧

---------------------------------------------------------------------------------------------------------------------------

写到这里,聪明机油们应该明白了一些东西了,就是你降低了权限之后图标不见了,或者点击图标没有反应了吧。可能的情况,比如人家这个文件可能是777的权限,并且文件所有者是root账户,你改成644了,文件所有者还是root账户,而我们正常用的是user账户,这样我们这个账户就对一些文件只能读,不能写和执行,这样就是我们可能看到图标,但点击没有反应的原因了;假如你某个图标是要执行一些操作才能出现的,但那些操作的权限你没有,那你就没有看不到这些图标了

chmod 命令的用法
chmod命令是改变文件权限的命令,具体用法是
chmod [-R] xyz 文件或目录
其中,-R 是可选项,代表递归,只能用在改变目录的权限上,表示把改目录下的所有文件和目录的权限都改为xyz;xyz代表777,555,644等数字

比如我们想吧/usr/share/themes/base/meegotouch/libmeegotouchhome/style/目录下的所有文件和目录的权限全部改为777,那么就用命令
chmod(空格)-R(空格)777(空格)/usr/share/themes/base/meegotouch/libmeegotouchhome/style/ (这个命令慎用,最好不用,除非你想删除或替换整个目录)


有的机油可能说,我们怎么没有看到有x的权限呢,那我们在来看地图的文件夹的权限,我们都知道地图文件夹是/home/user/MyDocs/文件夹下
cities文件夹,我们来看一下cities文件夹的权限,输入
ls(空格)-al(空格)/home/user/MyDocs
我们会看到
drwxrwxrwx 4 user root 65536 Jan 15 07:21 cities

我们就知道cities文件的所属的用户是user,也就是我们的当前用户,群组是root,它是个目录[d],所有人对它都有可读可写可执行的权限,也就是最高权限777,所以我们可以才能可以执行更新地图,删除地图,修改地图等操作。假如你用chmod命令修改了权限,比如修改为
chmod -R 544 /home/user/MyDocs/cities


你再用ls(空格)-al(空格)/home/user/MyDocs命令去看他的话,将会看到
dr-xr--r-- 4 user root 65536 Jan 15 07:21 cities
这时,user用户就只能对这个文件进行读[r]和执行[x]了,不能往里面写东西了,这样我们就不能更新地图,也不能删除地图了,甚至我们连接手机到电脑时,也不能往cities这个文件夹放东西了。
写到这里,有机油会问,那我想放东西怎么办,那我们就改回权限,用root账号登陆进去改
使用chmod -R 777 /home/user/MyDocs/cities 命令,这样我们又可以更新地图,删除地图了


注意,使用chmod命令的时候,你应当是root账号,就是你用devel-su,密码rootme进去的那个账号,root账号有非常大的权力,大到什么程度呢,可以大到其他账号有的权限它都有,其他账号没有的权限它还是有,就是一个超级管理员,可以执行任何命令,包括修改系统内核,编译内核等


最后,几个命令解释和使用方法:


ls 就是list的意思,这应该是linux最常用的命令了,就是列出你所要看的目录下面的所有文件和目录的意思,跟dos下面的dir功能类似,ls -al命令就是列出所有的文件的信息(包括隐藏文档,也就是以“.”开头的文件或目录),如果不需要列出隐藏的文件,就用ls -l命令


cd 命令,表示改变目录,cd和ls命令一起并称为linux系统最常用的两个命令,并且他们一般配合使用。cd命令的用法是
cd 目录路径或目录名
比如我们用root账号登录T端,我们所在的目录就是/root,如果这是我们想进/home/user/MyDocs目录怎么办,那我们就可以用
cd /home/user/MyDocs
这样我们就可以进入
/home/user/MyDocs目录了,如果我们想知道MyDocs目录有哪些东西,我们可以用ls命令
如果我们已经用cd命令进入了
/home/user/MyDocs目录了,我们就直接输入ls回车,就可以看到MyDocs下面的目录了,如果这是我们想进入MyDocs下面的Downloads目录怎么办,我们可以直接输入cd Downloads回车,就进入了/home/user/MyDocs/Downloads目录了,当然我们也可以用
cd /home/user/MyDocs/Downloads命令来进入它,但没有那个必要,如果我们现在/home/user/MyDocs/Downloads,想回到/home/user/MyDocs/怎么办,你可以输入cd /home/user/MyDocs回到,但更好的方法是cd ../,cd ../是退到上一级目录的意思,退两级的话就用cd ../../,退三级就是cd ../../../,以此类推,最多只能退到“/”目录,“/”目录是系统的根目录,就像windows的我的电脑一样,没有比他更高的目录了


chown 命令 改变文件的所有者,如果你想把某个文件的所有者改为其他用户,当前用户可以去操作它的时候,可以用这个命令,具体用法为:
chown 用户名 文件名
比如我想改/usr/share/themes/base/meegotouch/libmeegotouchhome/style/libmeegotouchviews-modified-default.css文件给改为我现在的用户
user拥有的话,可以用
chown(空格)user(空格)/usr/share/themes/base/meegotouch/libmeegotouchhome/style/libmeegotouchviews-modified-default.css
这样我不用root帐号,只用user帐号,就可以操作libmeegotouchviews-modified-default.css这个文件了
如果我要把这个/usr/share/themes/base/meegotouch/libmeegotouchhome/style/文件夹下所有的文件都所有者都改变为user的话,可以用
chown(空格)-R(空格) user(空格)/usr/share/themes/base/meegotouch/libmeegotouchhome/style

cp 命令,就是copy命令了,和windows的复制操作作用一样,这个命令很多朋友都介绍过了,我就不详细说命了,cp的格式命令是
cp 【选项】【目标文件或目录】 【目的目录】
其中选项可以不要
cp常用的选项有-R,-f,-i
-R 或 --recursive 递归处理,将指定目录下的文件及子目录一并处理
-i 或 --interactive 覆盖文件之前先询问用户
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在


mv 命令,就是move命令,和windows下的剪切命令一样,具体格式和用法是mv 源文件 目标文件
这个命令还可以在移动文件的同时修改文件名,目标文件名就是你想要改的文件名

rm 命令,就是remove命令,跟windows下的删除操作一样,具体格式和用法是、
rm 【选项】文件或目录
选项可以不要
rm常用的选项有-i,-r,-f
-i: 需要用户确认(这是默认值)
-f: force,强制删除,不需要用户确认,这操作比较危险
-r: 循环删除,把一个目录下的所有东西删掉,删除目录的时候用
-rf: 就是-r和-f,就是强制性循环删除目录,这操作更危险


pwd 命令,pwd命令就是查看你当前所在的目录,比如你进入一个很深的目录,你已经不知道你在什么地方了,比如/usr/share/themes/base/meegotouch/libmeegotouchhome/style/目录,那你就直接输入pwd回车
命令行上就会显示/usr/share/themes/base/meegotouch/libmeegotouchhome/style/,这就是你当前所在的目录
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics