组
Linux每个用户必然属于一个组。每个文件的权限组内权限,其它组权限。
ls -ahl #查看文件所有者
- chown(改变文件所有者)
chown zs 1.txt #将test目录的所有者改为zs
- groupadd(添加组)
groupadd master #添加组
useradd -g master ww #将用户ww添加到组master
#文件默认属于用户所在组
chgrp root test.txt #将test.txt所在组改为root
- usermod(改变用户所在组)
usermod -g gp zs #将zs所在组改为gp
usermod -d test zs#将用户zs登录的初始目录改为test
权限(重点)
Is -l 中显示的内容如下:
- r w x r w - r - -
0 1 2 3 4 5 6 7 8 9
图片来源于韩顺平视频教程
- 第0位确定文件类型(d,-,I, c, b)I是链接,相当于windows的快捷方式。 d是目录,相当于windows的文件夹。c是字符设备文件,鼠标,键盘。b是块设备,比如硬盘。
- 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。–User
- 第4-6位确定所属组(同用户组的)拥有该文件的权限, --Group
- 第7-9位确定其他用户拥有该文件的权限—Other
r表示都,w表示写(可以修改并不代表能够删除,需要在目录拥有写权限),x代表执行。
数字表示 r = 4 w = 2 x = 1 - chmod
通过+,- ,= 结合字母变更权限。
u = 所有者 g = 所有组 o= 其它人 a = 所有人
chmod u=rwx,g=rx,o=x test #对test文件所有者赋予读写执行权限,所有组赋予读写权限,其它用户为执行权限
chmod o+w #给其他用户增加写的权限
chmod a-x #给所有人去掉执行权限
通过数字变更权限
1 - 7
chmod 777 test #所有用户读写执行权限。
chmod 755 test #给所有者读写执行权限,给所有组读和执行权限,给其他用户读和执行权限。
- chown(改变文件所有者)
chown -R zs /home/soft #将文件的所有者改为zs,里面每一个文件都改为zs
- chgrp
chgrp group /home/test/a.txt #将a.txt的所属组改为group
chgrp -R group /home/test/ #递归改变每个文件的所属组
cd 需要的是执行权限,ls需要的是读权限,创建文件和删除文件需要写权限。
注意:修改权限后可能需要重新登录才能生效,也可以执行source profile。