当前位置:文档之家› SEAndroid安全机制中的进程安全上下文关联分析模板

SEAndroid安全机制中的进程安全上下文关联分析模板

SEAndroid安全机制中的进程安全上下文关联分析模板
SEAndroid安全机制中的进程安全上下文关联分析模板

SEAndroid安全机制中的进程安全上下

文关联分析

前面一篇文章分析了文件安全上下文关联过程。但是在SEAndroid中,除了要给文件关联安全上下文外,还需要给进程关联安全上下文,因为只有当进程和文件都关联安全上下文之后,SEAndroid安全策略才能发挥作用。也就是说,当一个进程试图访问一个文件时,SEAndroid 会将进程和文件的安全上下文提取出来,根据安全策略规则,决定是否允许访问。本文就详细分析SEAndroid的进程安全上下文的关联过程。

在传统的Linux系统中,每一个应用程序都对应有一个可执行文件。在这种情况下,我们就可以在安全策略中设定一个规则:当一个可执行文件加载到一个进程中执行时,该进程的安全上下文就设置为指定的值。也就是说,我们可以在安全策略中静态地为进程设置安全上下文。然而,这种进程安全上下文设置方式不适合于Android系统中的应用程序进程。从前面和这两篇文章可以知道,Android系统中的应用程序进程都是由Zygote进程fork出来。这些应用程序进程被Zygote进程fork出来之后,不像传统Linux的应用程序进程一样,会通过exec系统调用将对应的可执行文件加载起来执行。这样就会使得Zygote进程及其创建的所有应用程序进程对应的可执行文件均为/system/bin/app_process。由于我们却需要给不同的应用程序设置不同的安全上下文,以便给它们赋予不同的安全权限,因此我们需要在应用程序进程创建出来之后动态地设置它的安全上下文。

根据上面的描述,我们就总结出,在SEAndroid安全机制中,进程的安全上下文设置分为静态和动态两种方式,如图1所示:

接下来,我们就分别描述这两种进程安全上下文设置方式。

1. 为独立进程静态地设置安全上下文

Android系统的第一个进程是init,其它所有的进程都是由init进程直接或者间接fork 出来的。我们在前面一篇文章提到,一个新创建的文件的安全上下文在默认情况下来自于其父目录。与此类似,一个新创建的进程的安全上下文在默认情况下来自于其父进程。因此,我们就先看看系统中的第一个进程init的安全上下文是如何设置的。

查看init进程的启动脚本system/core/rootdir/init.rc,可以看到以下的内容:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

on early-init

......

# Set the security context for the init process.

# This should occur before anything else (e.g. ueventd) is started.

setcon u:r:init:s0

......

这段脚本的意思是init进程启动之后就马上调用函数setcon将自己的安全上下文设置为“u:r:init:s0”,即将init进程的domain指定为init。

接下来我们再看看init这个domain的定义,在external/sepolicy/init.te文件中:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

# init switches to init domain (via init.rc).

type init, domain;

permissive init;

# init is unconfined.

unconfined_domain(init)

tmpfs_domain(init)

# add a rule to handle unlabelled mounts

allow init unlabeled:filesystem mount;

第一个type语句将domain设置为init的属性,这意味着init是用来描述进程的安全上下文的。

第二个permissive语句指定当domain为init的进程违反SEAndroid安全策略访问资源时,只进行日志输出,而不是拒绝执行。由于这里列出来的内容是来自Android 4.3的,而Android 4.3开启的是Permissive的SEAndroid模式,因此这里会看到这样的一个permissive 语句。

第三个unconfined_domain语句是一个宏,定义在external/sepolicy/te_macros文件中,用来指定init是一个不受限制的domain,即它可以访问系统中的大部分资源。它的定义如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

#####################################

# unconfined_domain(domain)

# Allow the specified domain to do anything.

#

define(`unconfined_domain', `

typeattribute $1 mlstrustedsubject;

typeattribute $1 unconfineddomain;

')

第四个tmpfs_domain语句也是定义在external/sepolicy/te_macros文件中的一个宏,用来指定当domain为init的进程在type为tmpfs的目录中创建文件时,将新创建的文件的type设置为init_tmpfs,并且允许domain为init的进程对它们进行读和执行。它的定义如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

#####################################

# tmpfs_domain(domain)

# Define and allow access to a unique type for

# this domain when creating tmpfs / shmem / ashmem files.

define(`tmpfs_domain', `

type $1_tmpfs, file_type;

type_transition $1 tmpfs:file $1_tmpfs;

# Map with PROT_EXEC.

allow $1 $1_tmpfs:file { read execute execmod };

')

第5个allow语句允许domain为init的进程mount未指定安全上下文的文件系统时,将其安全上下文设置为unlabeled。

上面列出的脚本就指明了init进程的安全上下文,以及它所具有的SEAndroid权限。接下来我们就再来看看负责创建应用程序进程的Zygote进程的安全上下文的设置过程。

Zygote进程是由init进程创建的,它的启动命令定义在文件system/core/rootdir/init.rc 中,如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class main

socket zygote stream 660 root system

onrestart write /sys/android_power/request_state wake

onrestart write /sys/power/state on

onrestart restart media

onrestart restart netd

这意味着Zygote进程对应的可执行文件为/system/bin/app_process。

通过检查external/sepolicy/file_contexts,我们可以发现文件/system/bin/app_process 的安全上下文为“u:object_r:zygote_exec:s0”,如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

/system/bin/app_process u:object_r:zygote_exec:s0

也就是说,文件/system/bin/app_process的type为zygote_exec。

在external/sepolicy/zygote.te文件中,定义了一个名称为zygote的domain,以及名称为zygote_exec的type,如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

# zygote

type zygote, domain;

type zygote_exec, exec_type, file_type;

permissive zygote;

init_daemon_domain(zygote)

unconfined_domain(zygote)

第一个type语句将domain设置为zygote的属性,表明zygote是用来描述进程的安全上下文的。

第二个type语句将exec_type和file_type设置为zygote_exec的属性,表明zygote_exec是用来描述可执行文件的安全上下文的。

第三个permissive语句同样是表明当domain为zygote的进程违反SEAndroid安全策略访问资源时,只进行日志输出,而不是拒绝执行。

第四个init_daemon_domain语句是一个宏,定义在文件external/sepolicy/te_macros 中,用来设置zygote这个domain的权限,它的定义如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

#####################################

# init_daemon_domain(domain)

# Set up a transition from init to the daemon domain

# upon executing its binary.

define(`init_daemon_domain', `

domain_auto_trans(init, $1_exec, $1)

tmpfs_domain($1)

')

宏init_daemon_domain由另外两个宏tmpfs_domain和domain_auto_trans组成。宏tmpfs_domain的作用在前面已经分析过了,接下来我们重点关注宏domain_auto_trans的定义,也是在文件external/sepolicy/te_macros中,如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

#####################################

# domain_auto_trans(olddomain, type, newdomain)

# Automatically transition from olddomain to newdomain

# upon executing a file labeled with type.

#

define(`domain_auto_trans', `

# Allow the necessary permissions.

domain_trans($1,$2,$3)

# Make the transition occur by default.

type_transition $1 $2:process $3;

')

第二个type_transition语句指定当一个domain为init的进程创建一个子进程执行一个type为zygote_exec的文件时,将该子进程的domain设置为zygote,而不是继承父进程的domain。

第一个domain_trans语句是一个宏,也是定义在external/sepolicy/te_macros中,用来允许进程的domain从init修改为zygote,它的定义如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

#####################################

# domain_trans(olddomain, type, newdomain)

# Allow a transition from olddomain to newdomain

# upon executing a file labeled with type.

# This only allows the transition; it does not

# cause it to occur automatically - use domain_auto_trans

# if that is what you want.

#

define(`domain_trans', `

# Old domain may exec the file and transition to the new domain.

allow $1 $2:file { getattr open read execute };

allow $1 $3:process transition;

# New domain is entered by executing the file.

allow $3 $2:file { entrypoint read execute };

# New domain can send SIGCHLD to its caller.

allow $3 $1:process sigchld;

# Enable AT_SECURE, i.e. libc secure mode.

dontaudit $1 $3:process noatsecure;

# XXX dontaudit candidate but requires further study.

allow $1 $3:process { siginh rlimitinh };

')

其中,最重要的是以下两个allow语句:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

allow $1 $3:process transition;

allow $3 $2:file { entrypoint read execute };

第一个allow语句允许domain为init的进程将domain修改为zygote。

第二个allow语句允许type为zygote_exec的可执行文件作为进入zygote这个domain的入口点。

概括来说,在external/sepolicy/zygote.te文件中,通过init_daemon_domain指明了Zygote进程的domain为zygote。我们可以从Zygote进程的创建过程来理解这些安全策略。首先,Zygote进程是由init进程fork出来的。在fork出来的时候,Zygote进程的domain 来自于父进程init的domain,即此时Zygote进程的domain为init。接下来,刚刚fork出来的Zygote进程会通过系统接口exec将文件/system/bin/app_process加载进来执行。由于上面提到的allow和type_transition规则的存在,使得文件/system/bin/app_process被exec到刚刚fork出来的Zygote进程的时候,它的domain自动地从init转换为zygote。这样我们就可以给init进程和Zygote进程设置不同的domain,以便可以给它们赋予不同的SEAndroid安全权限。

回到external/sepolicy/zygote.te文件中,最后一个unconfined_domain语句同样是将

zygote这个domain设置为一个不受限的domain,以便它可以访问系统中的大部分资源。

这样,我们就以init和Zygote进程的安全上下文设置过程为例,说明了那些对应有不同可执行文件的进程的安全上下文的关联过程了。这些进程的安全上下文的设置方式与传统的Linux系统的应用程序进程的设置方式是一致的。接下来我们就再来分析Android系统的应用程序进程的安全上下文的关联过程。

2. 为应用程序进程设置安全上下文

从前面一篇文章可以知道,应用程序进程是由ActivityManagerService请求Zygote 进程创建的。ActivityManagerService在请求Zygote进程创建应用程序进程的时候,会传递很多参数,例如应用程序在安装时分配到的uid和gid。增加了SEAndroid安全机制之后,ActivityManagerService传递给Zygote进程的参数包含了一个seinfo。这个seinfo与我们在前面一文中介绍的seinfo是一样的,不过它的作用是用来设置应用程序进程的安全上下文,而不是设置应用程序数据文件的安全上下文。接下来我们就分析应用程序进程的安全上下文设置过程。

从前面一文的Step 1可以知道,当ActivityMangerService需要创建应用程序进程的时候,就会调用ActivityMangerService类的成员函数startProcessLocked,它的实现如下所示:

[java] view plain copy 在CODE上查看代码片派生到我的代码片

public final class ActivityManagerService extends ActivityManagerNative

implements Watchdog.Monitor, BatteryStatsImpl.BatteryCallback {

......

private final void startProcessLocked(ProcessRecord app,

String hostingType, String hostingNameStr) {

......

try {

......

// Start the process. It will either succeed and return a result containing

// the PID of the new process, or else throw a RuntimeException.

Process.ProcessStartResult startResult = Process.start("android.app.ActivityThread",

app.processName, uid, uid, gids, debugFlags, mountExternal,

https://www.doczj.com/doc/914289216.html,.targetSdkVersion, https://www.doczj.com/doc/914289216.html,.seinfo, null);

......

} catch (RuntimeException e) {

......

}

}

......

}

这个函数定义在文件frameworks/base/services/java/com/android/server/am/ActivityManagerService.java中。

参数app指向的是一个ProcessRecord对象,用来描述正在创建的应用程序进程。其中,它的成员变量info指向的是一个ApplicationInfo对象。从前面一文可以知道,这个ApplicationInfo对象有一个类型为String的成员变量seinfo,是在应用程序安装的时候通过解析文件mac_permissions.xml获得的。

ActivityManagerService类的成员函数startProcessLocked通过调用Process类的静态成员函数start来创建应用程序进程,其中就包含了要创建的应用程序进程的各种参数。从前面一篇文章可以知道,这些参数会通过Socket IPC传递给Zygote进程。最后,Zygote进程会通过调用ZygoteConnection类的成员函数runOnce来执行创建应用程序进程的工作。

ZygoteConnection类的成员函数runOnce的实现如下所示:

[java] view plain copy 在CODE上查看代码片派生到我的代码片

class ZygoteConnection {

......

boolean runOnce() throws ZygoteInit.MethodAndArgsCaller {

......

try {

args = readArgumentList();

......

} catch (IOException ex) {

......

}

......

try {

parsedArgs = new Arguments(args);

......

pid = Zygote.forkAndSpecialize(parsedArgs.uid, parsedArgs.gid, parsedArgs.gids,

parsedArgs.debugFlags, rlimits, parsedArgs.mountExternal, parsedArgs.seInfo,

parsedArgs.niceName);

} catch (IOException ex) {

......

} catch (ErrnoException ex) {

......

} catch (IllegalArgumentException ex) {

......

} catch (ZygoteSecurityException ex) {

......

}

......

}

......

}

这个函数定义在文件frameworks/base/core/java/com/android/internal/os/ZygoteConnection.java中。

ZygoteConnection类的成员函数runOnce首先是通过调用另外一个成员函数readArgumentList读取ActivityManagerService发送过来的应用程序进程创建参数args,接着再创建一个Arguments对象来解析该参数。解析后得到的参数传递给Zygote类的静态成员函数forkAndSpecialize,以便后者可以执行创建应用程序进程的工作。

Zygote类的静态成员函数forkAndSpecialize的实现如下所示:

[java] view plain copy 在CODE上查看代码片派生到我的代码片

public class Zygote {

......

public static int forkAndSpecialize(int uid, int gid, int[] gids, int debugFlags,

int[][] rlimits, int mountExternal, String seInfo, String niceName) {

preFork();

int pid = nativeForkAndSpecialize(

uid, gid, gids, debugFlags, rlimits, mountExternal, seInfo, niceName);

postFork();

return pid;

}

native public static int nativeForkAndSpecialize(int uid, int gid, int[] gids, int debugFlags, int[][] rlimits, int mountExternal, String seInfo, String niceName);

......

}

这个函数定义在文件libcore/dalvik/src/main/java/dalvik/system/Zygote.java中。

Zygote类的静态成员函数forkAndSpecialize的实现很简单,它通过调用另外一个JNI函数nativeForkAndSpecialize来执行创建应用程序进程的工作。

Zygote类的JNI函数nativeForkAndSpecialize的由C++层的函数

Dalvik_dalvik_system_Zygote_forkAndSpecialize来实现,如下所示:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片

static void Dalvik_dalvik_system_Zygote_forkAndSpecialize(const u4* args,

JV alue* pResult)

{

pid_t pid;

pid = forkAndSpecializeCommon(args, false);

RETURN_INT(pid);

}

这个函数定义在文件dalvik/vm/native/dalvik_system_Zygote.cpp中。

注意,Zygote类的JNI函数nativeForkAndSpecialize在调用的过程中,传递进来的参数都被保存在函数Dalvik_dalvik_system_Zygote_forkAndSpecialize的参数args指向的一块内存中。

函数Dalvik_dalvik_system_Zygote_forkAndSpecialize通过调用另外一个函数forkAndSpecializeCommon来执行创建应用程序进程的工作,它的实现如下所示:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片

static pid_t forkAndSpecializeCommon(const u4* args, bool isSystemServer)

{

pid_t pid;

uid_t uid = (uid_t) args[0];

gid_t gid = (gid_t) args[1];

......

char *seInfo = NULL;

char *niceName = NULL;

if (isSystemServer) {

......

} else {

......

StringObject* seInfoObj = (StringObject*)args[6];

if (seInfoObj) {

seInfo = dvmCreateCstrFromString(seInfoObj);

......

}

StringObject* niceNameObj = (StringObject*)args[7];

if (https://www.doczj.com/doc/914289216.html,meObj) {

niceName = dvmCreateCstrFromString(niceNameObj);

......

}

......

}

......

pid = fork();

if (pid == 0) {

......

err = setSELinuxContext(uid, isSystemServer, seInfo, niceName);

......

}

......

return pid;

}

这个函数定义在文件dalvik/vm/native/dalvik_system_Zygote.cpp中。

参数isSystemServer表示当前创建的是System Server进程还是应用程序进程。在我们这个场景中,它的值等于false,表示要创建的是应用程序进程。从参数args指向的内存可以获得各种各样的参数,例如uid、gid、seinfo和nice name等。

获得了要创建的进程的各种参数之后,函数forkAndSpecializeCommon就通过系统调用fork创建出了一个子进程。注意,这时候函数forkAndSpecializeCommon是在Zygote 进程中执行的。因此,这里创建出来的子进程的安全上下文继承于Zygote进程。从前面的分析可以知道,这个安全上下文为“u:r:zygote:s0”。

如果这时候我们什么也不做的话,那么创建出来的应用程序进程的安全上下文就会一直被设置为“u:r:zygote:s0”,这样会使得应用程序具有Zygote进程一样的SEAndroid安全权限。这是不允许的,因此,接下来需要通过调用函数setSELinuxContext来修改刚刚创建出来的应用程序进程的安全上下文。

函数setSELinuxContext的实现如下所示:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片

static int setSELinuxContext(uid_t uid, bool isSystemServer,

const char *seInfo, const char *niceName)

{

#ifdef HA VE_ANDROID_OS

return selinux_android_setcontext(uid, isSystemServer, seInfo, niceName);

#else

return 0;

#endif

}

这个函数定义在文件dalvik/vm/native/dalvik_system_Zygote.cpp中。

函数setSELinuxContext的实现很简单,它通过调用libselinux提供的函数selinux_android_setcontext来设置刚刚创建出来的应用程序进程的安全上下文。

函数selinux_android_setcontext的实现如下所示:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片

int selinux_android_setcontext(uid_t uid,

int isSystemServer,

const char *seinfo,

const char *pkgname)

{

char *orig_ctx_str = NULL, *ctx_str;

context_t ctx = NULL;

int rc;

if (is_selinux_enabled() <= 0)

return 0;

__selinux_once(once, seapp_context_init);

rc = getcon(&ctx_str);

......

ctx = context_new(ctx_str);

orig_ctx_str = ctx_str;

......

rc = seapp_context_lookup(SEAPP_DOMAIN, uid, isSystemServer, seinfo, pkgname, ctx);

......

ctx_str = context_str(ctx);

......

rc = security_check_context(ctx_str);

......

if (strcmp(ctx_str, orig_ctx_str)) {

rc = setcon(ctx_str);

......

}

rc = 0;

out:

......

return rc;

......

}

这个函数定义在文件external/libselinux/src/android.c中。

参数isSystemServer表示当前创建的是System Server进程还是应用程序进程。在我们这个场景中,它的值等于false,表示要创建的是应用程序进程。从参数args指向的内存可以获得各种各样的参数,例如uid、gid、seinfo和nice name等。

获得了要创建的进程的各种参数之后,函数forkAndSpecializeCommon就通过系统调用fork创建出了一个子进程。注意,这时候函数forkAndSpecializeCommon是在Zygote 进程中执行的。因此,这里创建出来的子进程的安全上下文来继承于Zygote进程。从前面的分析可以知道,这个安全上下文为“u:r:zygote:s0”。

如果这时候我们什么也不做的话,那么创建出来的应用程序进程的安全上下文就会一直被设置为“u:r:zygote:s0”,这样会使得应用程序具有Zygote进程一样的SEAndroid安全权限。这是不允许的,因此,接下来需要通过调用函数setSELinuxContext来修改刚刚创建出来的应用程序进程的安全上下文。

函数setSELinuxContext的实现如下所示:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片

static int setSELinuxContext(uid_t uid, bool isSystemServer,

const char *seInfo, const char *niceName)

{

#ifdef HA VE_ANDROID_OS

return selinux_android_setcontext(uid, isSystemServer, seInfo, niceName);

#else

return 0;

#endif

}

这个函数定义在文件dalvik/vm/native/dalvik_system_Zygote.cpp中。

函数setSELinuxContext的实现很简单,它通过调用libselinux提供的函数selinux_android_setcontext来设置刚刚创建出来的应用程序进程的安全上下文。

函数selinux_android_setcontext的实现如下所示:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片

int selinux_android_setcontext(uid_t uid,

int isSystemServer,

const char *seinfo,

const char *pkgname)

{

char *orig_ctx_str = NULL, *ctx_str;

context_t ctx = NULL;

int rc;

if (is_selinux_enabled() <= 0)

return 0;

__selinux_once(once, seapp_context_init);

rc = getcon(&ctx_str);

......

ctx = context_new(ctx_str);

orig_ctx_str = ctx_str;

......

rc = seapp_context_lookup(SEAPP_DOMAIN, uid, isSystemServer, seinfo, pkgname, ctx);

......

ctx_str = context_str(ctx);

......

rc = security_check_context(ctx_str);

......

if (strcmp(ctx_str, orig_ctx_str)) {

rc = setcon(ctx_str);

......

}

rc = 0;

out:

......

return rc;

......

}

函数selinux_android_setcontext的执行过程如下所示:

A. 调用函数is_selinux_enabled检查系统是否启用了SELinux。如果没有启用的话,那就什么也不用做就返回。否则的话,就继续往下执行。

B. 调用函数seapp_context_init读取和解析我们在前面一文提到的seapp_contexts 文件。注意,__selinux_once是一个宏,它实际上是利用了pthread库提供的函数pthread_once 保证函数seapp_context_init在进程内有且仅有一次会被调用到,适合用来执行初始化工作。

C. 调用函数getcon获得当前进程的安全上下文,保存在变量ctx_str。

D. 调用函数context_new在原来的安全上下文的基础上创建一个新的安全上下文ctx,以便可以获得原来安全上下文的SELinux用户、角色和安全级别等信息。

E. 调用函数seapp_context_lookup根据传进来的参数seinfo在seapp_contexts文件中找到对应的Domain,并且将其设置为新的安全上下文ctr的Domain。

F. 调用函数context_str获得新创建的安全上下文的字符串描述,以便可以调用函数security_check_context来验证新创建的安全上下文的正确性。如果不正确的话,就出错返回。否则的话,继续往下执行。

G. 比较原来的安全上下文和新创建的安全上下文。如果不一致的话,那么就调用函数setcon将当前进程的安全上下文设置为新创建的安全上下文。

在上面的几个步骤中,最重要的就是B、E和G三步。其中,B和E这两步在前面一文中已经分析过了,因此接下来我们主要分析函数setcon的实现。

函数setcon通过以下三个宏来定义,如下所示:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片

#define setselfattr_def(fn, attr) \

int set##fn(const security_context_t c) \

{ \

return setprocattrcon(c, 0, #attr); \

}

#define all_selfattr_def(fn, attr) \

getselfattr_def(fn, attr) \

setselfattr_def(fn, attr)

all_selfattr_def(con, current)

这三个宏定义在文件external/libselinux/src/procattr.c中。

从这三个宏的定义就可以看出,函数setcon最终通过调用另外一个函数setprocattrcon来设置当前进程的安全上下文,其中,第一个参数c描述的是要设置的安全上下文,第三个参数的值等于"current"。

函数setprocattrcon的实现如下所示:

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片

static int setprocattrcon(security_context_t context,

pid_t pid, const char *attr)

{

char *path;

int fd, rc;

pid_t tid;

ssize_t ret;

int errno_hold;

if (pid > 0)

rc = asprintf(&path, "/proc/%d/attr/%s", pid, attr);

else {

tid = gettid();

rc = asprintf(&path, "/proc/self/task/%d/attr/%s", tid, attr);

}

if (rc < 0)

return -1;

fd = open(path, O_RDWR);

free(path);

if (fd < 0)

return -1;

if (context)

do {

ret = write(fd, context, strlen(context) + 1);

} while (ret < 0 && errno == EINTR);

else

do {

ret = write(fd, NULL, 0); /* clear */

} while (ret < 0 && errno == EINTR);

errno_hold = errno;

close(fd);

errno = errno_hold;

if (ret < 0)

return -1;

else

return 0;

}

这个函数定义在文件external/libselinux/src/procattr.c中。

函数setcon实际上就是打开proc文件系统中的/proc/self/task//attr/current文件,并且向其写入参数context所描述的安全上下文。其中,描述的是当前线程的id。向

/proc/self/task//attr/current文件写入安全上下文实际上就是将进程的安全上下文保存在内核中用来描述进程的结构体task_struct中。这与文件的安全上下文是保存在文件扩展属性中是不一样的。

这样,新创建的应用程序进程的安全上下文就设置好了。

这个系列的文章学习到这里,我们就分析完成进程和文件的安全上下文的设置过程了。回忆前面一文,我们提出了一个问题,如何将设备上的/system/bin/gpsd文件下载到PC 上来。

通过常用的adb pull命令是无法将开启了SEAndroid安全机制的设备上将/system/bin/gpsd文件读取下来的。这是因为adb pull命令是通过运行在设备上的adbd守护进程来读取/system/bin/gpsd文件,并且传回来给PC的,而守护进程adbd没有权限读取文件/system/bin/gpsd。

我们通过ls -Z和ps -Z命令可以来观察/system/bin/gpsd文件和adbd守护进程的安全上下文:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

./adb shell ls -Z /system/bin/gpsd

-rwxr-xr-x root shell u:object_r:gpsd_exec:s0 gpsd

$ ./adb shell ps -Z | grep 'adbd'

u:r:adbd:s0 shell 1978 1 /sbin/adbd

这意味着domain为adbd的进程无法读取type为gpsd_exec的文件。

实际上我们是可以在PC上通过执行adb shell cat命令来读取设备上的/system/bin/gpsd文件的,如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

./adb shell cat /system/bin/gpsd > ./gpsd

上面的命令实际上是通过shell启动cat程序,并且通过这个cat进程来读取文件/system/bin/gpsd的内容。

从前面的分析可以知道,cat进程的安全上下文来自于其父进程shell,因此,我们通过在设备上执行ps -Z命令观察一下shell进程的安全上下文:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

$ ps -Z

u:r:shell:s0 shell 23486 1978 /system/bin/sh

这意味着domain为shell的进程可以读取type为gpsd_exec的文件。

在SEAndroid中,shell和adbd这两个domain的区别是什么呢?我们可以通过一个称为apol的工具做一个简要分析。

首先我们要从设备上读取一个sepolicy文件,如下所示:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片

./adb pull /sepolicy ./sepolicy

2372 KB/s (558936 bytes in 0.230s)

读取出来的sepolicy文件实际上描述的就是设备使用的SEAndroid安全策略,我们可以通过apol工具对它进行分析。

接着我们打开apol工具,并且从File菜单中点击Open项打开上述sepolicy文件。切换到Policy Components选项卡,在左则的Types列表中找到adbd项,双击查看它的属性,如图2所示:

这意味着shell这个domain有三个属性appdomain、domain和mlstructedsubject。与adbd相

比,shell多了一个appdomain属性。这又意味着具有appdomain属性的domain具有读取type 为gpsd_exec的文件的权限。

再用同样的方法查看type为gpsd_exec的属性,如图4所示:

这意味着gpsd_exec这个type有两个属性exec_type和file_type。

我们将apol工具切换到Policy Rules选项卡,在Source type/attribute和Target type/attribute编辑框中分别填入“appdomain”和“gpsd_exec”,检查具有appdomain属性的进程是否可以读取具有exec_file属性的文件的权限,点击右边的New Search按钮,结果如图5所示:

这意味着具有属性appdomain的进程对具有属性exec_type的文件具有读取的权限。也就是说,设备上的shell进程能读取/system/bin/gpsd文件的内容,是因为它的domain具有appdomain属性,而设备上的adbd进程的domain是不具有这个属性的。

通过回答前面一文提出的问题,我们介绍了如何通过apol工具来分析设备上的SEAndroid安全策略。这是一个非常有用的工具,希望大家可以掌握。

安全生产工作会议记录范文6篇

安全生产工作会议记录范文6篇 ----WORD文档,下载后可编辑修改---- 下面是小编收集整理的范本,欢迎您借鉴参考阅读和下载,侵删。您的努力学习是为了更美好的未来! 安全生产会议记录范文 安全生产会议记录范文篇一xxx(企业简称)-C-AQB-JL001 会议名称安全主管会议 会议时间年月日下午会议地点 主持人记录 出席人员 会议内容: 本次会议由xxxxx主持,会上根据总经理召开干部例会精神,以及近期监督检查工作发现的一些现象,对下一步的工作做了新的部署。 1、安全监督检查。由原先的每月一次增加到每月两次,主要参加人员安全员、主体负责人,根据检查情况下达整改指令;每月底召开安全例会,通报近期安全工作情况。 2、安全巡检制度。现场巡检人员、安全员、管理人员等要根据制度对各个部位进行巡检并登记。巡检频率较低,不按制度执行的按相关规定处罚;轧钢厂在稀油站加一个记录本,人员检查等进出做好登记。 3、厂内车辆管理。现在我们公司内车量较多,铲车、运输车、拉土车、挖掘机、商混车等,要加强现场人员监督管理,尤其施工车辆,要勘查好施工现场,发现违章,一定要制止或通知保卫部处理。 4、分区域设定安全责任人、特种工岗前培训。特钢、高线投产在即,现在要着手制定各区域兼职安全责任人;各岗位安全操作规程要编制成册,对员工要进行针对性培训。 5、作业票使用。目前我们高空作业、动火作业、进入受限空间作业较多,但个别作业票使用还是不到位,办理作业票各级人员签字同时也是对你一个告知,查看其防范措施并安排人员检查协助,这也体现安全重视程度。下一步检查中发现未办理作业票要按规定进行处罚,若发现违章作业加倍处罚。

模板工程安全技术措施(正式)

编订:__________________ 单位:__________________ 时间:__________________ 模板工程安全技术措施 (正式) Deploy The Objectives, Requirements And Methods To Make The Personnel In The Organization Operate According To The Established Standards And Reach The Expected Level. Word格式 / 完整 / 可编辑

文件编号:KG-AO-7661-63 模板工程安全技术措施(正式) 使用备注:本文档可用在日常工作场景,通过对目的、要求、方式、方法、进度等进行具体、周密的部署,从而使得组织内人员按照既定标准、规范的要求进行操作,使日常工作或活动达到预期的水平。下载后就可自由编辑。 1、进入施工现场人员必须戴好安全帽,高空作业人员必须佩带安全带,并应系牢。 2、经医生检查认为不适宜高空作业的人员,不得进行高空作业。 3、工作前应先检查使用的工具是否牢固,板手等工具必须用绳链系挂在身上,钉子必须放在工具袋内,以免掉落伤人,工作时要思想集中,防止钉子扎脚和空中滑落。 4、安装与拆除四米以上的模板,应搭脚手架,并设防护栏杆,防止上下在同一垂直面操作。 5、高空,复杂结构模板的安装与拆除,事先应有切实的安全措施。 6、遇六级以上的大风时,应暂停室外的高空作业,雪霜雨后应先清扫施工现场,略干不滑时再进行工作。

7、二人抬运模板时要互相配合,协同工作。传递模板、工具应用运输工具或绳子系牢后升降,不得乱抛。组合钢模板装拆时,上下应有人接应。钢模板及配件应随装拆随运送,严禁从高处掷下,高空拆模时,应有专人指挥。并在下面标出工作区,用绳子和红白旗加以围栏,暂停人员过往。 8、不得在脚手架上堆放大批模板等材料。 9、支撑、牵杠等不得搭在门窗框和脚手架上。通路中间的斜撑、拉杆等应设在1. 8m高以上。 10、支模过程中,如需中途停歇,应将支撑、搭头、柱头板等钉牢。拆模间歇时,应将已活动的模板、牵杠、支撑等运走或妥善堆放,防止因踏空、扶空而坠落。 11、模板上有预留洞者,应在安装后将洞口盖好,混凝土板上的顶留洞,应在模板拆除后即将洞口盖好。 12、拆除模板一般用长撬棒,人不许站在正在拆除的模板上,在拆除楼板模板时,要注意整块模板掉下,尤其是用定型模板做平台模板时,更要注意,拆模人员要站在门窗洞口外拉支撑,防止模板突然全部掉落伤

安全生产标准化全套资料模板

安全生产标准化全套资料 第一部分安全生产责任制 1.法人代表安全生产职责 (52) 2.主管安全生产工作领导职责 (53) 3.主管安全生产部门负责人职责 (74) 4.班组长安全生产职责 (85) 5.公司员工安全生产职责 (96) 6.各部门负责人安全生产职责 (107) 7.安全生产管理机构职责 (118) 8.领导班子其他负责人安全职责 (129) 9.部门安全生产管理员职责 (131) 10.班组安全生产职责.................. .. (131) 11.各职能部门和人员安全生产职责......... (141) 12.综合办公室安全生产职责......... .. .. (151) 13.各事业部加工制造部安全职责 (151) 14. 财务室安全职责 (1715) 第二部分安全生产管理制度 1. 安全管理机构、配备安全管理人员的管理制度.. 18 2.安全生产目标管理制度 (22) 3.安全生产检查制度 (23) 4.安全教育培训考核制度 (24) 5.职业健康管理制度 (25)

6.安全生产法律法规识别管理制度 (26) 7.重大危险源监控和重大隐患整改制度 (29) 8.安全设备管理和检修、维修制度.......... . (30) 9.设备、设施变更报废和拆除管理制度........ .30 10.生产安全事故报告和调查处理制度 (31) 11.安全生产奖惩和责任追究制度 (32) 12.安全生产档案管理制度 (32) 13.安全生产责任制度 (35) 14.安全生产投入保障制度 (36) 15.消防安全管理制度 (37) 16. 劳动防护用品发放和管理制度 (38) 17.安全逐级监察及事故隐患排查、整改制度 (39) 18.安全生产会议管理制度 (40) 19. 特种作业人员管理制度 (41) 20.具有较大危险、危害因素的生产经营场所安全管理制度 (43) 21. 建设项目安全管理制度 (44) 22.岗位标准化操作制度 (45) 23.安全生产责任保证金制度 (45) 24.安全生产主管副职持证上岗制度 (45) 25.安全技术措施管理制度 (46) 26.相关方管理制度 (46)

梁板模板工程安全保证措施(通用版)

梁板模板工程安全保证措施 (通用版) Safety management is an important part of enterprise production management. The object is the state management and control of all people, objects and environments in production. ( 安全管理 ) 单位:______________________ 姓名:______________________ 日期:______________________ 编号:AQ-SN-0432

梁板模板工程安全保证措施(通用版) 1、现场操作人员应戴安全帽,扣好帽带,高空作业时系安全带和工具袋工具放在袋内,防止坠落伤人。 2、木工机械要加防护装置,要有接地线,安装漏电保护器,分机要一机一闸一保护,机械操作人员要经过培训特证上岗。 3、木工及堆场设置足够消防器材并经常检查,发现失效及时更换。 4、施工现场禁止吸烟,杜绝火种。 5、刨花木屑应及时清运到指定地点堆存,并及时外运。 6、模板或材料吊运时,在吊臂旋转范围内不准停立或行走。 7、拆模时人员不可停留在拆除的板下。 8、墙柱模板支立时,应搭设操作脚手架,铺设跳板,支立梁侧

模时,应在梁侧操作架上铺脚手板,操作架外侧应设防护栏杆。 木工机械噪音较大,应按指定地点安装,并设有防噪音措施,为了防止空气污染应采取防尘措施。 10、大风大雨大雾大雪天气,不准在高空作业,雨雪后要采取防滑措施并检查架子的稳定性。 XXX图文设计 本文档文字均可以自由修改

安全会议纪要模板.docx

安全会议纪要模板 安全会议纪要不会写?没关系,下面是小编给大家整理收集的安全会议纪要模板,供大家阅读参考。 安全会议纪要模板1 会议时间:xxxx年xx月xx日 会议地点:xx项目部会议室 与会人员:xxx、xxx、xxx、xxx、xxx、xx等 x经理根据安全生产开展情况,根据安全生产制度对项目部电工、焊工提出了具体要求。 1、工作前应认真检查工具、设备是否完好,焊机的外壳是否可靠地接地。焊机的修理应由电气保养人员进行,其他人员不得拆修。 2、接拆电焊机电源线或电焊机发生故障,应会同电工一起进行修理,严防触电事故。 3、在靠近易燃地方焊接,要有严格的防火措施,必要时须经安全员同意方可工作。焊接完毕应认真检查确无火源,才能离开工作场地。 4、焊接密封容器、管子应先开好放气孔。修补已装过油的容器,应清洗干净,打开人孔盖或放气孔,才能进行焊接。 5、工作完毕,必须断掉龙头线接头,检查现场,灭绝火种,切断电源。张经理最后做了总结,各单位从现在开始,要严格按照今天的会议内容执行,从个人做起,把安全生产放到第一位。 xx项目部 xxxx年xx月xx日 安全会议纪要模板2 时间:6月3日14:30 地点;市局七楼会议室 学校网站具有标志性。 最重要,最危险。

加强网站、论坛管理,实行实名制。 加强内容审查、24小时值班。 成立网络安全小组、监看小组。 严禁链接与利用国外网站。 加强短信平台管理。 加强上网行为管理,日志保留2个月。 制订网络事故应急方案。 节假日、敏感时期加强值班。 建立安全信息上报制度,保留事故现场。 无人看守的网站要关闭。 防范黑客与病毒的攻击。 不良信息要过滤。 服务器操作系统补丁要修复。 安装反病毒软件、防火墙。 服务器端口不要多开。 论坛、留言板要有IP地址,用处不大建议关闭。 安全会议纪要模板3 月28日上午,我院召开全院安全工作会议,会议由后勤服务中心主任范宝章同志主持,各部处负责人参加会议。 会上,后勤服务中心副主任兼保卫科科长张汉顺同志就我院近期校园治安动态进行了通报,并对今后安全保卫工作做具体部署。 学院办公室主任贺忠良同志传达了交通运输部关于国庆节安全保卫工作、信访及安全维稳工作文件,并对落实文件精神,做出具体工作安排。 后勤服务中心主任范宝章同志分析了当前安全工作形式,并指出周边院校安全事件案例,如

安全生产标准化相关记录台账表格

公司 安全生产标准化记录文件 批准: 受控状态:受控 分发号: 年月

目录 会议(培训)记录..................................................................... 1会议纪要............................................................................. 2职工教育培训台帐. (3) 交接班记录 (4) 安全投入计划 (5) 安全投入清单 (6) 劳动防护用品发放台帐 (7) 外来文件记录表 (8) 档案台账 (9) 法律法规及其它要求清单 (10) 文件资料更改记录 (11) 文件资料发放记录表 (12) 文件更改通知单 (13) 安全管理资格证书台帐 (14) 资料借阅登记表 (15) 职工安全三级教育卡 (16) 特种作业人员培训名册 (17) 安全生产年度培训计划 (18) 安全日活动记录 (19) 生产设备设施台帐 (20) 监视和测量设备设施台帐 (21) 特种设备管理台帐 (22) 强制检测检验设备设施台帐 (23) 机维修设备设施清册 (24) 设备缺陷及处理记录 (25) 检修工作班前班后会记录 (26) 设备运行检测维护记录 (27) 设备缺陷处理报告单 (28)

事故调查分析报告 (29) 巡视检查记录 (36) 设备安装验收单 (37) 调度命令记录 (39) 事故应急联系电话记录表 (40) 消防及应急设备设施清册 (41) 消防及应急设施定期维护检查表 (42) 危险区域动火作业工作票 (43) 进入受限空间作业工作票 (44) 高处作业工作票 (45) 吊装作业工作票 (46) 破土作业工作票 (48) 接地电阻试验 (50) 电气安全用具清册 (51) 手持电动工具清册 (52) 绝缘工具试验 (53) 安全检查及隐患整改记录 (54) 重大隐患治理台帐 (55) 隐患整改通知单 (56) 危险源辨识及风险评价表 (57) 重大危险点清单 (58) 职业健康管理台账 (59) 劳动者职业健康监护档案表 (60) 评审/自评计划 (67) 评审/自评报告 (68) 不符合项整改通知单 (69)

防止模板工程坍塌的安全技术措施

编号:SM-ZD-40473 防止模板工程坍塌的安全 技术措施 Through the process agreement to achieve a unified action policy for different people, so as to coordinate action, reduce blindness, and make the work orderly. 编制:____________________ 审核:____________________ 批准:____________________ 本文档下载后可任意修改

防止模板工程坍塌的安全技术措施 简介:该方案资料适用于公司或组织通过合理化地制定计划,达成上下级或不同的人员之间形成统一的行动方针,明确执行目标,工作内容,执行方式,执行进度,从而使整体计划目标统一,行动协调,过程有条不紊。文档可直接下载或修改,使用时请详细阅读内容。 当前,模板工程凭借其施工工艺简单,施工速度快,劳动强度低,装修的湿作业减少,房屋的整体性好,抗震能力强等优点,被广泛应用于大跨度、大体积的钢筋混凝土的高层、超高层结构的施工中,取得了良好的经济效益。但是由于现场施工中领导和技术人员未很好地落实各级安全生产责任制,没有健全各级安全保障体系,安全防护不严密,未认真执行新颁布的《建筑施工安全检查标准》(JGJ59-99)中的有关规定,以至酿成模板工程坍塌的群死群伤的重大恶性事故。 认真贯彻“安全第一,预防为主”的方针,切实加强安全生产的管理,防止模板工程坍塌事故的发生,必须认真落实做好以下安全工作。 1.认真做好模板工程施工前的准备工作 这是保证模板工程安全施工的先决条件。模板施工前必

安全生产标准化所有记录表格格式

企业基本情况登记表 NO:XXXX-AQ-TZ-01 企业注册名称经济类型企业创办时间 企业所在地址企业职工人数厂区面积(㎡) 企业法人代表姓名联系电话专职安全管理人员姓名联系电话 安全管理机构负责人联系电话兼职安全管理人员姓名联系电话 企业主要生产产品企业年产值 证 照 情 况 证件名称发证单位发证日期有效期证件号码生产经营范围 从业人员分布情况工种 电工 作业 金属焊接切割 作业 起重机械 作业 厂内机动车辆 驾驶 登高架设作业锅炉作业 压力容器 操作 危化 作业 煤气作业其他人数 持证 情况 注:特种作业人员持证情况详见登记表。

企业职工基本情况登记表 NO: XXXX -AQ-TZ -02 序号姓名 出生 年月 籍贯学历 三级安 全教育 情况 工作 年限 现任岗位 从事本 岗位年 限 身份证号码 参与工伤保险或商业性保险情况 备注 是否参与 投保 额度 投保 期限 工伤 保险 商业 保险

NO: XXXX-AQ-TZ -03 安全生产领导机构名称:成立时间:年月日 姓名性 别 年龄文化程度工作岗位及职务 安全领导机构中 有何专长 受过何种 安全培训和教育 证件号码 任职时间职务

NO: XXXX-AQ-TZ -04 安全生产管理机构名称:成立时间:年月日 姓名性 别 年龄文化程度工作岗位及职务 安全管理机构中 有何专长 受过何种 安全培训和教育 证件号码 任职时间职务

安全生产目标责任制考核表 NO:XXXX -AQ-TZ-05 受考核部门:考核时间: 考核项目考核结果备注员工死亡及重伤事故为零 较大及以上事故为零 员工安全生产教育培训率为100% 特种作业人员持证上岗率为100% 事故隐患整改率为98% 严格办理危险作业票,办好票证后方可施工,施工 时接受安监人员的检查与监督。 对车间设备检修、维护保养,保证设备的安全长周 期运行。 遵守劳动纪律,不迟到、不早退和做与工作无关的 事情,认真执行安全检修规章制度。拒绝违章作业 的指令。 加强设备的巡回检查,及时消除不安全因素。 按规定着装上岗,爱护和正确使用消防用具与防护 器材。 积极参加公司、车间组织的应急预案的演练。 积极参加其他各种安全活动。

安全生产例会会议纪要模板

安全生产例会会议纪要模板 召开安全生产例会,切实加强安全生产,召开安全生产例会作会议纪要记录,本文是安全生产例会会议纪要的范文,仅供参考。 安全生产例会会议纪要模板一 时间:xx年x月x日 地点:会议室 会议主题:安全生产会议: 主要内容: 1、春节已经过完,提醒大家收心,要提高安全生产意识,绝不能松懈,加强节后复工的安全生产教育工作。 2、检查上次例会议定事项的落实情况,分析未完成事项原因。 3、各部门、车间主任对近期安全生产存在问题进行了汇报,会议上提出具体解决方案,并按照“四定”原则落实解决; 4、解决需要协调的安全生产事宜。 5、值班领导做好值班记录,发现问题及时处理。 安全生产例会会议纪要模板二 时间:20xx年x月x日 地点:项目部会议室 主持人:陈伟明

会议内容:工程安全生产的教育和学习 陈伟明(项目经理): 为贯彻落实“安全生产月”各项要求,做到领导责任到位;教育培训到位;安管人员到位;规章执行到位;技术技能到位;防范措施到位;检查力度到位;整改处罚到位;全员意识到位。从而使生产过程中不发生工伤事故、职业病、设备或财产损失,即人不受伤害、物不受损失。为此,特向石鹤公路十一合同段的所有建设者发生安全生产倡议: 1、强化宣传培训 要结合安全生产月活动,组织各生产企业开展一次特岗人员必须持证上岗、生产过程必须严格执行和遵守安全生产法律法规政策的宣传教育和技能培训,树立“生产必须安全,安全才能生产”、“安全是最大的效益”意识。 2、强化责任,明确工作目标,狠抓安全生产责任制落实。牢固树立发展是第一要务安全是第一责任的理念,在思想上重视安全生产,在行动上自觉抓好安全生产。层层落实安全生产责任制,真正做了明确责任、责任到人、严格管理,真正使责任落到实处。 3、要持续深入排查治理隐患,抓好重点部位安全生产监管 ⑴做到隐患排查治理制度化、经常化,坚决杜绝新的隐患产生,安全组要全面排查隐患,对可能发生事故的各种隐患,要落实整改责任、资金和监控措施,限期整改到位,保障安全生产。,健

模板工程安全技术措施

编号:SM-ZD-28888 模板工程安全技术措施Through the process agreement to achieve a unified action policy for different people, so as to coordinate action, reduce blindness, and make the work orderly. 编制:____________________ 审核:____________________ 批准:____________________ 本文档下载后可任意修改

模板工程安全技术措施 简介:该方案资料适用于公司或组织通过合理化地制定计划,达成上下级或不同的人员之间形成统一的行动方针,明确执行目标,工作内容,执行方式,执行进度,从而使整体计划目标统一,行动协调,过程有条不紊。文档可直接下载或修改,使用时请详细阅读内容。 1、进入施工现场人员必须戴好安全帽,高空作业人员必须佩带安全带,并应系牢。 2、经医生检查认为不适宜高空作业的人员,不得进行高空作业。 3、工作前应先检查使用的工具是否牢固,板手等工具必须用绳链系挂在身上,钉子必须放在工具袋内,以免掉落伤人,工作时要思想集中,防止钉子扎脚和空中滑落。 4、安装与拆除四米以上的模板,应搭脚手架,并设防护栏杆,防止上下在同一垂直面操作。 5、高空,复杂结构模板的安装与拆除,事先应有切实的安全措施。 6、遇六级以上的大风时,应暂停室外的高空作业,雪霜雨后应先清扫施工现场,略干不滑时再进行工作。 7、二人抬运模板时要互相配合,协同工作。传递模板、

模板工程安全管理措施(正式)

模板工程安全管理措施(正式) Deploy The Objectives, Requirements And Methods To Make The Personnel In The Organization Operate According To The Established Standards And Reach The Expected Level. 使用备注:本文档可用在日常工作场景,通过对目的、要求、方式、方法、进度等进行具体、周密的部署,从而使得组织内人员按照既定标准、规范的要求进行操作,使日常工作或活动达到预期的水平。下载后就可自由编辑。 1、按照施工方案的要求作业。 2、模板安装按施工设计进行,严禁随意变动,支顶必须有垫块。 3、上层和下层支柱在同一垂直线上,模板及其支撑系统在安装过程中,必须设置临时固定设施。 4、支柱全部安装完毕后,应及时沿横向和纵向加设水平平撑和垂直剪刀撑。 5、支柱高度小于4m时,水平撑应设上下两道,两道水平撑之间,在纵、横加设剪刀

撑。 6、进入施工现场必须佩戴安全帽,服从工地管理人员指挥,时刻牢记“安全第一、预防为主”,做足安全保护措施拆除的模板,柱杆、支撑要及时运走,妥善善堆放。 7、拆除板、梁、柱墙模板,在4m以上的作业时应搭脚手架或操作平台,并设防护栏杆,严禁在同一垂直面上操作。 8、安装和拆除柱、墙、梁、板的操作层,从首层以上各层应安装安全平网。进行拆除作业时,应设置警示标牌。 9、验收合格方可进行作业,未经验收或验收不合格不准作下一道工序作业。 请在这里输入公司或组织的名字 Please enter the name of the company or organization here

工地安全会议纪要范文.doc

工地安全会议纪要范文 办公会议纪要(也指日常行政工作类会议纪要),主要用于单位开会讨论研究问题,商定决议事项,安排布置工作,为开展工作提供指导和依据。下面是我为你带来的工地安全会议纪要范文,欢迎参阅。 工地安全会议纪要范文1 会议名称港龙财智国际广场二期施工安全教育会议 主持人殷冬军 会议内容 20XX年7月23日中午,由苏州福喜幕墙门窗有限公司总经理召集了港龙财智国际广场二期所有幕墙施工人员,进行了长达一个半小时的施工安全教育会议。会议首先总结了前段时间的施工情况,并指出了目前施工现场存在的问题,下一步施工需注意的安全问题以及相关要求,形成会议纪要如下: 1、施工人员不带安全帽的现象时有存在、且正确佩戴安全帽的不多。针对此类现象,殷总要求施工人员进入工地必须佩戴安全帽,并详细地讲解了安全帽的佩戴要求及规范。会中殷总还强调了如若再有施工不带安全帽者将对其进行经济处罚。 2、针对吊篮的使用,殷总指出在上吊篮前必须检查配重块是否装好,螺丝是否有松动。检查完方可使用,吊篮在使用过程中,必须拴好安全绳,以确保施工安全。

3、施工现场各种材料堆放零乱,特别是铝板、幕墙立柱、白铁皮等主要材料,目前施工现场总映象为脏、乱、差且时有材料被偷现象。为避免此类现象发生,殷总要求施工人员及时整理材料,将不常用的材料放入仓库确保财产安全。 参会人员: 记录人 审核人 工地安全会议纪要范文2 会议时间:20XX年3月14日下午6:00 会议地点:项目部一楼会议室 参会人员:项目部全体人员 主持:xx会议内容:落实《xx市公路局关于进一步规范公路建设现场管理形象的通知》 项目部经理xx同志在会上传达了文件精神,就文件涉及建设现场安全生产方面内容做了重点说明和安排。 一.施工人员:统一着橘黄色公路标志服,并挂牌上岗,桥梁施工人员应戴施工安全帽,保通人员除着装整齐外还应戴印有"保通"字样的黄袖圈,安全员戴印有"安全员"字样的黄袖圈。确保施工人员安全生产。 二.路面施工现场:安全及各类施工标志牌设置要合理科学,尤其是危险地段,设置要规范、醒目。对边通车边施工的路段,夜里要设置警示灯和反光标志,把通道与施工区域分隔开,

小微企业安全生产标准化模板

小微企业安全生产标准化基本规范指导范本

张家港市安全生产监督管理局二〇一六年四月

目录 一、目标、组织机构和职责 (5) 1.1年度安全生产工作计划 (5) 1.2安全生产管理机构设置 (8) 1.3各岗位、人员安全生产责任制及考核情况 (9) 二、安全生产投入 (18) 2.1安全生产投入记录 (18) 2.2从业人员办理工伤保险缴费记录票据 (18) 三、法律法规与安全管理制度 (25) 3.1识别获取安全生产法律法规 (25) 3.2安全生产管理制度和安全操作规程 (27) 3.3法律法规、制度、规程的发放、培训和考核 (74) 3.4 安全管理制度、操作规程执行档案管理 (74) 四、安全培训教育 (75) 4.1 企业安全教育培训计划 (75) 4.2 各类人员培训记录及证书(复印件) (78) 五、生产设备设施 (91) 六、作业安全 (101) 6.1作业现场通道保持畅通 (101) 6.2 危险作业管理 (101) 6.3 落实各种危险作业票证、安排专人现场管理 (116)

6.4作业现场设置安全通道标志 (121) 6.5反“三违”活动记录 (122) 6.6相关方管理 (128) 七、隐患排查和治理 (136) 八、危险源管理 (148) 8.1危险源辨识与分级 (148) 8.2监控与管理 (159) 九、职业卫生 (162) 9.1 职业病危害项目申报 (162) 9.2 作业现场职业病危害因素进行检测结果和告知记录 (162) 9.3 职业病危害岗位的作业人员岗前、岗中和离岗的职业健康体检表 (162) 9.4 编制职业健康防护设施配置表 (162) 十、应急救援、事故管理 (168) 10.1 生产安全事故应急预案或现场处置方案 (168) 10.2 应急救援预案演练(计划、方案、总结、影像资料) (171) 10.3 生产安全事故管理台账 (171) 10.4应急设施、设备、物资登记表(参考样本) (180) 十一、绩效评定和持续改进 (183) 11.1绩效评定 (183) 11.2持续改进 (183)

2021版工程安全保证措施

( 安全技术 ) 单位:_________________________ 姓名:_________________________ 日期:_________________________ 精品文档 / Word文档 / 文字可改 2021版工程安全保证措施 Technical safety means that the pursuit of technology should also include ensuring that people make mistakes

2021版工程安全保证措施 进场施工前落实办理施工人员的人身保险,工程项目发生人身事故,必须报公司和保险公司,由公司与保险公司联系,对伤员进行赔偿。 人员施工进场前需租约安排好临时住房供施工人员休息及办公用房。 对所有危险设备如带电设备设置危险警告;化学危险品设置专门平台和醒目警示标志;在禁止入内的危险地段和作业面用黄塑料警示带或塑料围网围起来,设三角架警告标志。 施工人员调配前进行安全教育培训,经考核合格后安排进入施工现场参加施工工作。施工人员在参加每日的施工当中,必须穿戴整齐安全帽、警示背心、防护眼罩、麻绳手套、大头鞋;需高空作业时必须系带安全带,安全带采用高挂底用。

施工材料的调配过程中严格根据计划及实际进行采购。根据施工进度所需用量组织安排供应商进行选购、定置、安装。 施工现场所需用电与总包方联系,根据总包方要求统一安排接线配置并使用。配电箱处设置危险标示,警示标语。 使用带电机械操作时,应遵守有关机械及用电的安全技术规程。手持电动工具必须有可靠的漏电保护装置,施工照明须用36V低压电,潮湿地点作业要穿绝缘胶鞋。现场使用的各种机电设备,必须定人定机操作。施工用电、设备线路指定专人专职管理,严禁无证操作和随意拉接电源线路。 机电设备要有防护装置,手持电动工具及设备都应装灵敏有效的漏电保护装置。严禁使用破损或绝缘性能不良的线路,严禁随地拖走,线路装有绝缘装置。机操人员连续工作不得大于8小时。 建立动火审批制度,施工现场禁止动用明火,确因需要,必须向校方负责人申请,并采取防火措施,派专人看管。 云博创意设计 MzYunBo Creative Design Co., Ltd.

公司安全生产会议纪要范文.doc

公司安全生产会议纪要范文 安全会议是为了及时了解和掌握各时期的安全生产情况,协调和处理公司生产组织过程中存在的安全问题,消除事故隐患,确保安全生产。下面是我为你整理的安全会议纪要范文,仅供参考! 安全会议纪要格式范文篇一 会议时间:20xx年x月x日下午3:00时(星期二) 会议地点:天骄熙岸2#楼二楼会议室 参加人员:见签到表 总包单位:段平、张新宇、李有明 分包单位:郑洪忠、邓洪泽、池永强、张显顺、肖安军、王志军、张俊、尚景明、郝英雄、白海军。 主持人:段平(项目经理) 会议主要内容: 关于2#楼施工现场的安全文明、场地材料规划分类、工程质量、工程进度等问题。 一、安全文明施工 1、要求施工现场材料分类堆放整齐,周转材料、成品材料、原材料不得随意堆放,钢管按长度不同分层堆放在架台上。 2、钢筋场地单独隔离,并用脚手架围挡只留设人员出入的小门,钢筋加工棚安全文明标语需要重新设臵。

3、南侧安全通道加强防护,通道入口并按要求设臵安全文明标语。 4、施工现场大门处钢筋废料重新规整,砌筑废料池存放钢筋废料。 5、二号楼西南侧场地重新整理,用架管搭设多层架子铺设木板用来堆放钢管、扣件、顶丝等材料。 6、易燃易爆物品(如乙炔、氧气等)需单独存放于阴凉处,远离明火。 7、地泵上方设臵安全防护棚并加设安全文明标语,泵车北侧基坑临边用钢管围挡。 8、劳务方施工机械必须按规范要求"一机一箱一闸一保护",检查施工现场临时用电情况,严禁私拉乱接,杜绝安全隐患,一级箱、二级箱设臵标志并将用电系统图贴在配电箱内。 9、施工现场道路的清理维护,项目部与劳务单位每周轮流打扫。 10、架子工悬挑脚手架搭设不符合规范要求,剪刀撑的搭接长度至少一米,搭接区旋转扣件不得少于三个,剪刀撑的角度45度~60度之间,安全网破损的及时更换,"四口、十临边"的防护必须到位。 11、卸料平台存在安全隐患,伸入建筑物内长度不得少于1.5米,两侧钢丝绳的长短不一致(导致卸载不均)、平台上倾的角度不够、没有安全防护措施、没有限重标识等。 、对于"三宝"的使用,高空作业必须佩戴安全带(高挂低

模板工程安全技术措施

模板工程安全技术措施 1.模板安装和拆除工作之前要进行安全技术交底,确保施工过程的安全。 2.建立模板拆除的审批制度,模板拆除前应有批准手续,防止随意拆除发生事故。 3.严禁在脚手架上堆放大量模板材料。 4.二人抬运模板时要互相配合,协同工作,传递模板、运输工具时绳子应系牢后再升降,不准乱抛。 5.工作前要检查斧把、锤把是否牢靠,并绑扎在牢固的地方。 6.悬空作业处应有牢靠的立足作业面,支拆3m以上高度的模板时,应搭设脚手架工作台,高度不足3m的可用移动式高凳,不准站在拉杆、支撑杆上操作,也不准在梁底模上行走操作。 7.大模板的堆放应有固定的支架,必须成对、面对面堆放,满足其自稳角度,并有可靠的防倾倒措施。 8.模板叠放高度一般不应超过1.6m,过高时不易稳定且操作不便。 9.模板上有预留洞时,在安装后将洞口盖好,混凝土板上的预留洞在拆模后,立即将洞口盖好。 10.支模应按工序进行,模板没有固定前,不能继续下道工序的

施工。 11.支模过程中,中间停歇时,将支撑、搭头、柱头板等钉牢,拆模间歇时,将已活动模板、牵杠支撑等运走或妥善堆放,防止因踏空、扶空而坠落。 12.安装墙模板时,应从内外墙角开始,向互相垂直的两个方向拼装,同一道墙的两侧模板应同时组合,连接模板的U型卡要正反交替安装。 13.楼板模板安装就位时要支架搭设稳固,板下模楞与支架连接牢固后进行,U型卡要按设计规定安装,以增强整体性,确保模板结构安全。 14.安装模板应符合方案的程序,安装过程应有保持模板、临时的稳定措施(如单片柱模吊装时,应待模板稳定后摘钩;安装墙体模板时,从内、外角开始沿向两个互相垂直的方向安装等)。 15.模板在安装过程中,必须设置临时固定设施严防倾覆,模板必须固定在承重焊接钢筋骨架结点上。 16.拆除模板作业比较危险,防止落物伤人,应设置警戒线,有明显标志,并设专门监护人员。 17.拆除模板应按方案规定程序进行,先支的后拆,先拆非承重部分。拆除大跨度梁支撑柱时,先从跨中开始向两端对称进行。大模板拆除前,要用起重机垂直吊牢,然后再进行拆除。拆除薄壳从结构中心向四周围均匀放松向周边对称进行。当立柱水平拉杆超过两层

安全生产标准化范本

业卫生基础建设容及要求 (各子公司、部、相关业务部门) 项目 容 要求 1 组织 机构 和规 章制 度建 设 ( 6 项) 1.1 设置或指定职业 卫生管理机构★ 明确设置或指定的职业卫生管理机构、职责。 1.2 配备专职或兼职 职业卫生管理人员★ 危害严重或超过 100 人的公司配备专职或 兼职的职业卫生管理人员; 确定管理人员具 体管理业务情况。 1.3 职业病防治工作 纳入用人单位主要负 责人目标管理 制定职业病防治计划、实施方案和管理制度,由主要负责人负责。

1.4 建立健全职业卫 生管理制度 建立健全职业卫生管理制度; 制度包括危害 防治责任制度、警示与告知制度等13 项安 监总局 47 号令要求的管理制度。 1.5 建立健全职业卫 生档案 职业卫生档案, 应当包括有毒有害因素动态 监测结果、 职业健康监护结果、 职业病人清 单、 防护设施清单等 12 项安监总局 47 号令 要求的档案。 1.6 确保职业病防治 管理必要的经费投入 职业病防治、 管理经费纳入成本预算, 包括 人员、 机构、 预防和治理职业病危害、 评价、 防护设施配置与维护、 个人防护用品配置与 维护、 职业病危害因素检测与评价、 职业健 康监护、 职业卫生培训、

职业病人诊断与管 理、工伤保险等方面。 2.1 职业病危害项目 申报★(独立取得营业执照的单位) 认真进行职业病危害项目申报,保存安监部 门申报回执, 重要事项变更要及时进行变更 申报。 — 2 — 项目 容 要求 2 前期 预防 ( 4 项) 2.2 建设项目预评价 报告经安监或卫生行政部门审核通过★

模板工程施工安全保证措施

模板工程施工安全保证措施 一、组织保障 1、安全保证体系 2、环境保护体系

二、技术措施 1、准备工作

(1)组合钢模板安装前,应向施工班组进行技术交底有关施工及操作人员应熟悉施工图及模板工程的施工设计; (2)施工现场应有可靠的能满足模板安装和检查需用的测量控制点; (3)现场使用的模板及配件应按规格的数量逐项清点和检查,未经修复的部件不得使用; (4)采用预组装模板施工时,模板的预组装应在组装平台或经平整处理过的场地上进行。组装完毕后应予编号,并应按下表的组装质量标准逐块检验后进行试吊,试吊完毕后应进行复查并再检查配件的数量、位置和紧固情况。 当妥贴,避免碰撞,每层之间应加垫木,模板与垫木均应上下对齐,底层模板应垫离地面不小于10cm。立放时,必须采取措施,防止倾倒并保证稳定,平装运输时,应整堆捆紧,防止摇晃摩擦。 (6)钢模板安装前,应涂刷脱模剂,严禁在模板上涂刷废机油。 (7)模板安装时应做好下列准备工作: 1)梁和楼板模板的支柱支设在土壤地面时,应将地面事先整平夯实,根据土质情况考虑排水或防水措施,并准备柱底垫板; 2)竖向模板的安装,底面应平整坚实,清理干净,并采取可靠的定位措施; 3)竖向模板应按施工设计要求预埋支承锚固件。 2、模板支设 (1)现场安装组合钢模板时应遵守下列规定: 1)按配板图与施工说明书循序拼装,保证模板系统的整体稳定; 2)配件必须装插牢固。支柱和斜撑下的支承面应平整垫实,并有足够的受压面积。支撑件应着力于外钢楞; 3)预埋件与预留孔洞必须位置准确,安设牢固; 4)基础模板必须支拉牢固,防止变形,侧模斜撑的底部应加设垫木; 5)墙和柱子模板的底面应找平,下端应与事先做好的定位基准靠紧垫平,在墙、柱上继续安装模板时,模板应有可靠的支承点,其平直度应进行校正; 6)楼板模板支模时,应先完成一个格构的水平支撑及斜撑安装,再逐渐向外扩展,以保持支撑系统的稳定性; 7)墙柱与梁板同时施工时,应先支设墙柱模板,调整固定后,再在其上架设梁板模板; 8)当墙柱混凝土已经浇灌完毕时,可以利用已灌注的混凝土结构来支承梁、板模板; 9)预组装墙模板吊装就位后,下端应垫平,紧靠定位基准;两侧模板均应利用斜撑调整和固定其垂直度; 10)支柱在高度方向所设的水平撑与剪力撑,应按构造与整体稳定性布置; 11)多层及高层建筑中,上下层对应的模板支柱应设置在同一竖向中心线上。

安全会议记录格式

安全会议记录格式 篇一 根据不少地区的普遍反映和监理企业的强烈要求,2010年7月7日至8日,中国建设监理协会理论研究委员会与江苏省建设监 理协会在江苏南京联合召开了全国监理对施工安全监管理论研讨会,施工安全会议纪要。 这次会议得到了有关政府部门的关心和指导,得到了各监理协会和广大监理企业的大力支持,共收到百余篇论文。住房和城乡 建设部工程质量安全监管司副司长王树平、江苏省住房和城乡建设 厅副厅长徐学军、住房和城乡建设部建筑市场监管司建设咨询监理 处处长江华、住房和城乡建设部工程质量安全监管司施工安全监管 处副处长王天祥、中国建设监理协会副会长兼秘书长林之毅出席会 议并讲话。

出席会议的还有江苏省住房和城乡建设厅相关部门负责人,以及各协会的领导。参加会议的代表,有来自24个省、直辖市、自治区建设监理协会、10多个有关专业部门建设监理协会(分会、专业委员会)、中国建设监理协会各分会以及监理企业202人。由于会议议程安排紧张,与会人员强烈要求晚上加班交流讨论。与会人员热情之高、探讨之认真,是多年来少有的局面。同时也表明,监理行业对“监理对施工安全监管”问题高度重视,研究该问题是众望所归。会议纪要如下: 一、提高了认识,增强了信心 王树平副司长在讲话中,既肯定了监理为施工安全做出了不小的贡献,又指出,要适应形势发展的需要,不断修改、完善相关法规。他更希望大家继续为提高施工安全水平不懈努力。

江华处长不仅肯定了监理对提高施工安全生产做出的成就,还通报了全国监理行业的发展状况。她要求大家,在做好监理工作的同时,继续关注有关法规建设,继续为提高施工生产安全水平做出贡献。 林之毅副会长指出,近年来由于监理责任界定不清,安全责任被无限扩大,有关部门对监理处罚不当或处罚过重的案例日益增多,一些监理人员甚至被追究刑事责任而锒铛入狱。低收益、高风险,使业内一些优秀人才流失,严重影响了监理行业的健康发展。所以说,召开这次研讨会很必要,并希望大家积极建言献策,为推进建设监理事业发展贡献聪明才智。中国建设监理协会理论研究委员会主任刘廷彦代表会议主办单位,对会议作了小结(以上领导讲话摘要另行印发)。 研讨会期间,同志们从不同的角度,总结了“监理对施工安全监管”的现状;从法理层面对该问题作了深入的剖析;从制度上探讨了改进方略和办法。通过研讨,进一步提高了关于监理对施工安

2021年房屋建筑模板施工安全技术措施

2021年房屋建筑模板施工安全 技术措施 Security technology is an industry that uses security technology to provide security services to society. Systematic design, service and management. ( 安全管理 ) 单位:______________________ 姓名:______________________ 日期:______________________ 编号:AQ-SN-0002

2021年房屋建筑模板施工安全技术措施 一、概述 **工程,由地下*层、地上*层组成。根据本工程钢筋工程的施工隐患主要如下: 1、模板加工过程中 1)触电2)机械伤害 2、模板安装过程中 1)高空作业2)邻边作业3)模板倒运4)高空抛物5)火灾 3、拆除作业过程中 1)高空抛掷2)作业区防护3)倒运 针对上述隐患,编制此模板工程的安全技术措施: 二、具体安全措施 一)管理方面

1、现场教育 钢筋工进场后立即进行三级教育,明确现场安全管理要求以及现场存在的危险源,提高工人自身的安全防范意识。 班组施工前,工长、技术员要进行安全交底,并实行全员签字手续。 2、现场巡查 模板安装和拆除工作必须严格按施工方案进行,正式工作之前要进行安全技术交底,确保施工过程的安全。 每天施工前,由班组长负责对所要施工的项目及周边环境进行检查,找出不安全因素,并针对这些因素对工人进行交底,提前预控。 3、所有进场工人必须佩带安全帽。 二)模板安装技术措施 1、模板加工机械实行一机、一闸、一漏、一箱制,并由专人管理,使用前进行安全用电操作交底。工人操作时穿绝缘鞋,带绝缘手套。

企业安全生产标准化基本规范指导范文(带表格模板)

企业安全生产标准化基本规范指导范本 二〇一一年十月

前言 推进企业安全标准化建设是全面落实企业主体责任,着力提升企业本质安全,有效预防和遏制各类安全生产事故发生的有效途径。根据国务院《关于进一步加强企业安全生产工作的通知》(国发[2010]23号)“全面开展安全达标,深入开展以岗位达标、专业达标和企业达标为内容的安全生产标准化建设”的要求,对照扬州市安监局《企业安全生产标准化基本规范评审细则》,我局专门制订了《企业安全标准化基本规范指导范本》,旨在帮助企业有效推进标准化建设工作。本《指导规范》仅供企业参考,希望各企业严格对照上级的有关标准,并结合本企业实际,认真做好标准化建设的各项工作。

目录 一、目标 1、安全生产方针和总体目标 (1) 2、年度安全生产目标 (2) 3、安全生产指标考核办法 (3) 4、从业人员对目标知晓 (7) 二、组织机构和职责 2.1 组织机构 1、成立安全领导机构和相关人员任命的文件 (8) 2、三级安全管理网络图 (9) 2.2 职责 1、主要负责人的职责 (10) 2、签订的安全目标责任书 (11) 3、安全生产管理机构及管理人员和从业人员职责 (15) 三、安全投入 1、安全生产投入保障制度 (23) 2、投保安全生产责任险或缴纳风险抵押金资 (23) 3、安全费用使用台账 (24) 四、法律法规和安全管理制度 4.1 法律法规、标准规范 1、安全生产法律法规识别和获取管理制度 (25) 2、组织有关法律法规标准学习及一定形式将法规、标准传达给从业人员 (27) 4.2 规章制度 1、各项安全生产管理制度 (27) 2、制度要形成汇编和上墙 (64) 3、安全生产会议 (65)

相关主题
文本预览
相关文档 最新文档