赞
踩
在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权限作用到文件
rwx权限作用到目录
chmod 修改文件或目录权限
u:所有者 g:所有组 o:其他人 a:所有人
(1)chmod u=rwx,g=rx,o=x 文件目录名
(2) chmod o+w 文件目录名
(3) chmod a-x 文件目录名
方式一:通过+ - =变更权限
• 案例演示
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
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 newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效
案例演示:
chown tom abc.txt
-rw-r–r--. 1 tom root 0 8月 21 22:59 abc.txt
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 newgroup file 改变文件的所有组
案例演示:
chgrp bandit /home/abc.txt
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。