zoukankan      html  css  js  c++  java
  • Linux权限管理

    权限管理————————————————————————————————————————————————————————————————————————————————————————————
      1.用户权限管理
        chown:设置用户的属主属组
            命令格式:
        chown  [选项]  [所有者][:[组]]  文件
                选项:-R 处理指定目录以及其子目录下的所有文件
                  -v 显示详细的处理信息
                      -f 忽略错误信息
            chgrp  [属组]  [文件]  修改文件属组
          实例:[root@localhost ~]# useradd cat
                  [root@localhost ~]# mkdir miao
                  [root@localhost ~]# ll
                  total 4
                  -rw-------. 1 root root 815 Oct 31 09:44 anaconda-ks.cfg
                  drwxr-xr-x  2 root root   6 Jan 12 06:33 miao
                  [root@localhost ~]# chown cat:cat miao
                  [root@localhost ~]# ll
                  total 4
                  -rw-------. 1 root root 815 Oct 31 09:44 anaconda-ks.cfg
                  drwxr-xr-x  2 cat  cat    6 Jan 12 06:33 miao

        2.文件权限管理
             chmod:设置文件的管理权限
            命令格式:
            chmod  [who] operator [permission]  filename
                who包含的选项及其含义:u 文件属主权限 ; g 属组用户权限 ;
                                       o 其他用户权限 ; a 所有用户(文件属主、属组用户及其他用户)
                    operator包含的选项及其含义:+ 增加权限;- 取消权限;= 设定权限。
                    permission包含的选项及其含义:r 读权限(4);w 写权限(2);x 执行权限(1)。
                                                  s 文件属主和组set-ID;t 粘性位*;l 给文件加锁,使其他用户无法访问。
                                                  u,g,o 针对文件属主、属组用户及其他用户的操作。
                    filename为想要操作的文件的文件名。
                选项:-R  连同子目录下的文件一起设置
          实例:[root@localhost ~]# chmod 744 miao
                  [root@localhost ~]# ll
                  total 4
                  -rw-------. 1 root root 815 Oct 31 09:44 anaconda-ks.cfg
                  drwxr--r--  2  711 cat    6 Jan 12 06:33 miao
                  [root@localhost ~]# chmod a+w miao
                  [root@localhost ~]# ll
                  total 4
                  -rw-------. 1 root root 815 Oct 31 09:44 anaconda-ks.cfg
                  drwxrw-rw-  2  711 cat    6 Jan 12 06:33 miao

      3.安全策略  
       禁止系统响应任何从外部/内部来的ping请求(禁Ping)
            [root@localhost ~]#echo “1”> /proc/sys/net/ipv4/icmp_echo_ignore_all
          禁止Control-Alt-Delete组合键重启系统
            [root@localhost ~]#vi /etc/inittab(注释掉此行:ca::ctrlaltdel:/sbin/shutdown -t3 -r now)
            [root@localhost ~]#telinit q
          限制Shell记录历史命令大小
            [root@localhost ~]# vi /etc/profile(修改HISTSIZE=X,X为设置的历史记录数,重启以生效)
          删除系统默认的不必要用户和组
            [root@localhost ~]# userdel username
            [root@localhost ~]# groupdel groupname
          配置iptables实现防火墙、NAT
            删除已有规则
                在新设定iptables规则时,我们一般先确保旧规则被清除
                用iptables -F命令清除旧规则(or iptables --flush)
            设置chain策略  chain:链;束缚;枷锁。
                默认的chain策略为ACCEPT(接受),可以通过以下命令修改chain的策略:
                iptables -P INPUT DROP  (接受包丢弃)
                iptables -P FORWARD DROP(转发包丢弃)
                iptables -P OUTPUT DROP (发出包丢弃,如果信任本机往外发包,可不配置)
                以上命令配置将接收、转发和发出包均丢弃,施行比较严格的包管理。
                由于接收和发包均被设置为丢弃,当进一步配置其他规则的时候,需要注意针对INPUT和OUTPUT分别配置。
            屏蔽指定ip
                BLOCK_THIS_IP="x.x.x.x"
                iptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP" -j DROP
                以上命令设置将由x.x.x.x ip发往eth0网口的tcp包丢弃。
            配置服务项
                利用iptables,对日常用到的服务项进行安全管理,如设定只能通过指定网段、由指定网口通过SSH连接本机:
                iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLESHED -j ACCEPT
                iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
                若要支持由本机通过SSH连接其他机器,由于在本机端口建立连接,因而还需要设置以下规则:
                iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state ESTABLESHED -j ACCEPT
                iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
                对于HTTP/HTTPS(80/443)、pop3(110)、rsync(873)、MySQL(3306)等基于tcp连接的服务,也可以参照上述命令配置。
                对于基于udp的dns服务,使用以下命令开启端口服务:
                iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
                iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT
            网口转发配置
                对于用作防火墙或网关的服务器,一个网口连接到公网,其他网口的包转发到该网口实现内网向公网通信,假设eth0连接内网,eth1连接公网,配置规则如下:
                iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
            端口转发配置
                对于端口,我们也可以运用iptables完成转发配置:
                iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22
                以上命令将422端口的包转发到22端口,因而通过422端口也可进行SSH连接,当然对于422端口,我们也需要像以上“4.配置服务项”一节一样,配置其支持连接建立的规则。
            DoS攻击防范
                利用扩展模块limit,我们还可以配置iptables规则,实现DoS攻击防范:
                iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT
                --litmit 25/minute 指示每分钟限制最大连接数为25
                --litmit-burst 100 指示当总连接数超过100时,启动 litmit/minute 限制
            配置web流量均衡
                可以将一台服务器作为前端服务器,利用iptables进行流量分发,配置方法如下:
                iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.101:80
                iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.102:80
                iptables -A PREROUTING -i eth0 -p tcp --dport 80 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.103:80
                以上配置规则用到nth扩展模块,将80端口的流量均衡到三台服务器。
            将丢弃包情况记入日志
                使用LOG目标和syslog服务,我们可以记录某协议某端口下的收发包情况。拿记录丢包情况举例,可以通过以下方式实现。
                首先自定义一个chain:
                iptables -N LOGGING
                其次将所有接收包导入LOGGING chain中:
                iptables -A INPUT -j LOGGING
                然后设置日志前缀、日志级别:
                iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7
                最后将包倒向DROP,将包丢弃:
                iptables -A LOGGING -j DROP
                另可以配置syslog.conf文件,指定iptables的日志输出。
          
        4.SElinux
            SElinux的开启和关闭:
                临时开启/关闭:setenforce 1/0
                查看selinux状态:getenforce(enforcing:强制模式;permissiv:宽容模式;disabled:关闭。)
                通过配置文件调整SElinux
                    [root@localhost ~]# vi /etc/selinux/config(修改SElinux=)(重启Linux以生效)
                    
      5.服务的权限------所有服务都是以普通用户启动的
            权限应用模型:
                判断运行此进程的用户是否与被访问的资源的属主相同,如果相同,则运用属主的权限,如果不同,则判断运行此进程的用户是否属于被访问资源的属组,如果是,则应用属组权限,如果不是,则应用其他权限
                root用户:创建目录默认权限为755,创建文件的默认权限为644
                普通用户:创建目录的默认权限为775,创建文件的默认权限为664

  • 相关阅读:
    超链接把一个值传到多个页面的方法
    jsp采用数据库连接池的方法获取数据库时间戳context.xml配置,jsp页面把时间格式化成自己需要的格式
    Myeclipse WEB工程JSP使用JNDI 数据库连接池连接Mysql数据库
    jsp页面图片显示不出来
    如何修改MyEclipse的默认编码方式
    MyEclipse8.5破解方法
    mysql创建的数据库在电脑什么位置?
    netsh winsock reset
    SQL Server(MSSQLSERVER)启动失败,提示“请求失败或服务未及时响应
    WIN7不能上网
  • 原文地址:https://www.cnblogs.com/zhangzeyu/p/6384888.html
Copyright © 2011-2022 走看看