在多用户的管理系统中,权限是指某个特定的用户具有特定的系统资源使用权力,像是文件夹、特定系统指令的使用或存储量的限制。由root用户创建的普通用户的权限没有root超级管理员用户的权限大。超级用户可以通过给一部分权限给普通用户,这样就可以给普通用户分配工作,并且普通用户无法更改root没有授权的文件,这样能保护系统文件了。
这是文件创建时的默认权限状态:其中1 中“-”代表文件,“ d”代表文件夹,2代表该文件的所属用户权限,3代表与该文件同组的用户权限,4代表其他用户的权限。
其中权限字符含义为:
“r”:读
“w”:写
“x”:执行(文件刚创建是没有执行权限的)
我们通常会改变文件的权限以用来给其他用户读写执行,通常我们会有#chmod 777 test.txt,这样的命令,其中777代表的是什么呢? 第一个7代表所属用户的权限,第二个7代表与该文件同组用户的权限,第三个7代表其他用户的权限。那7又代表什么呢?是怎么来的呢?其中:“r”为4,“w”为2,“x”为1。所以777代表权限为rwxrwxrwx权限。如果你不想权限这么大,想设为rw-r-x-w-,那么其对应数字为652.
1、chown
- 作用:更改文件的所属用户
语法:#chown -R 用户名 文件名
-R:加-R可以把 文件夹下面所有文件的所属用户都改了
案例:把test文件的所属用户改为jack
2、chgrp
- 作用:更改文件的所属用户组
语法:#chgrp 用户组 文件名
案例:将test所属组改为czy
3、chmod
- 作用:修改文件的权限
语法:chmod 数字 文件
案例:修改test文件的权限为-rw-r-x-w-
总结:
但你要通过其他用户对文件进行操作时,请按以下顺序对文件权限进行修改 :
1、当件件拥有所属用户权限时,对文件进行相应的操作只需要更改所属用户的权限。
2、当文件拥有与该文件同组的用户权限时,对文件进行相应的操作只需要更改所属用户组的权限。
3、当文件只拥有其他用户的权限时,对文件进行相应的操作只需要更改其他用户组的权限。
练习
1、创建用户组group_test,创建用户user_test,创建/opt/script/目录,在/opt/script/目录下创建文件show0.txt、show1.txt、show2.txt,分别写入‘root editor’。
2、将文件show0.txt所属者给予user_test;
将show1.txt所属群组主改为group_test,与user_test 同组,并修改show1文件所属群组权限为可写;
修改show2.txt文件其他人权限为可写
3、切换用户user_test;
分别向how0.txt、show1.txt、show2.txt追加写入“user_test editor”,并且查看how0.txt、show1.txt、show2.txt里面的内容。
命令为:
1、
groupadd group_test #创建用户组
useradd -g group_test user_test #创建用户1
cd /opt/script/
echo 'root editor' > show0.txt #创建文件
echo 'root editor' > show1.txt
echo 'root editor' > show2.txt
2、
chown user_test show0.txt #将文件使用者给予user_test
chgrp group_test show1.txt #将show1所属群组主改为group_test,与user_test 同组
chmod 664 show1.txt #修改show1文件所属群组权限为可写
chmod 646 show2.txt #修改文件其他人权限为可写
3、
su user_test
cd /opt/script/
echo "user_test editor" >> show0.txt
echo "user_test editor" >> show1.txt
echo "user_test editor" >> show2.txt
cat show0.txt
cat show1.txt
cat show2.txt