阿宁的linux学习----文件基本属性与权限

这是我学习linux的过程,每天都会更新所学习的知识总结,每个例子都是我自己的亲手实践的,作为新人的我希望各位大佬提出宝贵的意见!!

linux文件基本属性

linux系统是一种典型的多用户系统,不同的的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组,如:

[root@localhost /]# ll
总用量 24
lrwxrwxrwx.   1 root root    7 10月 15 14:22 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 10月 16 17:22 boot
drwxr-xr-x.  20 root root 3340 10月 18 15:04 dev
drwxr-xr-x. 146 root root 8192 10月 18 15:05 etc

每个文件的属性由左边第一部分的10个字符来确定
在这里插入图片描述

简写类型
f普通文件(file)
d目录(directory)
l连接文件(link)
b块文件(block)
c字符文件(character)
s套接字文件(sockte)
p管道文件(pipe)

修改文件属性与权限

1.chgrp:修改文件所属用户组;
2.chown:修改文件拥有者;
3.chmod:修改文件权限;

修改所属用户组 chgrp

这个指令就是change group的缩写

 chgrp [-R] dirname/filename ...
选项与参数:
-R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有档案、目录
     都更新成为这个群组之意。常常用在变更某一目录内所有的档案之情况。
[root@localhost ~]# chgrp users initial-setup-ks.cfg 
[root@localhost ~]# ls -l
总用量 8
-rw-------. 1 root root  1802 10月 27 14:52 anaconda-ks.cfg
-rw-r--r--. 1 root users 1850 10月 27 14:54 initial-setup-ks.cfg
[root@localhost ~]#  chgrp testing initial-setup-ks.cfg 
chgrp: 无效的组:"testing"  <==发生错误讯息啰~找不到这个群组名~
修改文件拥有者 chown

chown的用途还满多的,他还可以顺便直接修改群组的名称呢!此外,如果要连目录下的所有次目录或档案同时更改档案拥有者的话,直接加上-R的选项即可!

chown [-R]帐号名称档案或目录
chown [-R]帐号名称:群组名称档案或目录
选项与参数:
-R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有档案都变更
范例一:将initial-setup-ks.cfg的拥有者改为bin这个帐号:
[root@localhost ~]# chown bin initial-setup-ks.cfg 
[root@localhost ~]# ls -l
总用量 8
-rw-------. 1 root root  1802 10月 27 14:52 anaconda-ks.cfg
-rw-r--r--. 1 bin  users 1850 10月 27 14:54 initial-setup-ks.cfg
范例二:将initial-setup-ks.cfg的拥有者与群组改回为root: 
[root@localhost ~]# ls -l
总用量 8
-rw-------. 1 root root 1802 10月 27 14:52 anaconda-ks.cfg
-rw-r--r--. 1 root root 1850 10月 27 14:54 initial-setup-ks.cfg
修改权限 chmod

档案权限的改变使用的是chmod这个指令,但是,权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。
1.数字类型改变档案权限
Linux档案的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,先复习一下刚刚上面提到的资料:档案的权限字元为:『-rwxrwxrwx』,这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—] 分数则是
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0
变更权限的指令chmod的语法是这样的:

chmod [-R] xyz档案或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为rwx 属性数值的相加。
-R : 进行递回(recursive)的持续变更,亦即连同次目录下的所有档案都会变更

举例来说,如果要将.bashrc这个档案所有的权限都设定启用,那么就下达:

[root@localhost ~]# ls -al .bashrc
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
[root@localhost ~]# chmod 777 .bashrc 
[root@localhost ~]# ls -al .bashrc 
-rwxrwxrwx. 1 root root 176 12月 29 2013 .bashrc

2.符号类型改变档案权限
基本上就九个权限分别是(1)user (2)group (3)others三种身份!那么我们就可以藉由u, g, o来代表三种身份的权限
在这里插入图片描述假如我们要『设定』一个档案的权限成为『-rwxr-xr-x』时,基本上就是:
user (u):具有可读、可写、可执行的权限;
group 与others (g/o):具有可读与执行的权限。

[root@localhost ~]# chmod u=rwx,go=rx .bashrc 
#注意喔!那个u=rwx,go=rx是连在一起的,中间并没有任何空白字元!
[root@localhost ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 12月 29 2013 .bashrc

那么假如是『 -rwxr-xr-- 』这样的权限呢?可以使用『chmod u=rwx,g=rx,o=r filename 』来设定。此外,如果我不知道原先的档案属性,而我只想要增加.bashrc这个档案的每个人均可写入的权限,那么我就可以使用:

[root@localhost ~]# ls -al .bashrc 
-rwxr-xr-x. 1 root root 176 12月 29 2013 .bashrc
[root@localhost ~]# chmod a+w .bashrc
[root@localhost ~]# ls -al .bashrc 
-rwxrwxrwx. 1 root root 176 12月 29 2013 .bashrc

+与–的状态下,只要是没有指定到的项目,则该权限『不会被变动』,例如上面的例子中,由于仅以–拿掉x则其他两个保持当时的值不变!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值