Linux下用户组、文件权限详解

用户组

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

所有者

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

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

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

文件所在组

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

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

        3. 也可以使用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
改变用户所在组

usermod ‐g 组名 用户名     #改变某个用户所在的组
usermod ‐d 目录名 用户名   #改变该用户登录的初始目录

综合案例

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


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

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

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


【题5】重复【题3】
【题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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,每个文件都具有权限属性,包括文件的所有者、所属用户组和其他用户的权限。除了这些明确的权限之外,还有一些隐含的权限控制文件的访问。 第一个隐含权限是"隐藏权限",也称为特殊权限。它用于给文件或目录添加一些特殊的功能。其中最常见的特殊权限是设置"SUID"和"SGID"位。当一个文件具有SUID设定时,它在执行过程中将暂时获取文件所有者的权限。这对于一些需要用户特权才能执行的程序非常有用。当一个文件具有SGID设定时,它在执行过程中将暂时获取文件所属的权限。这对于一些需要共享访问权限的目录非常有用。 第二个隐含权限是"粘贴位",也称为"sticky bit"。它主要用于保护目录中的文件免受删除的风险。当一个目录设置了粘贴位时,只有文件的所有者才能删除该文件,其他用户无法删除。这对于一些共享目录非常有用,可以防止其他用户不小心删除其他人的文件。 另外一个隐含权限是"ACL",也称为访问控制列表。它允许用户更细粒度地控制文件的访问权限。通常情况下,文件的权限是通过文件所有者、所属用户组和其他用户的权限来控制的。但是通过ACL,可以为特定的用户用户组提供特定的权限,覆盖了默认的权限设置。 总之,Linux文件的隐含权限包括隐藏权限(如SUID、SGID)、粘贴位和ACL。这些隐含权限可以提供更灵活和安全的文件访问控制,允许用户根据需要设置特殊的权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值