渗透入门Day6

文章详细介绍了Linux系统中文件和目录的权限管理,包括如何使用chown和chgrp改变属主和属组,设置setUID权限以允许普通用户临时获取特定权限,以及粘滞位的概念。此外,还讨论了ACL(访问控制列表)这一更精细的权限控制机制,如何使用getfacl和setfacl进行管理。最后,解释了umask如何影响新创建文件和目录的默认权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、属主与属组设置

属主:属主是文件或目录的所有者,可以是一个用户账号或一个进程。

属组:属组是文件或目录的所属组,可以是一个用户组或一个进程组。

1.chown:修改文件的属主与属组

语法:

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

进入 /root 目录(~)将install.log的拥有者改为bin这个账号:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

将install.log的拥有者与群组改回为root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

2.chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项

  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

一般来说 chown命令 只有root用户才可以使用 普通用户没有权限修改别人的文件所有者 也没有权限将自己文件的所有者修改为别人。

二、特殊权限

1.设置位s(set UID)

/usr/bin/passwd 在执行时 需要修改/etc/passwd /etc/shadow 等文件,这些文件除了root 其他用户都只有读权限,为了让普通用户修改密码 临时让他们拥有root权限,找个s权限 就是帮我们来完成这个任务的,s权限 只能应用在二进制的可执行文件上。

注:

which  查看二进制可执行文件所在的位置

用法:

#去除s位
chmod u-s /usr/bin/passwd
或
chmod 0755 /usr/bin/passwd
#添加s位
chmod u+s /usr/bin/passwd
或
chmod 4755 /usr/bin/passwd

 2.粘滞位

在目录创建了此权限,除了root用户,其他用户只能对自己的文件进行删除、移动操作。仅有自己和 root 才有权力删除。

chmod o+t /opt   #其他用户有执行权小写t,没有执行权,大写T
或者
chmod 1755 /tmp  # 数字1 表示特殊权限位

三、ACL访问控制

ACL是Access Control List的缩写,表示访问控制列表。在Linux和其他一些操作系统中,ACL是一种用于控制文件和目录访问权限的机制,它允许用户对不同的文件和目录设置不同的权限,而不是仅仅使用传统的Unix权限模型。

基本命令

1.getfacl 查看文件的acl策略及权限 getfacl 文件名
 

2.setfacl 给文件针对某个用户 设置acl权限


-m 修改acl策略

-x 去掉某个用户或者某个组的权限

-b 删除所有acl策略

-R 递归 通常用于目录中 

mask 定义除other以及所有者外最大的权限 


给单个用户单独增加权限 setfacl -m u:user:rwx file

给单个组单独增加权限 setfacl -m g:groupname:rwx file

去掉某个用户的权限:setfacl -x u:user file

去掉某个组的权限:setfacl -x g:groupname file

删除所有acl策略:setfacl -b file

四、umask (进程掩码)

1.什么是umask?

在UNIX和类UNIX系统中,umask是一种掩码,用于在创建新文件或目录时设置默认权限。umask的值指定了掩码中要屏蔽的权限位,因此系统会自动将这些权限从新文件或目录的权限中去掉。

umask的默认值通常是0022,它屏蔽了其他用户(组和其他用户)的写权限,因此新文件和目录的默认权限是644和755。这意味着新文件的所有者可以读写文件,但其他用户只能读取文件。新目录的所有者可以读、写和执行目录,但其他用户只能读取目录。那么当我们创建一个目录时,正常情况下目录的权限应该是777,但是umask表示要减去的值,所以新目录文件的权限应该是777-022=755。至于文件的权限也依次类推:666-022=644

可以使用umask命令来设置umask的值。umask值可以是三个八进制数字的形式,每个数字代表一个权限位,分别对应文件所有者、文件所属组和其他用户的权限。例如,umask值为022表示屏蔽其他用户写入权限,而umask值为027则表示屏蔽其他用户写入和执行权限。

注:0022中第一位0代表特殊权限位,可以不设置。

怎样查看umask

umask

当umask 011 创建文件默认权限应该是 655 实际运行时会变成666

666 —> rw-rw-rw-

011 —> -----x--x

相减得

666 —> rw-rw-rw-

这个特殊情况只出现于文件

2.修改umask值

临时修改:umask umask值

例如:umask 044

永久修改

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值