问题列表 - 第35881页

setuid(0) 与 CAP_SETUID

我正在尝试将我的 uid 更改为 0 作为具有该CAP_SETUID功能的非 root 用户。我有以下程序:

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/capability.h>
#include <sys/prctl.h>

int main(int argc, char *argv[])
{
    printf("cap setuid in bset: %d\n", prctl(PR_CAPBSET_READ, CAP_SETUID, 0, 0, 0));
    printf("%s\n", cap_to_text(cap_get_file(argv[0]), NULL));
    printf("%s\n", cap_to_text(cap_get_proc(), NULL));
    printf("uid: %d\n", (int) getuid());
    setresuid(0, 0, 0);
    printf("uid: %d\n", (int) getuid());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我将 setuid 功能分配如下:

sudo /sbin/setcap cap_setuid=ep ./capsetuid
Run Code Online (Sandbox Code Playgroud)

我得到以下输出

cap setuid in bset: 1
= cap_setuid+ep
=
uid: 1000
uid: 1000
Run Code Online (Sandbox Code Playgroud)

我希望第二个 printf() 也能显示出这种CAP_SETUID能力。不知何故,我的进程没有获得 …

linux privileges linux-capabilities

5
推荐指数
1
解决办法
9502
查看次数

CountDownLatch的latch.await()方法与Thread.join()

我看到一个stackoverflow成员建议使用Thread.join()让"主"线程等待2个"任务"线程完成.

我会经常做一些不同的事情(如下所示),我想知道我的方法是否有任何问题.

final CountDownLatch latch = new CountDownLatch(myItems.length);

for (Item item : myItems) {  
  //doStuff launches a Thread that calls latch.countDown() as it's final act  
  item.doStuff(latch);   
}

latch.await();  //ignoring Exceptions for readability
Run Code Online (Sandbox Code Playgroud)

java multithreading

7
推荐指数
2
解决办法
4137
查看次数

用于在所有Win32程序员的Windows Aero Glass(DWM,GDI,GDI +)上绘图的文档和API示例

我正在寻找学习使用Win32/GDI API的好资源,或者使用Win32 API直接绘制和绘制到玻璃表格的任何东西.

当我使用Delphi时,我将其标记为Delphi或Visual C++.您可以找到任何代码示例和文章,我们将不胜感激.MSDN文章似乎没有写到这一点.

作为一个目标,让我们想象你想要:(a)重现谷歌Chrome的功能(标签作为玻璃框架的一部分)(b)重现MS Office 2010的功能(保存在MFC上的玻璃框架上的按钮VS 2010,作为"快速访问工具栏"(见下图).

我没有使用MFC,但如果检查MFC源是一个很好的信息来源,我很想知道在MFC源或BCG原始源(我有两者)中的哪些地方实现了快速访问工具栏渲染/绘制代码.

替代文字

更新:以下答案之一的相关neato链接显示NC(非客户端)Paint消息,以及如何在玻璃框架上绘制时处理它,以及此处的MSDN文章.

windows delphi visual-c++ windows-7 aero-glass

18
推荐指数
3
解决办法
5938
查看次数

我应该使用boost :: ptr_vector <T>还是vector <boost :: shared_ptr <T >>?

我需要一个容器指针.你会推荐boost::ptr_vector<T>还是std::vector<boost::shared_ptr<T> >?(或者是其他东西?)

如果感兴趣,我的实际数据结构相对复杂(见这里)并且当前存储对象,而不是指针,但我想改变它(使用指针容器),以便摆脱不必要的复制:

typedef std::multimap<Foo0, std::map<int, double> > VecElem;
std::vector<VecElem> vec;
Run Code Online (Sandbox Code Playgroud)

c++ containers boost pointers stl

17
推荐指数
2
解决办法
1万
查看次数

如果命令失败,如何退出?

我是shell脚本中的菜鸟.如果命令失败,我想打印一条消息并退出我的脚本.我试过了:

my_command && (echo 'my_command failed; exit)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.它不断执行脚本中此行之后的指令.我正在使用Ubuntu和bash.

linux bash exit exitstatus

193
推荐指数
8
解决办法
14万
查看次数

WPF表列大小

我正在使用代码隐藏在WPF FlowDocument中呈现一个.但是,我一直无法找到一个示例,说明如何使表只使用基于内容所需的空间.相反,该表占用了我不想要的所有可用宽度,我也不想指定精确的像素大小.

我显然遗漏了一些简单的东西,有人看到了吗?

var fd = new FlowDocument();

Table t = new Table();

t.BorderBrush = Brushes.Black;
t.BorderThickness = new Thickness(2);

// I thought this would do what I wanted...
t.Columns.Add(new TableColumn() { Width = GridLength.Auto });
t.Columns.Add(new TableCOlumn() { Width = GridLength.Auto });

TableRowGroup trg = new TableRowGroup();

TableRow currentRow = new TableRow();
currentRow.Cells.Add(new TableCell(new Paragraph(new Run("ABC"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run("XYZ"))));
trg.Rows.Add(currentRow);

currentRow = new TableRow();
currentRow.Cells.Add(new TableCell(new Paragraph(new Run("123"))));
currentRow.Cells.Add(new TableCell(new Paragraph(new Run("789"))));
trg.Rows.Add(currentRow); …
Run Code Online (Sandbox Code Playgroud)

wpf flowdocument

17
推荐指数
1
解决办法
1万
查看次数

如何使用WM_*消息调整窗口大小

当给出窗口句柄时,如何精确调整窗口向其发送窗口消息的大小?我已经尝试了很多东西,例如sendig和一个WM_SIZING消息到窗口,但没有任何工作(我这样做的方式).

我不喜欢使用SetWindowPosition.

提前致谢,

大卫

c++ windows delphi winapi

0
推荐指数
1
解决办法
4111
查看次数

如何使用MySQL在两个日期之间查询?

以下查询:

SELECT * FROM `objects` 
WHERE (date_field BETWEEN '2010-09-29 10:15:55' AND '2010-01-30 14:15:55')
Run Code Online (Sandbox Code Playgroud)

没有回报.

我应该有足够的数据来使查询工作.我究竟做错了什么?

mysql sql

210
推荐指数
6
解决办法
62万
查看次数

使用SAX解析具有未知递归量的XML结构

我必须使用SAX解析器在JAVA中解析XML结构.

问题是结构是递归的,具有未指定的递归计数.这仍然不是什么大问题,最重要的是我无法利用XML命名空间功能,并且标记在每个递归级别上都是相同的.

这是结构的一个例子.

<?xml version="1.0" encoding="UTF-8"?>
<RootTag>
    <!-- LOADS OF OTHER TAGS -->
    <Tags attribute="value">
        <Tag attribute="value">
            <SomeOtherTag></SomeOtherTag>
            <Tags attribute="value">
                <Tag attribute="value">
                    <SomeOtherTag></SomeOtherTag>
                    <Tags attribute="value">
                        <!-- MORE OF THE SAME STRUCTURE -->
                    </Tags>
                </Tag>
            </Tags>
        </Tag>
    </Tags>
    <!-- LOADS OF OTHER TAGS -->
</RootTag>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那样,有一个递归,更好的是一个未定义的递归数.现在我的问题是如何为每次递归提取所有数据并将其保存在HashMap例如中.

我可以定义一个ContentHandlerfor的出现Tags并让它在a中提取内容HashMap并将其放回主内容处理程序中定义的master HashMap中,但我不确定这样做是否热.

如何在不使用命名空间的情况下提取和保存递归XML结构的内容?

java xml recursion parsing sax

6
推荐指数
1
解决办法
7150
查看次数

我如何使Android应用程序每隔X秒执行一次操作

你好,我想做每1秒呼叫功能或做其他事情的apliacation.我有这个代码不工作你能说出什么问题吗?

public class App5_Thread extends Activity implements Runnable {    
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                Thread thread = new Thread(this);    
                thread.start();
        }
        @Override                    
        public void run() {                
                TextView tv1 = (TextView) findViewById(R.id.tv);
                showTime(tv1);                                                                
                try {
                    Thread.sleep(1000);
                }catch (Exception e) {
                    tv1.setText(e.toString());
                }            
        } 
        public void showTime(TextView tv1 ){                
            String DATE_FORMAT_NOW = "yyyy-MM-dd HH:mm:ss";
            Calendar cal = Calendar.getInstance();
            SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
            tv1.setText(sdf.format(cal.getTime())+" "+System.currentTimeMillis());                    
        }           
Run Code Online (Sandbox Code Playgroud)

}

multithreading android action

4
推荐指数
1
解决办法
1万
查看次数