linux下的基础学习实例001
# 项目实践:
# 新建2个user: alex arod,两用户都有自己的组
# 两个用户又同属于groud: project
# 两用户拥有 /srv/home目录下的开发权,且该目录不允许其他人进入查阅
# ----------------------------------
# groudadd project
# Note 1.0:新建用户,直接添加至group: project
# useradd -G project alex
# useradd -G project arod
# Note 1.1: 若已经新建了用户alex,arod
# useradd alex
# useradd arod
# #则需要再将两个用户添加至group:project
# usermod -a -G project alex
# usermod -a -G project arod
# #注意:按照本实例需求,不能直接使用-g
# # 因为-g表示用将新group作为主用户组
# # -a 代表追加的意思
# # -G 配合-a代表给用户追加一个新的用户组,而不必离开原有的用户组
#
# #当以上后配置好之后,用id命令查看用户分组是否正确
# id alex
# id arod
#
# #修改/srv/home 所属分组
# chgrp project /srv/home
# chmod 770 /srv/home
# cd /srv/home
# Note 2.0
##测试一下,用户alex在/srv/home创建了文件test.c
# su alex
# touch test.c
##切换用户为arod,用vim修改a.txt发现失败
# 查看a.txt 用户组仍然为alex,而arod没有w权限
##rm test.c #可以删除成功,先不删,留着等对比
# Note 2.1
##此时用到一个概念: 文件特殊权限
# SUID -> Set UID 4
# SGID -> Set GID 2 #可以针对文件或目录
# SBIT -> Sticky Bit 1 #这个不是太懂,先不管)
# root权限下:
# chmod 2770 /srv/home #2即SGID
# cd /srv/
# ls -l
##此时可以发现,home权限为drwxrws--- #注意此处的s
##然后在切为alex用户,在该目录/srv/home下创建file.txt
# su alex
# vim file.txt #并写入 alex已经创建
##然后切换为arod用户,在该目录/srv/home下对file.txt
##进行修改
# su arod
# vim file.txt #写入 arod已经修改并保存
##修改成功
# ls -al
## 经过对比,test.c用户组仍然是alex
## 而同样是alex创建的文件 file.txt,用户组为project
##
## 同样,在SGID之后,
## gcc test.c 得到的 a.out也在用户组project下
## 完成用户和权限管理练习,感谢鸟哥
##
## 该实例源自《鸟哥的linux私房菜,基础学习篇》