当前位置: 首页 > news >正文

网站上线前应该备案吗温州网站建设风格

网站上线前应该备案吗,温州网站建设风格,做网站例子,好看的企业网站首页转载请注明来源chengyaogen.blog.chinaunix.net一、进程与权限A.进程时Linux/Unix操作系统中最重要的抽象之一B.进程是一个处于执行期的程序(目标代码存储在某种介质上)A process is a program(object code stored on some media) in the midst ofexecution.而进…转载请注明来源chengyaogen.blog.chinaunix.net一、进程与权限A.进程时Linux/Unix操作系统中最重要的抽象之一B.进程是一个处于执行期的程序(目标代码存储在某种介质上)A    process   is   a  program(object  code  stored  on some  media)  in the  midst  ofexecution.而进程在执行过程中经常涉及到文件访问操作等1.一个运行中的进程究竟可以访问哪些资源而不能访问哪些资源2.一个进程运行过程中如何实现在某个执行阶段拥有一些权限而在另一个阶段又具备另外一种权限呢?上述状况对应于进程的访问权限以及进程执行中不同权限的切换。这一切都和进程实际用户ID,进程有效用户ID,进程保存设置用户ID有关联。二、进程的用户ID1.实际用户ID(real user id,RUID)为该进程的创建者的用户ID,也可以说是进程的执行者。该ID仅root用户可以修改2.有效用户ID(effective  user  id,EUID)该ID用户标识用户进程执行操作的权限。例如:如果EUID是0即(root),此时进程拥有root用户权限。普通用户可以将EUID设置为RUID或者SUID而超级用户可以将EUID设置为任意的合法UID。注意对于一个可执行的二进制文件如果其set-user-id bit被设置则运行改程序时对应进程的有效用户ID(EUID)为该文件的文件所有者用户ID。3.保存设置用户ID(saved set-user-id,SUID)对于没有设置set-uid-bit的可执行程序而言其对应进程的保存设置用户ID(SUID)为其实际用户ID;而对于设置了set-uid-bit的程序而言其对应的保存设置用户ID(SUID)为该可执行文件的文件拥有者用户ID。只能root用户权限才能更改(当一个程序文件运行的时候其值已经确定)。注意:linux不提供返回保存的设置-用户-ID的函数总结:RUID代表此进程是哪个用户创建的 EUID代表此进程所拥有的权限SUID保存了EUID当EUID改变后如果想回到以前的EUID此时SUID将发挥作用。三、相关API#include#includeint   setuid(uid);可以用setuid函数设置实际用户ID和有效用户ID。注意我们并不能想怎么设就怎么设。有若干规则需要我们遵守:(1)若进程具有超级用户特权则setuid函数将实际用户ID、有效用户ID以及保存的设置-用户-D设置为uid。(2)若进程没有超级用户特权,但是uid等于实际用户ID或保存的设置-用户-ID则setuid只将有效用户ID设置为。不改变实际用户ID和保存的设置-用户-ID。(3)如果上面两个条件都不满足则errno设置为EPERM,并返回出错.。关于内核所维护的三个用户ID还要注意下列几点(1)只有超级用户进程可以更改实际用户ID。通常实际用户ID是在用户登录时由login(1)程序设置的而且决不会改变它。因为login是一个超级用户进程当它调用setuid时设置所有三个用户ID。(2)仅当对程序文件设置了 set-user-id bit时exec函数设置有效用户ID为文件所有者。如果set-user-id bit没有设置则exec函数不会改变有效用户ID而将其位置原先值。任何时候都可以调用setuid将有效用户ID设置为实际用户ID或保存的设置-用户-ID。自然不能讲有效用户ID设置为任意随机值。四、探究案例一:有个要在MacOS上实现一个关机程序,它熟悉linux其实老祖宗都是unix,所以MacOS对他并不陌生。如下他写了如下程序实现关机编译运行:从上面看这段代码可以实现关机但是有个不符合要求的地方运行程序不能是超级用户只能是普通用户。他很苦恼后来找到了我我做了如下事情呵呵可以了。我将这个可执行文件的owner和group都改为了root,然后有讲其set-user-id bit位加以了设置。这样以普通用户运行这个程序时此进程的EUID就是root了这样满足了shutdown命令执行的权限。案例二:#include #include #include #include #include #include void test_read_file(const char *name){int fd -1;fd open(name ,O_RDWR);if(fd 0){printf([ERROR]:read failed.\n);}else{printf([OK]:read successful\n);close(fd);}}//打印uid和euidvoid p_states(){int uid 0;int euid 0;printf(------Current states--------\n);printf(real uid\t %d\n,getuid());printf(effective uid\t %d\n,geteuid());printf(----------------------------\n);}//调用setuidvoid run_setuid_fun(int uid){if(setuid(uid) -1){printf([ERROR]:setuid(%d) error\n,uid);}p_states();}//调用setuidvoid run_seteuid_fun(int uid){if(setuid(uid) -1){printf([ERROR]:seteuid(%d) error\n,uid);}p_states();}int main(){int t_re 0;const char *file root_only.txt;printf(\nTEST 1:\n);p_states();//此时real uid login user id//effective uid root//saved uid roottest_read_file(file);getchar();printf(\nTEST 2:setuid(getuid())\n);run_seteuid_fun(getuid());//此时real uid login user id//effective uid login user id//saved uid roottest_read_file(file);getchar();printf(\nTEST 3:setuid(0)\n);run_setuid_fun(0);//此时real uid login user id//effective uid root//saved uid roottest_read_file(file);getchar();printf(\nTEST 4:setuid(0)\n);run_setuid_fun(0);//此时real uid root//effective uid root//saved uid roottest_read_file(file);getchar();printf(\nTEST 5:setuid(503)\n);run_setuid_fun(503);//此时real uid login user id//effective id login user id//saved uid login user idtest_read_file(file);getchar();printf(\nTEST 6:setuid(0)\n);//read uid login user id//effective uid login user id//saved uid login user idrun_setuid_fun(0);test_read_file(file);return 0;}编译运行:root_only.txt文件建立:第一次:RUID:实际用户EUID:文件所有者(root)SUID:文件所有者(root)此时进程拥有root用户权限能对root_only.txt进行读写操作第二次:此时普通用户调用setuid(getuid())只会将EUID改为getuid(),其他都不变RUID:实际用户EUID:实际用户SUID:root此时进程没有有root用户权限不能能对root_only.txt进行读写操作第三次:此时普通用户调用seteuid(0)只会将EUID改为0,其他都不变RUID:实际用户EUID:rootSUID:root此时进程拥有root用户权限能对root_only.txt进行读写操作第四次:此时进程拥有root用户权限调用setuid(0)会将三个ID都设置为0RUID:rootEUID:rootSUID:root此时进程拥有root用户权限能对root_only.txt进行读写操作第五次:此时进程拥有root用户权限调用setuid(503)会将三个ID都设置为503RUID:503EUID:503SUID:503此时进程拥有普通用户权限不能对root_only.txt进行读写操作第六次:此时进程拥有普通用户权限调用setuid(0)此时RUIDSUID都不为0这一次操作将失败RUID:503EUID:503SUID:503此时进程拥有普通用户权限不能能对root_only.txt进行读写操作
http://www.zqtcl.cn/news/139219/

相关文章:

  • 怎么做自己网站的APIwordpress memcache
  • 昆山高端网站建设机构公司展厅装修效果图
  • 服务器怎样建设网站中国建设银行货币基金网站
  • 沈阳专业制作网站公司吗万盛集团网站建设
  • 做汽车价格的网站东莞官方网站建设
  • 方案策划网站企业做推广可以发哪些网站
  • 天河网站建设世界建筑设计公司排名
  • 电商网站制作价格和硕网站建设
  • 深圳市门户网站建设哪家好微信小程序案例源码
  • 信息产业部icp备案中心网站asp网站制作教程
  • 品牌网站建设的意义建站公司联系电话
  • 网站建设 备案什么意思哪里有做效果图的网站
  • 教你免费申请个人网站html网站建设方案
  • 网站运营方案怎么写?在线制作手机网站
  • 微信html5模板网站哪个网站有手机
  • 网站知名度网站广东省备案系统
  • 柯桥区网站建设湖南人文科技学院
  • 建设一个网站需要哪些福田企业网站推广哪个好
  • 网站外链建设的15个小技巧中国农业建设中心网站
  • 交易平台网站怎么做wordpress 置顶 函数
  • 义乌市场官方网站jsp做就业网站
  • 推荐网站在线看兄弟们企业概况简介
  • 软装设计方案网站网站制作排名优化
  • 网站前端模板专业建站报价
  • 站长工具星空传媒怎么做游戏网站编辑
  • 大兴手机网站建设深圳小程序开发公司
  • c 大型网站开发案例电销系统线路
  • 鸿扬家装网站建设谈谈对seo的理解
  • 七米网站建设做网站也分内存大小的吗
  • 丝足网站的建设南宁关键词排名公司