群组管理的命令:
每个用户都属于一个特定的群组;
如果你不设置用户的群组,会默认创建一个跟你用户名一样的群组;并且把用户划归到这个群组;
第3列表示账户所有者,第4列表示账户所属的群组;
groupadd 创建群组命令
格式:groupadd 要创建的群组名
例如:groupadd friends
usermod 修改用户账户
相关参数:
-l 对用户重命名,但是/home中的家目录名是不会变的,需要手动修改
-g 修改用户所在群组
-G 将用户添加到多个群组
//使用-g -G参数时要小心,它会把用户从原先的数组里剔除,加入到新的群组;
//如果不想离开原先的群组,又想加入新的群组,就这么用-aG、或者-ag
假如要将jack这个用户放到刚创建的friends这个群组中
可以这么写:usermode -g friends jack
groups 命令 用于查看用户所属群组
groupdel 命令 删除已经存在的群组
groupdel时group和delete的缩写
==========================================
修改文件的所有者和群组
只有root用户可以修改一个文件的所有者和群组
chown 命令 改变文件的所有者
需要root身份才能运行
例如 chown jack file.txt
将所有者变成了jack,但是所属群组不变
chgrp 命令 改变文件的群组
chgrp jack file.txt
其实使用chown也可以改变群组
chown grooovvve:grooovvve file.txt
chown -R参数 表示递归,递归设置子目录和子文件
注意只能用大写的R,小写不起作用;
例如:把用户jack的home的家目录以及所有子目录的文件都占位己有;
chown -R grooovvve:grooovvve /home/jack
===============================================
chmod命令,修改访问权限
ls -l 命令显示的第一列信息就是访问权限;
d 表示是目录,l表示是链接
w表示写权限,r表示读权限,x表示可执行该文件
如x权限在目录上,表示的是这个目录可以被读;
如果同时有r权限的话,可以打开此目录来看其子目录和子文件,;
短横-表示没有相应权限;
.点号,对于RedHat系的系统时会出现,表示启用了SELinux安全标签,是一种访问控制体系;
d/-/l rwx rwx rwx
属性 所有者权限 所属群组其他用户权限 其他用户权限
root用户对所有文件都有 rwx权限;
chmod命令不需要root也能运行,只要你是文件的所有者就可以;
绝对数字的用法:
linux为每种权限分配的对应的数字
r ->4
w ->2
x ->1
6表示rw权限
0没有任何权限
4读权限
1执行权限
7 所有权限
例如 640
6 所有者有读写权限
4 所在群组有读权限
0 其他用户没有权限
使用字母的方式:
u表示用户,所有者
g 群组
o 其他用户
a 所有用户
+ 添加相应权限
- 去除相应权限
= 分配权限
chmod u+rx file
chmod g+r file
chmod g+r o-r file
chmode u=rwx,g=r,o=- file
chmod 配合 -R 递归地修改访问权限
chmod -R 700 /home/oscar //这个文件夹及其子文件,都只能所有者有读写运行权限;
================================================