linux: 用户组, 文件权限详解
一、用户组
linux中每个用户必须属于一个组,不能独立于组外.
每个文件有所有者、所在组、其他组的概念
--所有者
一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者
用ls ‐ahl命令可以看到文件的所有者
也可以使用
chown 用户名 文件名 来修改文件的所有者
--所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组
用ls ‐ahl命令可以看到文件的所有组
也可以使用
chgrp 组名 文件名 来修改文件所在的组
--其他组
除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
--改变用户的所在组
二、文件权限
2.1 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 表示文件名
2.2改变权限的命令
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 目录名 用户名,改变该用户登录的初始目录
案例:
建立两个用户组group1和group2,
groupadd group1
groupadd group2
创建三个用户dennis、daniel、abigale,并且将前2个用户分配在group1用户组下,后一个分配在group2用户组下
useradd -g group1 dennis
useradd -g group1 daniel
useradd -g group2 abigale
給dennis创建一个密码
passwd dennis
以dennis用户登录,创建一个Hello.java文件
以daniel用户登录,观察是否可以访问/home/dennis目录以及读或写其创建的Hello.java文件
以dennis用户登录,修改目录/home/dennis及Hello.java文件的读写权限(更正:修改目录权限的时候,应该使用770,而不是760,否则权限不足)

改变abigale的用户组由group2变为group1
root@loaclhost home]# usermode -g group1 abigale
可以使用cat /etc/passwd查看并确定
【参考】
- groupadd 组名,在linux中添加组
- vi /etc/group,查看linux中所有组信息,可以看可以编辑
- cat /etc/group,查看linux中所有组信息,只可以看不可以编辑
- useradd ‐g 组名 用户名,创建用户的同时指定将该用户分配到哪个组下
- vi /etc/passwd,查看linux中所有用户信息,可以看可以编辑
- cat /etc/passwd,查看linux中所有用户信息,只可以看不可以编辑
转自: https://www.cnblogs.com/123-/p/4189072.html
linux: 用户组, 文件权限详解的更多相关文章
- 【Linux学习】Linux下用户组、文件权限详解
原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在li ...
- (转)Mysql数据库之Binlog日志使用总结Linux下用户组、文件权限详解
Linux下用户组.文件权限详解 原文:http://blog.csdn.net/sdulibh/article/details/51566772 用户组 在linux中的每个用户必须属于一个组,不能 ...
- Linux 用户及权限详解
Linux 用户及权限详解 用户 , 组 ,权限 安全上下文(secure context): 权限: r,w,x 文件: r : 可读,可以使用类似cat 等命令查看文件内容. w : 可写,可以编 ...
- linux学习之路第八天(linux文件权限详解)
建议和我上一篇博客一起通读,效果更加 1.权限的基本介绍 通过一张图片解决疑惑(重点) rwx权限详解 rwx作用到文件 1)[r]代表可读(read) :可以读取,查看 2)[w]代表可写(writ ...
- linux如何修改权限详解
前言 今日,同事问我,服务器上拷贝过来的tomcat,怎么执行不了./startup.sh.于是,我一想,那肯定是没有权限的问题了.于是使用chmod命令更改了权限后,就可以执行了.项目正常启动.我想 ...
- CentOS6.5菜鸟之旅:文件权限详解
一.前言 Linux下所有资源.设备均被视作文件来操作,而文件权限则是决定用户可各文件操作的范围,无论是平时使用Linux,还是写程序均涉及这方面.以下为个人学习的整理,供以后查阅. 二. 三种权限 ...
- Linux ifconfig-etho文件参数详解
1.ifcfg-eth0文件参数详解 DEVICE 网卡名称/网络接口的名称BOOTPROTO 系统启动地址协议 常用参数: none:不使用启动地址协议,none禁止DHCP bootp:BOOTP ...
- Linux下用户组、文件权限详解
在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创 ...
- Linux之用户组、文件权限详解
用户和用户组 文件所有者(u) 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls ‐ahl命令可以看到文件的所有者 也可以使用chown 用户名 文件名来修改文件的所有者 用户组 ...
随机推荐
- ADO.Net中DataSet的应用
一.知识点描述 1.DataSet是ADO.NET的中心概念.可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合.也就是说,即使断开数据链路,或者关闭数据库,Data ...
- amazeUI的confirm控件记录缓存问题的解决办法
场景:列表行每行都有删除按钮,点击删除按钮将行记录的id传给js方法,js方法中调用amazeui的confirm控件,确认删除function通过ajax执行删除行为. 问题现象:每次删除列表第一行 ...
- Windows驱动——读书笔记《Windows驱动开发技术详解》
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- ADO.NET读取配置文件
App.config <?xml version="1.0" encoding="utf-8" ?> <configuration> & ...
- git教程:添加远程仓库
转自: 添加远程仓库 现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过 ...
- 七、Django模型基础第二节——常用查询
1 常用的模型字段类型 官方文档链接: https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-types 常用的字段类型 模型字 ...
- 【oracle】dmp导数据库
假定数据库A为源数据库,数据库B为目标数据库 step1在数据库A中,导出生成.dmp文件,操作流程如下(以下操作均在系统用户ora11g下执行) 1.该操作只需要在第一次使用时执行,A_dump_d ...
- i3wm菜单
抛弃i3-dmenu-desktop吧,投入到 j4-demu-desktop 速度超快
- s21day14 python笔记
s21day14 python笔记 一.内容回顾及补充 参数补充 对于函数的默认值是可变类型 # 如果要想给value设置默认是空列表 # 不推荐(坑) def func(data,value=[]) ...
- uniapp如何将微信小程序API封装为Promise
var SYNC_API_RE = /requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$/; var CALL ...