如何改变文件属性与权限
chgrp:改变文件所属用户组
chown:改变文件所有者
chmod:改变文件的权限
chgrp [-R] dirname/filename
例:chgrp users install.log 将install.log文件用户组改到users
chgrp,要改变的组名必须要在/etc/group文件内存在才行,否则就会显示错误。
chown,用户必须是已经存在于系统中的账号,也就是/etc/passwd这个文件中有记录的用户名称才能改变。
chown的用途还挺多的,它还可以顺便直接修改用户组的名称。此外如果要连目录下的所有子目录或文件都
同时更改文件所有者的话,直接加上-R的参数即可。
chown [-R] 账号名称 文件或目录 (只更改所有者)
chown bin install.log
chown [-R] 账号名称:组名 文件或目录 (所有者和组都更改)
chown root:root install.log
什么时候需要使用chown或chgrp呢?最常见的例子就是在复制文件给你之外的其他人时,我们使用最简单的cp命令
来说明好了:
cp 源文件 目标文件
假设你今天要将.bashrc这个文件复制成为.bashrc_test文件名,并且是要给bin这个人,你可以这样做:
cp .bashrc .bashrc_test
由于复制行为(cp)会复制执行者的属性和权限,.bashrc_test还是属于root所有,如此一来,即使你将文件给予bin这个用户了,那他仍然无法修改的。所以你必须要修改这个文件的所有者与用户组。
chmod 文件权限的改变使用的是chmod这个命令,但是权限的设置方法有两种,分别可以使用数字或者是符号来进行权限的更改。
数字类型改变文件权限
linux文件有三种身份owner,group,others,每种身份有三种权限分别是:read、write、execute
linux文件的基本权限就有9个,这9个权限是3个3个一组的
各权限的分数对照表如下:
r:4
w:2
x:1
对应分数如下:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
other = rwx = 4+2+1 = 7
- 为 0
格式:chmod [-R] xyz 文件或目录
xyz:就是刚刚提到的数字类型的权限属性,为rwx属性数值的相加。
例:chmod 777 .bashrc 就是将.bashrc的权限更改为-rwxrwxrwx
chmod 770 .bashrc 就是将.bashrc的权限更改为-rwxrwx---
符号类型改变文件权限
我们可以通过u,g,o,来代表3种身份的权限。此外a代表all,也即全部的身份。那么读写的权限就可以写成r,w,x,也就是
chmod u=rwx,go=rx ,bashrc 就是-rwxr-xr-x
如果想给每个身份加入写(w)的权限,可以是:
chmod a+w .bashrc
如果想给每个身份减去写(w)的权限,可以是:
chmod a-w .bashrc
chown:改变文件所有者
chmod:改变文件的权限
chgrp [-R] dirname/filename
例:chgrp users install.log 将install.log文件用户组改到users
chgrp,要改变的组名必须要在/etc/group文件内存在才行,否则就会显示错误。
chown,用户必须是已经存在于系统中的账号,也就是/etc/passwd这个文件中有记录的用户名称才能改变。
chown的用途还挺多的,它还可以顺便直接修改用户组的名称。此外如果要连目录下的所有子目录或文件都
同时更改文件所有者的话,直接加上-R的参数即可。
chown [-R] 账号名称 文件或目录 (只更改所有者)
chown bin install.log
chown [-R] 账号名称:组名 文件或目录 (所有者和组都更改)
chown root:root install.log
什么时候需要使用chown或chgrp呢?最常见的例子就是在复制文件给你之外的其他人时,我们使用最简单的cp命令
来说明好了:
cp 源文件 目标文件
假设你今天要将.bashrc这个文件复制成为.bashrc_test文件名,并且是要给bin这个人,你可以这样做:
cp .bashrc .bashrc_test
由于复制行为(cp)会复制执行者的属性和权限,.bashrc_test还是属于root所有,如此一来,即使你将文件给予bin这个用户了,那他仍然无法修改的。所以你必须要修改这个文件的所有者与用户组。
chmod 文件权限的改变使用的是chmod这个命令,但是权限的设置方法有两种,分别可以使用数字或者是符号来进行权限的更改。
数字类型改变文件权限
linux文件有三种身份owner,group,others,每种身份有三种权限分别是:read、write、execute
linux文件的基本权限就有9个,这9个权限是3个3个一组的
各权限的分数对照表如下:
r:4
w:2
x:1
对应分数如下:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
other = rwx = 4+2+1 = 7
- 为 0
格式:chmod [-R] xyz 文件或目录
xyz:就是刚刚提到的数字类型的权限属性,为rwx属性数值的相加。
例:chmod 777 .bashrc 就是将.bashrc的权限更改为-rwxrwxrwx
chmod 770 .bashrc 就是将.bashrc的权限更改为-rwxrwx---
符号类型改变文件权限
我们可以通过u,g,o,来代表3种身份的权限。此外a代表all,也即全部的身份。那么读写的权限就可以写成r,w,x,也就是
chmod u=rwx,go=rx ,bashrc 就是-rwxr-xr-x
如果想给每个身份加入写(w)的权限,可以是:
chmod a+w .bashrc
如果想给每个身份减去写(w)的权限,可以是:
chmod a-w .bashrc