转自https://www.cnblogs.com/123-/p/4189072.html

用户组

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念

- 所有者

- 所在组

- 其它组

- 改变用户所在的组

所有者

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

用ls ‐ahl命令可以看到文件的所有者

也可以使用chown 用户名 文件名来修改文件的所有者

文件所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组

用ls ‐ahl命令可以看到文件的所有组

也可以使用chgrp 组名 文件名来修改文件所在的组

其它组

除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

文件权限

ls

-l中显示的内容如下:

-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc

- 10个字符确定不同用户能对文件干什么

- 第一个字符代表文件(-)、目录(d),链接(l)

- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)

- 第一组rwx:文件所有者的权限是读、写和执行

- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行

- 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行

也可用数字表示为:r=4,w=2,x=1  因此rwx=4+2+1=7

- 1 表示连接的文件数

- root 表示用户

- root表示用户所在的组

- 1213 表示文件大小(字节)

- Feb 2 09:39 表示最后修改日期

- abc 表示文件名

改变权限的命令

chmod 改变文件或目录的权限

chmod 755 abc:赋予abc权限rwxr-xr-x

chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限

chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限

chmod a+r abc:给所有用户添加读的权限

改变所有者(chown)和用户组(chgrp)命令

chown xiaoming abc:改变abc的所有者为xiaoming

chgrp root abc:改变abc所属的组为root

chown root ./abc:改变abc这个目录的所有者是root

chown ‐R root ./abc:改变abc这个目录及其下面所有的文件和目录的所有者是root

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组

- usermod ‐g 组名 用户名

你可以用

- usermod ‐d 目录名 用户名,改变该用户登录的初始目录

【综合案例】

【题1.1】建立两个用户组group1和group2,以及三个用户dennis、daniel、abigale,并且将前2个用户分配在group1用户组下,后一个分配在group2用户组下

【题1.2】以dennis用户登录,创建一个Hello.java文件

【题1.3】以daniel用户登录,观察是否可以访问/home/dennis目录以及读或写其创建的Hello.java文件

【题1.4】以dennis用户登录,修改目录/home/dennis及Hello.java文件的读写权限(更正:修改目录权限的时候,应该使用770,而不是760,否则权限不足)

【题1.5】重复【题1.3】

【题1.6】改变abigale的用户组由group2变为group1

然后,可以使用cat /etc/passwd查看并确定

【参考】

- groupadd 组名,在linux中添加组

- vi /etc/group,查看linux中所有组信息,可以看可以编辑

- cat /etc/group,查看linux中所有组信息,只可以看不可以编辑

- useradd ‐g 组名 用户名,创建用户的同时指定将该用户分配到哪个组下

- vi /etc/passwd,查看linux中所有用户信息,可以看可以编辑

- cat /etc/passwd,查看linux中所有用户信息,只可以看不可以编辑

最新文章

  1. 一个java源文件中为什么只能有一个public类。
  2. 利用JavaScript来实现省份—市县的二级联动
  3. Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等
  4. Win8.1屏幕亮度自动调节关闭方法
  5. GCD常用方法
  6. XC软件管理器应用
  7. 支付宝APP支付(Java后台生成签名具体步骤)
  8. wordpress通过代码禁用IE8, IE9,IE10等IE浏览器兼容视图模式(Compatibility View)
  9. 用C++语言开发Android程序 配置开发环境
  10. RTB撕开黑盒子 Part 1: Datacratic's RTB Algorithms
  11. pc网页到移动端怎么自动加载适应移动端的css。
  12. Mac 终端—不同文件不同颜色显示,提示文字
  13. 【Storm篇】--Storm并发机制
  14. SpringCloud(5)路由网关Spring Cloud Zuul
  15. vue2.0实现过滤
  16. Serilog记录MongoDB日志报错:requires the binary sub type to be UuidLegacy, not UuidStandard
  17. Trap 冷启动与热启动告警
  18. React 入门实例
  19. Java离线人脸识别SDK 支持arcface 2.0 最新版
  20. 5.10 C++内存管理操作符重载

热门文章

  1. C#类的一些基础知识(静态方法可以不用实例化调用)
  2. 跨域库herryPostMessage.js的一些优化,多iframe跨域
  3. Java(25-40)【数据类型转换、运算符、方法入门】
  4. buuctf --pwn part2
  5. 嗨,你知道吗,Spring还有这些高级特性!
  6. day-25-类的继承顺序-父类对子类的约束-多态-队列和栈
  7. 963. Minimum Area Rectangle II
  8. MSSQL数据库清理Log 压缩数据库日志文件
  9. css单位介绍em ex ch rem vw vh vm cm mm in pt pc px
  10. Python脚本破解Linux口令(crypt模块)