欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux组的管理和权限管理

程序员文章站 2022-04-26 12:11:10
...

用户组

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。
用户组:类似于角色,系统可以对有共性的多个用户进行统一管理。

新增组

groupadd 组名

删除组

groupdel 组名

增加用户时直接加上组

useradd -g 用户组 用户名

查看用户信息

id 用户名

用户家目录的概念

/home/ 目录下有各个创建的用户对应的家目录,当用户登录时,会自动的进入到自己的家目录。

修改用户组

usermod -g 用户组 用户名

用户和组的相关文件

增加的组和用户的信息都存在哪个文件下呢?
用户的信息放在用户配置文件中:/etc/passwd
vim /etc/passwd
Linux组的管理和权限管理
每行的含义:用户名:口令:用户id :组id:注释性描述:用户的家目录:登录Shell
组的信息放在组配置文件中:/etc/group
vim /etc/group
Linux组的管理和权限管理
每行的含义:组名:口令:组标识号:组内用户列表
每行的含义:用户名:加密口令:最后一次修改时间:
密码和登录信息放在口令配置文件中:/etc/shadow
vim etc/shadow
Linux组的管理和权限管理

文件

所有者:谁的
所在组:归属哪个组
其他组:除去所在组的其他组
改变用户所在组

文件/目录所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

查看文件文件所有者

当用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。
查看文件、目录所在组
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】代表可执行文件,可以进入该目录
    -Linux组的管理和权限管理

权限的管理

chmod 修改文件或目录权限
u:所有者 g:所有组 o:其他人 a:所有人
(1)chmod u=rwx,g=rx,o=x 文件目录名
(2) chmod o+w 文件目录名
(3) chmod a-x 文件目录名
方式一:通过+ - =变更权限
• 案例演示

  1. 给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

  1. 给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 如果是目录 则使其下所有子文件或目录递归生效
案例演示:

  1. 请将 /home/abc .txt 文件的所有者修改成 tom
    whoami :查看当前用户
chown tom abc.txt 

-rw-r–r--. 1 tom root 0 8月 21 22:59 abc.txt

  1. 请将 /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 改变文件的所有组
案例演示:

  1. 请将 /home/abc .txt 文件的所在组修改成 shaolin (少林)
chgrp bandit /home/abc.txt
  1. 请将 /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
相关标签: Liunx linux