0060 Linux SELinux 管理命令

SELinux 的起源
  SELinux 是一个面向政府和行业的产品,由 NSA、Network Associates、Tresys 以及其他组织设计和开发。尽管 NSA 将其作为一个补丁集引入,但从 2.6 版开始,它就被加入到 Linux 内核中。

访问控制方法
  大多数操作系统使用访问控制来判断一个实体(用户或程序)是否能够访问给定资源。基于 UNIX® 的系统使用一种自主访问控制(discretionary access control,DAC)的形式。此方法通常根据对象所属的分组来限制对对象的访问。例如,GNU/Linux 中的文件有一个所有者、一个分组和一个权限集。权限定义谁可以访问给定文件、谁可以读取它、谁可以向其写入,以及谁可以执行它。这些权限被划分到三个用户集中,分别表示用户(文件所有者)、分组(一个用户组的所有成员)和其他(既不是文件所有者,又不是该分组的成员的所有用户)。
  很多这样的访问控制都会带来一个问题,因为所利用的程序能够继承用户的访问控制。这样,该程序就可以在用户的访问层进行操作。与通过这种方式定义约束相比,使用最小特权原则 更安全:程序只能执行完成任务所需的操作。例如,如果一个程序用于响应 socket 请求,但不需要访问文件系统,那么该程序应该能够监听给定的 socket,但是不能访问文件系统。通过这种方式,如果该程序被攻击者利用,其访问权限显然是最小的。这种控制类型称为强制访问控制(MAC)。
另一种控制访问的方法是基于角色的访问控制(RBAC)。在 RBAC 中,权限是根据安全系统所授予的角色来提供的。角色的概念与传统的分组概念不同,因为一个分组代表一个或多个用户。一个角色可以代表多个用户,但它也代表一个用户集可以执行的权限。
  SELinux 将 MAC 和 RBAC 都添加到了 GNU/Linux 操作系统中。

关闭SELinux的方法

    临时关闭:

    setenforce 0   

永久关闭:

    修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled
 若不想重启系统,使用命令setenforce 0

查看SELinux状态

sestatus

getenforce

设定不正确的错误

  在linux上安装有些东西时会出现 Permission denied 的情况:nginx,apache 访问文件夹,反向代理访问网络等。

例子:

nginx反向代理提示13 permission denied while connecting to upstream

后来发现是selinux的问题,于是先关掉selinux:setenforce 0;然后再访问果然好使。

于是启用selinux,再执行下面的命令,修改selinux的值:

setsebool -P httpd_can_network_connect 1

  

  

时间: 06-09

0060 Linux SELinux 管理命令的相关文章

linux用户管理命令

linux的用户管理命令主要有useradd,userdel,usermod useradd useradd用于添加一个用户.adduser与useradd的功能相同,使用ls -l `which adduser`可以发现,adduser是useradd的一个符号链接.     useradd的基本用法为:useradd [options] LOGIN. 例如:添加一个Tom的用户,即为useradd Tom. useradd的选项常用的有-u.-g.-G.-c.-d.-s.-M.-mk.-r.

12个Linux进程管理命令介绍

12个Linux进程管理命令介绍 当程序可以执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源.内存.安全属性和与之相关的状态.可以有多个进程关联到同一个程序,并同时执行不会互相干扰.Linux提供了许多命令来让用户来高效掌控上述的操作. 执行中的程序称作进程.当程序可以执行文件存放在存储中,并且运行的时候,每个进程会被动态得分配系统资源.内存.安全属性和与之相关的状态.可以有多个进程关联到同一个程序,并同时执行不会互相干扰.操作系统会有效地管理和追踪所有运行着的进程. 为了管

Linux 进程管理命令ps、top、kill、nice、fg、bg、vmstat、uptime

Linux 进程管理命令: ps process status 查看进行相关信息: system 风格:sysv  有-线引导 BSD风格:BSD ps a:显示所有跟终端有关的进程 u:显示更详细的字段 x:显示所有跟终端无关的进程 常用 ps ax 进程分类: 终端启动(相关)的进程:用户通过命令行启动的进程 跟终端无关的进程:系统启动就自己启动 进程状态: D: 表示不可中断的睡眠 R:表示就绪态 S:表示可中断的睡眠 T:停止 Z:僵死态 <:高优先级进程 N:低优先级进程 +:前台进程

Linux系统进程管理命令详解

Linux管理进程的最好方法就是使用命令行下的系统命令.Linux下面的进程涉及的命令有at, bg, fg, kill, crontab, jobs, ps, pstree, top, nice, renice, sleep, nohup. 1.at命令:定时运行命令 作用:at命令在指定时刻执行指定的命令序列. 格式: at [-V] [-q x] [-f file] [-m] time atq [-V] [-q x] atrm [-V] [-q x] job- batch [-V] [-f

Linux 进程管理命令

linux进程管理命令,大部分挺重要的,不过参数肯定不全,只写出几个比较常用的参数,如果用到其他的,可以去百度. accton  打开或关闭进程统计(打开进程统计,如果不加任何参数,则关闭进程统计) acction [-v][-h][filename] acct  是一个工具包 ,里面包含针对用户连接时间,进程执行情况进行统计包含下面一些命令 : ac   登录账号的简要信息 accton 打开或者关闭进程账号记录功能 last 显示曾经登陆过的用户 lastcomm 显示已经执行过的命令 sa

Linux进程管理命令浅析

在Linux上,一切皆文件.同样,系统的实时状态信息也通过文件的形式保存在文件系统上.在/proc/中,保存的就是内核中的状态信息,而在/proc/#中(#为PID)保存了进程的信息,我们可以通过调用工具来查看这些文件中保存的信息从而来管理系统的进程.本次,分析的命令有top.htop.dstat和ps共4个命令. 一.top命令的使用 查看系统进程的实时状态.其格式是 top [d|b|n] -d #:指定刷新时间间隔,默认为3秒 -b:以批次方式显示 -n #:显示多少批次 ~]# top

linux磁盘管理命令

管理命令 ln.df.du.mknod.fdisk.partprobe.partx.mkfs.blkid.e2label.tune2fs.dumpe2fs.fsck ln  创建链接文件或目录 -s  创建软链接 -v  显示详细处理过程 df 查看磁盘信息 -h 人性化阅读方式 -i    显示i -nodes的使用量 -T   文件系统类型 du    查询档案或目录的磁盘使用空间 -h   人性化阅读方式 -s  只显示各档案大小的总合 (summarize) mknod  建立一个目录项

linux进程管理命令总结

linux进程管理的相关命令: 1.pstree  --以树状形式显示当前系统进程,和命令tree相似. 2.ps命令 命令格式:ps [options] 常用组合:aux: u:以用户为中心组织的进程状态信息显示 a:与终端相关的进程 x:与终端无关的进程 #ps aux USER : 用户名 PID : 进程号 %CPU :占用的cpu百分比 %MEM  :内存的使用率 VSZ :  virtual memory size ,虚拟内存集 RSS : resident size ,常驻内存集

Linux用户管理命令详解之二

Linux下常用用户管理命令有:useradd.userdel.usermod.passwd.chsh.finger.id.chage 4.改变用户的shell 命令:chsh 语法:chsh [-s shell] [-l] [-u] [-v] [username] 选项: -s:改变当前shell -l:显示/etc/shells目录下的shell 说明:这是用来改变使用者自己的 shell 的指令!由于这个档案能够改变 /etc/passwd 的内容,所以他的预设属性就有SUID的属性了!通