Articles of 用户

原始套接字访问作为正常用户在Linux 2.4上

在一个embedded式系统(2.4内核)中,我需要一个原始套接字从一个不以root身份运行的进程访问eth0接口。 我尝试通过从命令行设置CAP_NET_RAWfunction并使用cap_set_proc()以编程方式解决此问题,但都没有成功。 看来我没有权限这样做,在程序中我得到一个EPERM错误,在命令行上 无法在进程“1586”上设置上限:(操作不允许) 有没有更简单的方法来做我想要的? 如果不是,则成功设置CAP_NET_RAWfunction需要执行哪些步骤? 编辑:我有根访问,但作为根永久运行的过程是没有select。 libcap的版本是1.10,没有“setcap”二进制文件,而是“setpcaps”。 编辑 – 回答George Skoptsov: 如果我弄明白了,你的build议是用setuid启动一个进程,然后设置CAP_NET_RAWfunction,然后删除权限。 我用下面的代码尝试了这个,但是它似乎不起作用,即使caps命令不返回错误。 随着seteuid()注释掉,原始访问工作,但只是因为该进程作为根运行,那么: cap_t caps = cap_get_proc(); cap_value_t cap_list[1]; cap_list[0] = CAP_NET_RAW; if (cap_set_flag(caps, CAP_EFFECTIVE, 1, cap_list, CAP_SET) == -1) { printf("cap_set_flag error"); } if (cap_set_proc(caps) == -1) { printf("cap_set_proc error"); } if (seteuid(getuid()) != 0) { printf("seteuid error"); } function_that_needs_raw_access(); 谢谢你的帮助。 克里斯

sudoers NOPASSWD:sudo:没有tty礼物,也没有askpass计划

我已经添加了这样的用户: $ adduser –system –home /no/home –no-create-home –group –disabled-password –disabled-login testuser 将用户添加到组中: $ adduser testuser testgroup 添加到sudoers(visudo)的行数: testuser ALL=(ALL) NOPASSWD: ALL %testgroup ALL=(ALL:ALL) NOPASSWD: ALL 当我尝试运行带有以下内容的bash脚本时: #!/bin/sh sudo -u testuser /usr/bin/php /usr/local/bin/script.php 但是当我运行这个脚本时,我得到了日志中的错误: sudo: no tty present and no askpass program specified 编辑: requiretty不在sudoers文件中。

在用户的Linux下运行Jenkins作业

我有Jenkins安装在Linux中,我想在用户下运行构build。 不只是一个简单的用户,而是一个属于访问Linux机器的用户列表,属于某个组,因为它有权修改/创build某个文件夹下的文件。 我已经读过一些地方,你可以设置variables$ JENKINS_USER,但我不知道在哪里和如何。 感谢您的时间 PS我做了一些研究,所有发布的问题都是相似的,但不一样的这一个 如果我不清楚,请阅读下面的内容:通常Jenkins使用一个叫做jenkins的用户来执行构build,现在我想能够使用不同的用户(预先存在)。

如何使用C / C ++创build一个Linux用户?

我想build立一个程序,以用户名为参数,并创build用户和它的主文件夹 (一些硬编码规范像文件夹,和安全检查,如用户名不能是根或现有的用户)。 我的应用程序需要创build用户才能获得SSH访问权限。 该程序将使用sudo执行。 我读过它应该用C或C ++而不是脚本编写,因为脚本很容易被利用。 你可以给我一些build议或良好的做法 ,如何实现这一目标? 我应该使用一些Pam库吗? 有没有例子? 什么是可能的安全缺陷? 我知道C / C ++,并运行Ubuntu Lucid。 编辑: 用户将只有sudo权限才能运行该特定命令,我不希望它能够运行shell或绕过某些程序(例如,通过更改PATH环境)。 因此,例如,我将需要覆盖PATH , 还有什么我应该担心的?

如何获取Windows用户帐户的用户权限和权限

我需要能够检查所有这些用户权限和特权。 我试图使用令牌来访问这些,但是这只能完成特权列表。 我已经检查过这个库 ,也是这个,但是我找不到解决scheme。 是否独立完成每个指定权限/权限的testing的唯一方法? 或者我可能只是无能为力。 任何帮助正确的方向将不胜感激!

由其他用户帐户安装的本地SQL Server,如何从新的用户帐户访问

SQL Server由User1安装在本地PC上。 用户1现在已经离开公司,在PC上创build了一个名为User2的新帐户。 用户2不能访问本地SQL Server安装。 User2是否可以在不重新安装的情况下访问本地SQL Server? 这是错误: 无法连接到mydatabasename。 用户“myuser2name”login失败。 (.Net SqlClient数据提供程序) 服务器名称:mydatabasename 错误号码:18456 严重性:14 状态:1 行号:65536 要获得帮助,请单击: http : //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476

Python:查找用户ID和移动目录(Windows)

我试图完成的是让我的程序从它当前所在的文件夹移动到另一个文件夹。 在这种情况下,video。 这是代码: import getpass import os userid = getpass.getuser() print os.getcwd() os.rename("$s/userid.py", "%s/Videos/userid.py") % ('os.getcwd()', '%userid') 但从电源壳运行它让我这个错误: Traceback (most recent call last): File "userid.py", line 9, in <module> os.rename("$s/userid.py", "%s/Videos/userid.py") % ('os.getcwd WindowsError: [Error 3] The system cannot find the path specified 然后,我想也许os.getcwd()括号引起的问题,所以我试过这个,但有同样的错误: import getpass import os import shutil userid = getpass.getuser() currentpath = […]

获取当前用户的最后一次login

我正在尝试获取当前的用户上次login。 我可能是这届本届会议,也可能是之前的会议。 我打电话GetUserName()获取当前的用户名。 我将其馈送到NetUserGetInfo()中以尝试获取上次login时间。 这一切都失败,错误2221(用户未find)。 当我用“pipe理员”尝试它的作品。 即使我硬编码我的用户名,它会返回一个2221.这就是我正在使用的: nStatus = NetUserGetInfo(NULL, L"administrator", dwLevel, (LPBYTE *) & pBuf); 你怎么能得到当前用户的最后login时间? 谢谢,代码总是欢迎。 这是我目前使用的完整代码: DWORD dwLevel = 2; NET_API_STATUS nStatus; LPTSTR sStringSid = NULL; LPUSER_INFO_0 pBuf = NULL; LPUSER_INFO_2 pBuf2 = NULL; WCHAR UserName[256]; DWORD nUserName = sizeof(UserName); if(GetUserName(UserName, &nUserName)) { printf("information for %ls\n", UserName); nStatus = NetUserGetInfo(NULL, UserName, dwLevel, […]

Pythonsubprocess。在Windows上以不同的用户身份打开

在Windows上用Python启动一个subprocess的最佳方式是什么? 最好XP和以上,但如果它只适用于Vista和7,我也可以忍受。

在Windows上使用Hudson的Git插件克隆/获取存储库问题

在任何人为此拍摄我之前 – 我已经检查了每一个适当的线程,仍然没有find解决我的问题。 我有Hudson与安装在Windows服务器上的git插件(不是我的select)和哈德森作为服务运行。 Git/bin在path上。 但是我无法克隆存储库。 以下是控制台输出的缩略显示: Started by user anonymous Checkout:workspace / C:\.hudson\jobs\sdf\workspace – hudson.remoting.LocalChannel@65394b Last Built Revision: Revision 74200b32314231a5efdadd87bf36b42ec145c720 (origin/master) Checkout:workspace / C:\.hudson\jobs\sdf\workspace – hudson.remoting.LocalChannel@65394b Fetching changes from the remote Git repository Fetching upstream changes from ssh://git.mccannlondon.co.uk/git/mccann_admin [workspace] $ "C:\Program Files\Git\bin\git.exe" fetch -t ssh://git.mccannlondon.co.uk/git/mccann_admin +refs/heads/*:refs/remotes/origin/* The server's host key is not cached in […]