Linux命令 改变文档权限及所有者

  • chgrp :改变档案所属群组
  • chown :改变档案拥有者
  • chmod :改变档案的权限, SUID, SGID, SBIT等等的特性

 

chgrp说明及范例
[root@www ~]# chgrp [-R] dirname/filename  

选项与参数: 
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录 都更新成为这个群组之意。常常用在变更某一目录内所有的档案之情况。 

范例:

 [root@www 
~]# chgrp users install.log 

[root@www 
~]# ls -l -rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log 

[root@www 
~]# chgrp testing install.log chgrp: invalid group name `testing' <== 发生错误讯息啰~找不到这个群组名~

 

 

chown 说明及范例
[root@www ~]# chown [-R] 账号名称 档案或目录 [root@www ~]
#
 chown [-R] 账号名称:组名 档案或目录 选项与参数: -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都变更

范例:将install.log的拥有者改为bin这个账号:
[root@www 
~]# chown bin install.log 
[root@www ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log 

范例:将install.log的拥有者与群组改回为root:
[root@www 
~]# chown root:root install.log 
[root@www ~]# ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log

 

 

备注
Tips: 事实上,chown也可以使用『chown user.group file』,亦即在拥有者与群组间加上小数点『.』也行! 不过很多朋友设定账号时,喜欢在账号当中加入小数点(例如vbird.tsai这样的账号格式),这就会造成系统的误判了! 所以我们比较建议使用冒号『:』来隔开拥有者与群组啦!此外,chown也能单纯的修改所属群组呢! 例如『chown .sshd install.log』就是修改群组~看到了吗?就是那个小数点的用途!

 

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说明及范例
[root@www ~]# chmod [-R] xyz 档案或目录

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

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

[root@www 
~]# ls -al .bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc 
[root@www ~]# chmod 777 .bashrc 
[root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

 

 

符号类型改变档案权限
设定一个档案的权限成为『-rwxr-xr-x』时,基本上就是:
o user (u):具有可读、可写、可执行的权限;
o group 与 others (g
/o):具有可读与执行的权

[root@www 
~]# chmod u=rwx,go=rx .bashrc

# 注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格符! 

[root@www 
~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc

我只想要增加.bashrc这个档案的每个人均可写入的权限

[root@www 
~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc 
[root@www ~]# chmod a+w .bashrc 
[root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

要拿掉全部人的可执行权限

[root@www 
~]# chmod a-x .bashrc
[root@www ~]# ls -al .bashrc -rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

你可能感兴趣的:(linux命令)