Linux默认权限设定

一、系统默认权限的设定


从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限

1、临时设定方法

 umask		                                  ###查看系统保留权限默认为022
 umask 077                                    ###修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

2、永久设定方式

 vim /etc/bashrc		                       ###shell
 70     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 71        umask 002	                       ###普通用户umask
 72     else
 73        umask 077                           ###超级用户umask                                                                      
 74     fi

vim /etc/profile	                           ###系统
 59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 60     umask 002	                           ###普通用户umask
 61 else
 62     umask 077                              ###超级用户 umask                                                                                         
 63 fi

以上两个文件umask设定值必须保持一致

通过下面的命令让设定立即生效:

 source /etc/bashrc   或者  . /etc/bashrc
 source /etc/profile  或者  . /etc/profile

二、文件的访问控制(acl列表)


1、设置权限

 [root@server ~]# mkdir /dream
 [root@server ~]# ll /dream
 total 0
 [root@server ~]# ll /dream -d
 drwxr-xr-x. 2 root root 6 Mar 19 02:50 /dream                                 ###我们可以发现我们新建的目录第一列为".",表示没有特殊权限
 [root@server ~]# useradd dream
 [root@server ~]# setfacl -m u:dream:rwx /dream                                ###setfacl -m m:002 /dream当然我们也可以用mask值来设置
 [root@server ~]# getfacl /dream/

我们可以发现我们的这样就会对此文件有root一样的权限,现在我们看的权限就不是ls所看到的权限了

这里写图片描述

2、删除acl列表用户或者组及关闭列表
(1)删除用户
 setfacl -x <u|g>:<username|groupname>	文件|目录
 setfacl -x u:dream /dream
 getfacl /dream
(2)关闭列表
 setfacl -b 文件|目录
 setfacl -b /dream
(3)结果

我们可以发现"+"变成了"."

这里写图片描述
三、特殊权限的设定


1、suid(冒险位 只有文件)

只针对二进制可执行文件,文件内记录的程序产生的进程的所有人为文件所有人和进程发起人身份无关,加上s后对对文件的操作都是以属主的身份来进行的

设定方式:

 chmod u+s file
 suid=4
 chmod 4xxx file

2、sgid(强制位 文件目录)

  • 对文件:

    • 只针对二进制可执行文件,任何人运行二进制文件程序时程序产生的进程的所有组都是文件的所有组和程序发起人组的身份无关
  • 对目录:

    • 当目录有sgid权限后,目录中新建的所有文件的所有组都自动归属到目录的所有组之中,和文件建立者所在的组无关
      设定方式:
 chmod g+s file|dir
 sgid=2
 chmod 2xxx file|dir
 eg.
 chmod g+s /usr/bin/mkdir

切换到其他用户,使用mkdir命令,文件用户组变成root

3、sticky(粘制位)

t权限:
只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除

设定方式:

 chmod o+t direcotry
 t=1
 chmod	1777 direcotry
 eg.在root下
 mkdir -p /redhat
 chmod 777 /redhat
 chmod o+t direcotry

切换到普通用户下,无法删除目录

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 在Linux中,可以使用umask命令来设置文件的默认权限。umask命令用于设置新创建文件的默认权限掩码,它会屏蔽掉文件的权限位,使其默认权限为指定值的补集。例如,如果umask值为022,则新创建的文件权限为644,新创建的目录权限为755。可以通过修改umask值来改变文件的默认权限。 要设置文件的默认权限,可以按照以下步骤操作: 1. 打开终端,输入umask命令查看当前的umask值。 2. 使用umask命令设置新的umask值。例如,如果要将默认权限设置为755,则可以使用umask 022命令。 3. 创建新的文件或目录,它们的默认权限将会是指定umask值的补集。例如,如果umask值为022,则新创建的文件权限为644,新创建的目录权限为755。 注意:umask值是八进制数,它的值范围为-777,其中每一位代表一种权限,分别为读、写、执行权限。例如,umask值为022表示屏蔽掉组和其他用户的写权限,即新创建的文件和目录的默认权限为755。 ### 回答2: Linux是一种多用户、多任务的操作系统,为了保证文件与目录的安全性,Linux系统中对文件和目录设置了不同的权限。在Linux系统中,每个文件和目录都有一个所有者和一组访问权限,这些权限可以控制用户对文件和目录的访问权限。比如,读、写、执行权限,所有者可以授予其他用户相应的权限。 在Linux系统中,我们可以通过chmod命令来设置文件和目录的访问权限。该命令需要指定文件或目录的路径和对应的权限值,有三种设置权限的语法格式: 1.符号模式: 使用"u,g,o,a"来表示用户、用户组、其他用户和所有用户,使用"+"、"-"或"="来表示增加权限、删除权限、赋权权限。 chmod u+rwx,g+rx,o+r testfile 该命令的意思是,给testfile文件的所有者(u)添加读、写和执行(rwx)权限,给用户组(g)添加读和执行(rx)权限,以及给其他用户(o)添加只读(r)权限。 2.数字模式: 使用三个数字的表示法来设置权限,其中第一个数字表示所有者的权限,第二个数字表示用户组的权限,第三个数字表示其他用户的权限,每个数字的值都是0到7之间的数字。 chmod 754 testfile 该命令的意思是,给testfile文件的所有者添加读、写和执行权限(7 = 4 + 2 + 1),给用户组添加读和执行权限(5 = 4 + 1),给其他用户添加只读权限(4)。 3.字母模式: 使用r、w、x和s等符号来表示读、写、执行和特殊权限,其中"s"表示设置SUID,即设置程序的用户ID,"t"表示设置sticky bit,即只允许文件的所有者删除该文件。 chmod u=rwx,g=rx,o=r testfile 该命令的意思是,给testfile文件的所有者添加读、写和执行(rwx)权限,给用户组添加读和执行(rx)权限,给其他用户添加只读权限(r)。 总之,通过这些命令可以为文件或目录设置相应的权限,从而控制文件的读写执行操作,保证文件和目录的安全性和隐私。 ### 回答3: 在Linux系统中,每个文件都有一组权限,用于控制文件的读、写和执行。默认情况下,新创建的文件的权限是由 umask 值决定的。umask 是在创建新文件时从文件权限掩码中删除的权限位。 如果您想更改文件的默认权限,可以通过在配置文件中设置 umask 的值来实现。umask 的值通常用三个数字表示,每个数字代表一个权限组(所有者、群组和其他人),例如 umask 022 表示所有者拥有读写权限,而群组和其他人只有读权限。 要更改默认权限,您需要编辑 /etc/profile 或 ~/.bashrc 文件,并添加以下行: umask 002 要使新的 umask 变更生效,您需要注销并重新登录,或者使用以下命令使新的设置立即生效: source /etc/profile 您还可以使用 chmod 命令来更改文件的默认权限。要更改默认权限,您可以在 /etc/rc.local 中添加 chmod 命令。例如,如果您想将 /var/www 目录和其下的文件的默认权限设置为 755,您可以添加以下行: chmod -R 755 /var/www 您可以根据需要更改文件的默认权限。请注意,更改默认权限可能会导致文件的安全性降低,因此请谨慎操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wielun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值