更改用户id 和组id】的更多相关文章

在unix系统中,特权是基于用户和组ID的,当程序需要增加特权,或需要访问当前并不允许访问的资源时,我们需要更换自己 用户ID或组ID,使的新ID具有合适的特权或访问权限.与此类似,当程序需要降低其特权或阻止对某些资源的访问时,也需要 更换用户ID或组ID,从而使新ID不具有相应特权或访问这些资源的能力. 可以用setuid函数设置实际用户ID和有效ID,与此类似,可以使用setgid函数设置实际组ID和有效组ID. #include <unistd.h> int setuid(uid_t u…
在UNIX系统中,特权(例如能改变当前日期的表示法以及访问控制(例如,能否读.写一特定文件))是基于用户ID和组ID的.当程序需要增加特权,或需要访问当前并不允许访问的资源时,我们需要更换自己的用户ID或组ID,使得新ID具有合适的特权或访问权限.与此类似,当程序需要降低其特权或阻止对某些资源的访问时,也需要更换用户ID或组ID,从而使新ID不具有相应特权或访问这些资源的能力. 一般而言,在设计应用程序时,我们总是试图使用最小特权(least privilege)模型.依照此模型,我们的程序应当…
转自 http://blog.csdn.net/todd911/article/details/16370577 在unix系统中,特权是基于用户和组ID的,当程序需要增加特权,或需要访问当前并不允许访问的资源时,我们需要更换自己用户ID或组ID,使得新ID具有合适的特权或访问权限.与此类似,当程序需要降低其特权或阻止对某些资源的访问时,也需要更换用户ID或组ID,从而使新ID不具有相应特权或访问这些资源的能力.可以用setuid函数设置实际用户ID和有效ID,与此类似,可以使用setgid函数…
linux 设置用户id 设置组id   转自 linux 设置用户id 设置组id   最近看apue,简单记录对设置用户id理解(设置组id同理). 1. 相关的id好像很多,共有哪些? 文件2个id 2个位: 拥有者id             拥有者组id 设置用户id位         设置组id位 进程6个或更多的id(如果有附加组id): 实际用户id             实际组id       (仅仅标志我们是谁,不参与文件访问权限检测) 有效用户id            …
#include<unistd.h> uid_t getuid(void); uid_t geteuid(void);//获取有效用户id gid_t getgid(void); gid_t getegid(void); int setuid(uid_t uid); int setgid(gid_t gid); int seteuid(uid_t euid);//设置有效用户id int setegid(gid_t egid); int setreuid(uid_t ruid,uid_t eu…
要登入一台计算机,我们需要一个用户名.用户名是一个可以被计算机识别的身份.基于此,计算机会对使用这个用户名的登陆的人应用一系列的规则.在Linux系统下,我们可以使用 id 命令. 什么是 id 命令 id 命令可以显示真实有效的用户 ID(UID) 和组 ID(GID).UID 是对一个用户的单一身份标识.组 ID(GID)则对应多个UID. 如何使用 id 命令 id 命令已经默认预装在大多数 Linux 系统中.要使用它,只需要在你的控制台输入id.不带选项输入 id 会显示如下.结果会使…
实际用户ID和实际组ID:标示了我们究竟是谁,这两个字段在登录时取自口令文件中的登录项 有效用户ID和有效组ID以及附属组ID:决定了我们的文件的访问权限(通常有效用户ID等于实际用户ID,有效组ID等于实际组ID) 保存的设置用户ID和保存的设置组ID:在一个程序执行时包含了有效用户ID和有效组ID的副本 针对可执行程序文件,进程通常有效用户ID等于实际用户ID,有效组ID等于实际组ID,但可以在文件模式字st_mode中设置一个特殊标志(当执行次文件时,将其进程的有效用户ID设置为文件所有者…
S_ISUID  (04000)  set-user-ID (set process effective user ID on execve(2))S_ISGID  (02000)  set-group-ID  (set  process effective group ID on execve(2); mandatory locking, as described in fcntl(2); take a new file's group from parent directory, as de…
一.修改用户uid usermod -u foo 二.修改用户gid groupmod -g 2005 foo usermod -g 2005 foo 三.检查 cat /etc/passwd su foo id…
与一个进程关联的ID有6个或更多,如下图所示: 与每个进程相关联的用户ID和组ID 实际用户ID 实际组ID 我们实际是谁 有效用户ID 有效组ID 附加组ID 用于文件访问权限检索 保存的设置用户ID 保存的设置组ID 由exec函数保存 实际用户ID和实际组ID标识我们究竟是谁,这两个字段在登录时取自口令文件中的登录项.通常,在一个登录会话间这些值并不改变,但是超级用户进程有方法改变它们. 有效用户ID,有效组ID以及附加组ID决定了我们的文件访问权限. 保存的设置的用户ID和保存的设置组I…
与一个进程相关联的ID有6个或更多,它们如表4-4所示: 表4-4 与每个进程相关联的用户ID和组ID 实际用户ID                            我们实际上是谁 实际组ID 有效用户ID                            用于文件访问权限检查 有效组ID 附加组ID 保存的设置用户ID                   由exec函数保存 保存的设置组ID 实际用户ID和实际组ID标识我们究竟是谁(执行这个程序的用户和组).这两个字段在登录时取自口…
  实际用户ID(real user id):用于在系统中标识一个用户是谁,当用户使用用户名和密码成功登录后一个UNIX系统后就唯一确定了他的uid:(实际用户组ID类似) 有效用户ID(effective user id):用于系统决定用户对系统资源的权限,一般情况下,进程的有效用户ID就被设成执行该进程的实际用户ID,有效用户组ID=实际用户组ID:还有一种说法是有效用户ID指的是进程执行时对文件的访问权限,应该意思都是一样的,因为进程和用户都有实际用户ID.有效用户ID.实际用户组ID.有…
4.2BSD引入了附加组ID(supplementary group ID)的概念.我们不仅可以属于口令文件记录项中组ID所对应的组,也可属于多达16个另外的组.文件访问权限检查相应被修改为:不仅将进程的有效组ID与文件的组ID相比较,而且也将所有附加组ID与文件的组ID进行比较. 常量NGROUPS_MAX规定了附加组ID的数量,其常用值是16. 使用附加组ID的优点是不必再显式地经常更改组.一个用户会参加多个项目,因此也就要同时属于多个组. 为了获取和设置附加组ID,提供了下列三个函数: #…
Linux 组是用于管理 Linux 中用户帐户的组织单位.对于 Linux 系统中的每一个用户和组,它都有惟一的数字标识号.它被称为 用户 ID(UID)和组 ID(GID).组的主要目的是为组的成员定义一组特权.它们都可以执行特定的操作,但不能执行其他操作. Linux 中有两种类型的默认组.每个用户应该只有一个 主要组primary group 和任意数量的 次要组secondary group. 主要组: 创建用户帐户时,已将主要组添加到用户.它通常是用户的名称.在执行诸如创建新文件(或…
用户管理:centos系统是一个多用户系统 用户分为三类: 超级用户(root) 用户id为 0 伪用户 用户id为1-499,虽然存在,但是不能用户登录 普通用户 用户id为500-60000 用户信息存放位置: /etc/passwd 查看该文件 cat /etc/passwd 文件内容解释(linux系统下,一般的配置文件分隔符使用:): root:x:0:0:root:/root:/bin/bash ... admin : x : 500 : 500 : admin : /home/ad…
useradd 用户名 passwd 用户名,给指定用户设密码 passwd给当前用户设密码 添加一个用户系统会自动在以下文件或目录创建对应用户信息: [root@localhost ~]# grep shipotian /etc/passwdshipotian:x:1002:1002::/home/shipotian:/bin/bash[root@localhost ~]# grep shipotian /etc/shadowshipotian:$6$mDzNFfmC$c/PmvY4M2WIo…
设置用户ID(set-user-ID),设置组ID(set-group-ID),sticky   set-user-ID: SUID      当文件的该位有设置时,表示当该文件被执行时,程序具有文件所有者的权限而不是执行者的权限.      这样说有点绕,举个例子就是说passwd这个命令,它的所有者是root,并且它的set-user-id有设置,所以执行passwd命令后,passwd进程具有root权限,也才能改密码,毕竟普通用户没有修改/etc/passwd文件的权限.然而,并不能该别…
本文来探讨一下通过更改用户ID来获取合适的文件访问权限.由于更改组ID的规则与用户ID相同,我们在这里只探讨用户ID. 纸上得来终觉浅 先了解以下几个基本知识: 用户ID包括:实际用户ID.有效用户ID.保存的设置用户ID.其中保存的设置用户ID由exec函数保存. 实际用户ID标识我们究竟是谁,该字段在登录时取自口令文件中的登录项.通常,在一个登录会话期间该值不会改变,但root用户进程有方法改变它. 有效用户ID决定了我们的文件访问权限. 保存的设置用户ID在执行一个程序时包含了有效用户ID…
直接贴代码和结果 // FileName: id.cpp #include <iostream> #include <unistd.h> using namespace std; int main() { cout << "进程ID: " << getpid() << endl; cout << "实际用户ID: " << getuid() << endl; cout &…
实际用户(组)ID: 标识用户是谁,这两个字段在登录时取自口令文件中的登录项. 有效用户(组)ID: 决定了对文件的访问权限,通常有效用户(组)ID等于实际用户(组)ID,谁运行有效ID就等于谁的实际ID,与文件的所有者无关. 如果设置了设置用户(组)ID位,那么有效用户(组)ID则等于文件的所有者(组)ID,这时有效ID与文件所有者ID有关了. 例如: /usr/bin/password,该程序需要写口令文件,但是口令文件只有超级用户才具有写权限,所以需要设置设置用户ID位, 那么当普通用户执…
一.浅谈id.whoami.su.chage 本篇是续写上一篇<Linux 用户篇——用户管理命令之useradd.passwd.userdel.usermod>. (1)id命令 命令格式:id username(用户名) 命令解释:查看用户的UID(用户ID).GID(组ID). (2)whoami命令 命令格式:whoami 命令解释:查看当前用户的username,即我是谁. (3)su命令 命令格式:su option username(用户名) 命令解释:切换用户身份. 其中opt…
config.yaml存储zabbix的信息(主要包括zabbix server的url .请求头部.登陆的用户名密码) Zabbix_Config: zabbix_url: http://192.168.1.179/zabbix/api_jsonrpc.php zabbix_header: {"Content-Type": "application/json"} zabbix_user: Admin zabbix_pass: zabbix auth.py文件,主要…
摘要:本文主要介绍进程的基本属性,基本属性包含:进程ID.父进程ID.进程组ID.会话和控制终端. 进程基本属性 1.进程ID(PID) 函数定义:      #include <sys/types.h>      #include <unistd.h>      pid_t getpid(void); 函数说明:     每一个进程都有一个非负整型表示的唯一进程ID(PID).好比方我们的身份证一样,每一个人的身份证号是唯一的.由于进程ID标示符总是唯一的,常将其用来做其它标示符…
文件及内容处理 - id.su 1. id:查看用户的uid,gid及归属的用户组 id命令的功能说明 id 命令用于显示用户的 ID,以及所属群组的 ID.id 会显示用户以及所属群组的实际与有效ID .若两个 ID 相同,则仅显示实际 ID .若仅指定用户名称,则显示目前用户的 ID. id命令的语法格式 id [OPTION]... [USER] id [-gGnru][--help][--version][用户名称] id命令的常用参数说明: id 参数不多,表1为 id 命令的参数及说…
假如你有这样一个需求,一个小组内很多成员共同研究一个项目,为了这个项目我们需要分配一个具体的目录. 所有成员都拥有该目录的使用权限,可以互相操作成员的文件及内容.而且不允许其他人查看. 现在开始操作: 创建用户组project_test和用户alex和bob,并将他们加入到project_test组中. root@centos8 ~ $ groupadd project_test root@centos8 ~ $ useradd -G project_test alexroot@centos8…
最近在读<unix环境高级编程>,看到文件权限这里比较糊涂,主要设计多个用户ID和用户组ID,包括下面两个: (1)实际用户ID和实际用户组ID:这一部分表示我们究竟是谁.这两个字段在登录时取自口令文件中的登录项.通常,在一个登录会话期间这些值并不改变,但是超级用户进程有办法改变他们.简单来说,实际用户ID是登录用户的uid,实际用户组Id是登录用户的gid. (2)有效用户ID和有效用户组ID:这一部分用于文件的权限检查.一般情况下,有效用户ID等于实际用户ID,有效用户组ID等于实际用户组…
定义:int setpgid(pid_t pid,pid_t pgid); 表头文件:#include<unistd.h> 说明:setpgid()将参数pid 指定进程所属的组识别码设为参数pgid 指定的组识别码.如果参数pid为0, 则会用来设置目前进程的组识别码, 如果参数pgid为0, 则会以目前进程的进程识别码来取代. 返回值:执行成功则返回组识别码, 如果有错误则返回-1, 错误原因存于errno中. 相关函数:getpgid, setpgrp, getpgrp 错误代码:EIN…
实验内容(mapReduce安装请按照林子雨教程http://dblab.xmu.edu.cn/blog/631-2/) 现有某电商网站用户对商品的收藏数据,记录了用户收藏的商品id以及收藏日期,名为buyer_favorite1. buyer_favorite1包含:买家id,商品id,收藏日期这三个字段,数据以空格分割,样本数据及格式如下: 10181 1000481 2010-04-04 16:54:3120001 1001597 2010-04-07 15:07:5220001 1001…
linux 中更改用户权限和用户组的命令实例; 增加权限给当前用户 chmod +wx filename chmod -R 777 /upload 用户组 chgrp -R foldname zdz chown -R  所有者用户名.组名 文件夹名称 例如:chown -R  zdz.nginx KooBox 命令详解直接搜索就很多了,这里不多说了. ================================ 语法:chmod [who] [+ | - | =] [mode] 文件名 命令…
用户及passwd文件 /etc/passwd文件的功能 /etc/passwd文件每个字段的具体含义 shadow文件 /etc/shadow文件的功能 /etc/shadow文件每个字段的具体含义 群组及group文件 /etc/group文件的功能 /etc/group文件的功能 怎样在Linux系统中添加一个新的用户账户 useradd命令的功能 useradd命令的常用选项 useradd命令的用法举例 使用usermod命令修改用户账户 usermod命令的功能 usermod命令修…