Linux组的管理和权限管理
用户组
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。
用户组:类似于角色,系统可以对有共性的多个用户进行统一管理。
新增组
groupadd 组名
删除组
groupdel 组名
增加用户时直接加上组
useradd -g 用户组 用户名
查看用户信息
id 用户名
用户家目录的概念
/home/ 目录下有各个创建的用户对应的家目录,当用户登录时,会自动的进入到自己的家目录。
修改用户组
usermod -g 用户组 用户名
用户和组的相关文件
增加的组和用户的信息都存在哪个文件下呢?
用户的信息放在用户配置文件中:/etc/passwd
vim /etc/passwd
每行的含义:用户名:口令:用户id :组id:注释性描述:用户的家目录:登录Shell
组的信息放在组配置文件中:/etc/group
vim /etc/group
每行的含义:组名:口令:组标识号:组内用户列表
每行的含义:用户名:加密口令:最后一次修改时间:
密码和登录信息放在口令配置文件中:/etc/shadow
vim etc/shadow
文件
所有者:谁的
所在组:归属哪个组
其他组:除去所在组的其他组
改变用户所在组
文件/目录所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
查看文件文件所有者
当用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。
查看文件、目录所在组
ls -ahl
案例:创建一个组police,在创建一个用户tom,把tom放到police组红,然后用tom来创建一个文件ok.txt
cd /home/
groupadd police
useradd -g police tom
passwd tom 123
新建立一个连接用tom登录
touch ok.txt
ls -ahl
修改文件所有者
chown 用户名 文件名
案例:使用root创建一个apple.txt,然后将其所有者修改为tom
touch apple.txt
chown tom apple.txt
修改文件所在组
chgrp 组名 文件名
案例:使用root用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件组修改为police组
touch orange.txt
ls -ahl
chgrp police orange.txt
其他组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
改变用户所在组
usermod -g 组名 用户名
案例:创建一个bandit组,将tom这个用户由原来的police组改到bandi组
groupadd bandit
usermod -g bandit tom
id tom
权限的基本介绍
-rw-r–r--. 1 root root 0 8月 21 19:41 ok.txt
-:代表的是普通文件
文件类型:
->普通文件 d->目录 l->软链接文件 c->字符设备【键盘、鼠标】
b-> 块文件 【硬盘】
rw- :表示文件所有者拥有的权限
r:读 w:写 x:可执行
r-- :代表文件所在组的用户权限
r-- 只有读的权限
r–:代表文件其他组的用户的权限
只读
1:表示如果是文件表示硬链接的数,如果是目录,表示该目录的子目录的个数
0:表示文件大小
8月 21 19:41:文件最后的修改时间
rwx权限作用到文件
- 【r】代表可读,可查看
- 【w】代表可写,可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写的权限,才能删除该文件。
- 【x】代表可执行文件,可以被执行
rwx权限作用到目录
- 【r】代表可读,可查看 ls 查看目录内容
- 【w】代表可写,可以修改,目录内创建、删除重命名目录
- 【x】代表可执行文件,可以进入该目录
-
权限的管理
chmod 修改文件或目录权限
u:所有者 g:所有组 o:其他人 a:所有人
(1)chmod u=rwx,g=rx,o=x 文件目录名
(2) chmod o+w 文件目录名
(3) chmod a-x 文件目录名
方式一:通过+ - =变更权限
• 案例演示
- 给abc文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
touch abc
chmod u=rwx,g=rx,o=rx
-rwxr-xr-x. 1 root root 0 8月 21 23:01 abc
2) 给abc文件的所有者除去执行的权限,增加组写的权限
chomd u-x,g+w abc
-rw-rwxr-x. 1 root root 0 8月 21 23:01 abc
- 给abc文件的所有用户添加读的权限
chmod a+r abc
-rw-rwxr-x. 1 root root 0 8月 21 23:01 abc
方式二:通过数字变更权限
r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件目录名
• 案例演示
要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:
rwx=4+2+1=7
r-x=4+1=5
chmod 755 /home/abc.txt
修改文件所有者-chown
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效
案例演示:
- 请将 /home/abc .txt 文件的所有者修改成 tom
whoami :查看当前用户
chown tom abc.txt
-rw-r–r--. 1 tom root 0 8月 21 22:59 abc.txt
- 请将 /home/own 目录下所有的文件和目录的所有者都修改成tom
cd /home
mkdir own
touch o1.txt
touch o2.txt
touch oo
chown -R tom own/
cd own/
ls -l
-rw-r–r--. 1 tom root 0 8月 21 23:22 o1.txt
-rw-r–r--. 1 tom root 0 8月 21 23:23 o2.txt
-rw-r–r--. 1 tom root 0 8月 21 23:23 oo
将own目录下的文件包括子目录以及子目录下的所有文件、目录的所有者都改成tom
修改文件所在组-chgrp
基本介绍
chgrp newgroup file 改变文件的所有组
案例演示:
- 请将 /home/abc .txt 文件的所在组修改成 shaolin (少林)
chgrp bandit /home/abc.txt
- 请将 /home/own 目录下所有的文件和目录的所在组都修改成 shaolin(少林)
cd /home
chgrp -R bandit /home/own
cd own/
ls -l
-rw-r–r--. 1 tom bandit 0 8月 21 23:22 o1.txt
-rw-r–r--. 1 tom bandit 0 8月 21 23:23 o2.txt
-rw-r–r--. 1 tom bandit 0 8月 21 23:23 oo
最佳实践-警察和土匪游戏
police , bandit
jack, jerry: 警察
xh, xq: 土匪
(1) 创建组
groupadd police
groupadd bandit
(2) 创建用户
useradd -g police jeck
passwd jeck 123
useradd -g police jerry
passwd jerry 123
useradd -g bandit xq
passwd xq 123
useradd -g bandit xh
passwd xh 123
(3) jack 创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限
单开一个连接,使用jeck 123登录
touch jack01.txt
chmod 640 jack01.txt
6:自己读写
4:本组人可读
0:其他人没有任何权限
(4) jack 修改该文件,让其它组人可以读, 本组人可以读写
chomd o=r,g=rw jack01.txt
(5) xh 投靠 警察,看看是否可以读写
切换到root权限下改变xh的所在组
先用root修改小红所在组
usermod -g police xh
使用jack给他的家目录/home/jack所在组一个rx权限
chmod g=rx jack/
小红logout注销在重新登录,就可以读写了
vim jack01.txt
推荐阅读
-
RBAC 基于角色的权限管理的简单实现,rbac角色权限管理
-
解析PHP中的内存管理,PHP动态分配和释放内存_PHP教程
-
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(24)-权限管理系统-将权限授权给角色
-
Git 项目推荐 | Yii2 结合 rbac 的后台权限管理系统
-
【前端开发环境】前端使用GIT管理代码仓库需要掌握的几个必备技巧和知识点总结
-
基于easyui1.3.1跟thinkphp3.1的小型权限管理系统
-
[2012/2/24更新]一个简单的订单管理和图纸管理系统PMS
-
MMS 用户和组管理(15)
-
ASP.NET MVC+EF框架+EasyUI实现权限管理系列(7)-DBSession的封装
-
求关于php权限设置和管理的思路解决方案