Linux 组介绍
在 Linux 中的每个用户必须属于一个组,不能独立于组外。
在 Linux 中每个文件有所有者、所在组、其它组的概念。
- 所有者
- 所在组
- 其它组
- 改变用户所在的组
文件/目录 所有者
当某个用户创建了一个文件后,默认这个文件的所在组就是该用户的所在组
查看文件所有者
ls -ahl# 示例# 创建一个组police,再创建一个用户tom,将tom 放在police组里,然后登录 tom的账户,创建一个ok.txtgroupadd policeuseradd -g police tompasswd tomtouch a.txtls -ahl

修改文件所有者
# 修改文件所有者chown 用户名 文件名# 改变用户的所有者和所有组chown 选项 用户名:组名 file# 选项# -R 如果是目录,则递归使其所有目录、子文件都生效# 示例# 1.使用root 创建一个文件apple.txt ,然后将其所有者修改成 zfchown zf apple.txt# 2. 请将 abc 文件的所有者修改成 tomchown tom abc# 3. 请将 /home/kkk 目录下所有的文件和目录的所有者都修改成tom# 需要使用root用户操作chown -R tom kkk/
组的创建
# groupadd 组名# 创建一个组,monstergroupadd monster# 创建一个用户 fox,放入到 monster组中useradd -g monster foxpasswd fox
修改文件所在组
# chgrp 选项 组名 文件名# 选项# -R 如果是目录,则递归使其所有目录、子文件都生效# 示例# 1. 使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 police组chgrp police orange.txt# 2. 将 /home/abc .txt 文件的所在组修改成 shaolin (少林)chgrp shaolin /home/abc.txt# 3. 将 /home/kkk 目录下所有的文件和目录的所在组都修改成 shaolin(少林)chgrp -R shaolin /home/kkk
其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
改变用户所在组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。
usermod –g 组名 用户名
权限的基本介绍*
-rwxrw-r— 1 root root 1213 Feb 2 09:39 abc
| 值 | 作用 |
|---|---|
| [ - ] 第0位 | 确定文件类型(d:目录, - :普通文件, l :软连接, c:字符设备 , b:块文件) |
| [ rwx ] 第1-3位 | 所有者(该文件的所有者)拥有该文件的权限 |
| [ rw- ] 第4-6位 | 与所有者同组的其它用户对该文件的权限 |
| [ r— ] 第7-9位 | 不同组的其他用户对该文件的权限 |
| 1 | 文件:硬连接;目录:子目录数 |
| root | 用户 |
| root | 组 |
| 1213 | 文件大小(字节),如果是文件夹,显示4096字节 |
| Feb 2 09:39 | 最后修改日期 |
| abc | 文件名 |
rwx 权限详解
| 代表 | 作用到文件 | 作用到目录 |
|---|---|---|
| [ r ] 代表可读( read ) | 可以读取,查看 | 可以读取,ls查看目录内容 |
| [ w ] 代表可写( write ) | 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件. | 可以修改,目录内创建+删除+重命名目录 |
| [ x ] 代表可执行( execute ) | 可以被执行 | 可以进入该目录 |
修改权限
通过 chmod 指令,可以修改文件或者目录的权限。
第一种方式:+ 、- 、= 变更权限
| 值 | 作用 |
|---|---|
| u | 所有者 |
| g | 所有组 |
| o | 其他人 |
| a | 所有人(u、g、o的总和) |
# 示例# 1. 给abc文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。chmod u=rwx,g=rx,o=rw abc# 2. 给abc文件的所有者除去执行的权限,增加组写的权限chmod u-x,g+w abc# 3. 给abc文件的所有用户添加读的权限chmod a+r abc
第二种方式:通过数字改变权限
rwx 也可以用数字表示
r = 4,w = 2,x = 1,因此 rwx = 7
# 案例# 将 abc文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:chmod 755 abc
实践:警察和土匪游戏
# police , bandit# # jack, jerry: 警察# xh, xq: 土匪# (1) 创建组groupadd policegroupadd bandit# (2) 创建用户useradd -g police jackuseradd -g police jerryuseradd -g bandit xhuseradd -g bandit xq# (3) jack 创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限touch police.txtchmod u=rw,g=r,o-r police.txt# (4) jack 修改该文件,让其它组人可以读, 本组人可以读写chmod g+w,o=r police.txt# (5) xh 投靠 警察,看看是否可以读写root:usermod -g police xhjack:chmod g=rx jackxh:logoutxh:cd /home/jack
练习:西游记
# 1. 建立两个组(神仙, 妖怪)groupadd shenxiangroupadd yaoguai# 2. 建立四个用户( 唐僧, 悟空,八戒,沙僧),把悟空,八戒放入妖怪 ,唐僧 、沙僧放在神仙useradd-g shenxian tangsenguseradd -g shenxian shasenguseradd -g yaoguai wukonguseradd -g yaoguai bajie# 3. 设置密码passwd wukongpasswd bajiepasswd shaseng# 4. 用悟空建立一个文件 ( (monkey.java 该文件要输出 i am monkey) )wukong:vim monkey.java# 5. 给八戒一个可以r w 的权限wukong:chmod g=rw wukong# 6. 八戒修改monkey.java 加入一句话( i am pig)bajie:vim monkey.java# 7. 唐僧 沙僧 对该文件没有权限wukong:chmod o-r monkey.java# 8. 把 沙僧 放入妖怪组root:usermod -g yaoguai shaseng# 9. 让沙僧 修改该文件 monkey, 加入一句话 (shaseng)"shaseng:vim monkey.java
综合练习
# 1.用root登录,建立用户mycentos,自己设定密码useradd mycentospasswd mycentos# 2.用mycentos登录,在主目录下建立目录test/t11/t1mkdir -p test/t11/t1# 3.在t1中建立一个文本文件aa,用vi编辑其内容为ls –alvi aa# 4.改变aa的权限为可执行文件[可以将当前日期追加到一个文件],运行该文件./aachmod 700 aadate > aa# 5.删除新建立的目录test/t11/t1rm -rf test# 6.删除用户mycentos及其主目录中的内容userdel -r mycentos# 7.将linux设置成进入到图形界面的init 5# 8. 重新启动linux或关机init 6
