linux 命令------------- 目录文件、文件权限

1、概述:
Linux是一个多用户的操作系统, 它能分别处理几个同时工作的用户所分配的毫无关联任务。并负责为每位用户的硬件设备、 外设、 内存和 CPU 处理时间作出合理安排。
  因为系统有能力支持多用户, 在每一方面系统都会作出谁能读、 写和执行的资源权力限制。这点权限以三个八位元的方式储存着, 一个是表示文件所属者, 一个是表示文件所属群组,一个是表示其他人。 这些数字以下列方式表示:
数值  权限       目录列表
0   不能读,不能写,不能执行  ---
1   不能读,不能写,可执行   --x
2   不能读,可写,不能执行   -w-
3   不能读,可写,可执行   -wx
4   可读,不能写,不能执行   r--
5   可读,不能写,可执行   r-x
6   可读,可写,不能执行   rw-
7   可读,可写,可执行    rwx
  使用命令的 -l 参数可以显示出文件的所属者、 所属组和其他人等属性。 请看以下的例子:
# ls -l
total 530
-rw-r--r--  1 root  root     512 Sep  5 12:31 myfile
-rw-r--r--  1 root  root     512 Sep  5 12:31 otherfile
-rw-r--r--  1 root  root    7680 Sep  5 12:31 email.txt
...
  使用 ls -l 在每行的开始出现了:
-rw-r--r--
  从左边起的第一个字,告诉我们这个文件是一怎样的文件:普通文件?目录?特殊设备?socket?或是设备文件? 在这个例子, - 表示一个普通文件。 接下来三个字是 rw- 是文件拥有者的权限。再接下来的三个字是 r-- 是文件所属群组的权限。 最后三个字是 r-- 是其他人的权限。以这一个文件为例,他的权限设定是拥有者可以读写这个文件、群组可以读取、其他使用者也能读取这个文件。 根据上面的表格, 用数字表示这个文件其三部分的权限应该是 644。
  这样很好,但系统怎样对设备进行权限控制的? 事实上 Linux 将大部份设备(的每一个设备)当作一个文件看待,用程序能打开、读取、写入数据就如其他的文件一样。 而设备文件放在 /dev 目录。
  目录也视为一种文件,也有读取、写入、执行的权限。但目录的执行权限意义并不与普通文件相同, 实际上执行权限是进入权限。当一个目录是被标示可以执行的时, 表示可以进入它, 或者换言之, 利用 “cd” (改变当前目录) 进入它。 此外, 这也表示有权进入目录的用户, 可以访问其下的已知名字的文件 (当然目录下的文件也受到访问限制)。
  详细方面,想读取一个目录的列表就必须设为可读权限,同时想删除一个已知的文件,就必须把目录下这个文件设为可写 和 执行权限。
还有更多权限设定, 但是他们大多用在特殊状况下如一个setuid的执行文件和粘贴性目录,如果想要得知有关文件权限和如何设定的更多资讯,请看手册chmod。
关于权限的符号化表示
  权限符号,某些时候就是指符号表达式, 使用八进制的字符给目录或文件分配权限。权限符号的使用语法是 (谁) (作用) (权限)。 看看下列数值的在那些地方所起什么样的作用:
选项  字母  介绍
(谁)  u   用户
(谁)  g   所属群体
(谁)  o   其他人
(谁)  a   所有人 (“全部”)
(作用)  +   增加权限
(作用)  -   减少权限
(作用)  =   确定权限
(权限)  r   可读
(权限)  w   可写
(权限)  x   执行
(权限)  t   粘贴位
(权限)  s   设置 UID 或 GID
  这些数值 chmod(1) 以习惯标定的。 举个例子,用以下命令阻止其他人访问 FILE文件:
# chmod go= FILE
  如果需要对文件一次进行多项变动, 则可用逗号分开, 在下面的例子中, 将去掉 FILE 文件的群体和 “全体其他用户” 可写权限,并为所有人增加可执行权限:
# chmod go-w,a+x FILE

2、相关命令:
Chmod:改变文件权限
如:
[root@lab60 root]# chmod 755 test.c
[root@lab60 root]# ls -l
-rwxr-xr-x    1 root     root          757  9月 29 16:08 test.c
Chown:更改文件所属用户
如:
[root@lab60 root]# chown mysql test.c
[root@lab60 root]# ls –lh
-rwxr-xr-x    1 mysql    root          757  9ÔÂ 29 16:08 test.c
Chgrp:更改文件所属用户组
如:
[root@lab60 root]# chgrp mysql test.c
[root@lab60 root]# ls –l
-rwxr-xr-x    1 mysql    mysql         757  9ÔÂ 29 16:08 test.c
关于命令具体详细信息请参考 man chmod 、man chown、 man chgrp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值