Sponsored Content
The Lounge What is on Your Mind? Best resources for learning pentesting (not black hat!!!) Post 302531225 by U_C_Dispatj on Thursday 16th of June 2011 06:19:44 AM
Old 06-16-2011
Quote:
Originally Posted by pludi
From the Jargon File:

Quote:
A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users.
I much prefer that definition. That is much more descriptive of what it is to be a "hacker".

Also current affairs don't fill me with much hope for the word "hacker" ever being seen as something positive by the media etc.
 

10 More Discussions You Might Find Interesting

1. IP Networking

TCP/IP Black Book

hi there, i read in Amazon.com that there is this TCP/IP black book which is supposed to give a in-depth knowledge of TCP/IP. Is it the one from Microsoft ??? was wondering how the expereinced ones feel about this book ? any recommadntions on good,in--depth TCP/IP books ? thanks (3 Replies)
Discussion started by: happyfish
3 Replies

2. Solaris

Learning solaris 10 resources

This is my site and i hope it is useful for unix beginner http://www.learning-solaris.com (0 Replies)
Discussion started by: hoanginlove81
0 Replies

3. What is on Your Mind?

Invitation to Black hole !

What's on Your Mind? Come inside and relax a while. The highlighted portion is not applicable for this post, we will forget about that a little bit. CERN's experiment - on big bang Start of historic LHC collider experiment nears - Science Countdown to LHC 'Big Bang' experiment begins -... (0 Replies)
Discussion started by: matrixmadhan
0 Replies

4. Shell Programming and Scripting

Get Black Screen for 10secs

I was thinking if there is a way that i can go about making my screen go black automatically for about 10seconds, (with a message like "take a break" printed on the screen) and after 10seconds everything comes back to normal.... is there any way that i can do this...??? to further clarify the... (2 Replies)
Discussion started by: c_d
2 Replies

5. Red Hat

RHCE Servers Online Learning Resources..

Anybody knows about any reliable source where i can study Linux servers while sitting at my home. A single bit of information in this regards will be highly appreciated. thanks :-) (3 Replies)
Discussion started by: salman103
3 Replies

6. Solaris

free learning resources and training from Sun microsystems plus discounted Certification Voucher

Hi all, If you are interested on taking Sun microsystems training from Java to business skills , if so drop by SAI program it's free for students and Educational Institutions (0 Replies)
Discussion started by: h@foorsa.biz
0 Replies

7. Red Hat

Black Screen

I am using Intel HD 400 Graphics on a laptop. When I logout, I get a black screen with no cursor or anything. I have to hard reboot the system to get into linux again. Working on RHEL 6 (gnome) (1 Reply)
Discussion started by: sunveer
1 Replies

8. Shell Programming and Scripting

No delete black spaces!

Hi, I have the next problem, i am triying to concatenate two variables with white spaces at the cornes, but the shell deletes them. For example i have the next code: A="Hello " B="Hello" echo $A$B output: Hello Hello You can see only one space between the words, and i put 5... (5 Replies)
Discussion started by: Xedrox
5 Replies

9. UNIX for Dummies Questions & Answers

Screen Goes Black When Run startx

Have - HP G4p DL360 SCSI version (*see below of pdf of server basics if needed) Scientific Linux live-cd.iso Issue - When it boots off the LiveCD, all starts swell, but if I install the OS normal it goes to a black monitor.... If I install text only, it works and when done I am at the... (4 Replies)
Discussion started by: sas
4 Replies

10. Shell Programming and Scripting

Showing a black screen

Hi all, Is there a way, on the command line, to show a black screen WITHOUT turning off the monitor? Also, is there a way to make the computer show the last screen before the black screen as soon as the user interacts with it? I know that there are various ways to turn off the computer, or... (8 Replies)
Discussion started by: Zel2008
8 Replies
AA_CHANGE_HAT(2)						     AppArmor							  AA_CHANGE_HAT(2)

NAME
aa_change_hat - change to or from a "hat" within a AppArmor profile SYNOPSIS
#include <sys/apparmor.h> int aa_change_hat (char *subprofile, unsigned long magic_token); Link with -lapparmor when compiling. DESCRIPTION
An AppArmor profile applies to an executable program; if a portion of the program needs different access permissions than other portions, the program can "change hats" to a different role, also known as a subprofile. To change into a new hat, it calls the aa_change_hat() function to do so. It passes in a pointer to the subprofile which it wants to change into, and a 64bit magic_token. The magic_token is used to return out of the subprofile at a later time. If a program wants to return out of the current subprofile to the original profile, it calls aa_change_hat() with a pointer to NULL as the subprofile, and the original magic_token value. If the magic_token does not match the original magic_token passed into the kernel when the program entered the subprofile, the change back to the original profile will not happen, and the current task will be killed. If the magic_token matches the original token, then the process will change back to the original profile. If the program wants to change to a subprofile that it can never change back out of, the application should call aa_change_hat() with a magic_token of 0. As both read(2) and write(2) are mediated, a file must be listed in a subprofile definition if the file is to be accessed while the process is in a "hat". RETURN VALUE
On success zero is returned. On error, -1 is returned, and errno(3) is set appropriately. ERRORS
EINVAL The apparmor kernel module is not loaded or the communication via the /proc/*/attr/current file did not conform to protocol. ENOMEM Insufficient kernel memory was available. EPERM The calling application is not confined by apparmor. ECHILD The application's profile has no hats defined for it. EACCES The specified subprofile does not exist in this profile or the process tried to change another process's domain. EXAMPLE
The following code examples shows simple, if contrived, uses of aa_change_hat(); a typical use of aa_change_hat() will separate privileged portions of a process from unprivileged portions of a process, such as keeping unauthenticated network traffic handling separate from authenticated network traffic handling in OpenSSH or executing user-supplied CGI scripts in apache. The use of random(3) is simply illustrative. Use of /dev/urandom is recommended. First, a simple high-level overview of aa_change_hat() use: void foo (void) { unsigned long magic_token; /* get a random magic token value from our huge entropy pool */ magic_token = random_function(); /* change into the subprofile while * we do stuff we don't trust */ aa_change_hat("stuff_we_dont_trust", magic_token); /* Go do stuff we don't trust -- this is all * done in *this* process space, no separate * fork()/exec()'s are done. */ interpret_perl_stuff(stuff_from_user); /* now change back to our original profile */ aa_change_hat(NULL, magic_token); } Second, an example to show that files not listed in a subprofile ("hat") aren't accessible after an aa_change_hat() call: #include <stdlib.h> #include <string.h> #include <sys/apparmor.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <unistd.h> int main(int argc, char *argv[]) { int fd; unsigned long tok; char buf[10]; /* random() is a poor choice */ tok = random(); /* open /etc/passwd outside of any hat */ if ((fd=open("/etc/passwd", O_RDONLY)) < 0) perror("Failure opening /etc/passwd"); /* confirm for ourselves that we can really read /etc/passwd */ memset(&buf, 0, 10); if (read(fd, &buf, 10) == -1) { perror("Failure reading /etc/passwd pre-hat"); _exit(1); } buf[9] = ''; printf("/etc/passwd: %s ", buf); /* change hat to the "hat" subprofile, which should not have * read access to /etc/passwd -- even though we have a valid * file descriptor at the time of the aa_change_hat() call. */ if (aa_change_hat("hat", tok)) { perror("Failure changing hat -- aborting"); _exit(1); } /* confirm that we cannot read /etc/passwd */ lseek(fd,0,SEEK_SET); memset(&buf, 0, 10); if (read(fd, &buf, 10) == -1) perror("Failure reading /etc/passwd post-hat"); buf[9] = ''; printf("/etc/passwd: %s ", buf); return 0; } This code example requires the following profile to be loaded with apparmor_parser(8): /tmp/ch { /etc/ld.so.cache mr, /etc/locale/** r, /etc/localtime r, /usr/share/locale/** r, /usr/share/zoneinfo/** r, /usr/lib/locale/** mr, /usr/lib/gconv/*.so mr, /usr/lib/gconv/gconv-modules* mr, /lib/ld-*.so* mrix, /lib/libc*.so* mr, /lib/libapparmor*.so* mr, /dev/pts/* rw, /tmp/ch mr, /etc/passwd r, ^hat { /dev/pts/* rw, } } The output when run: $ /tmp/ch /etc/passwd: root:x:0: Failure reading /etc/passwd post-hat: Permission denied /etc/passwd: $ BUGS
None known. If you find any, please report them to bugzilla at <http://bugzilla.novell.com>. Note that aa_change_hat(2) provides no memory barriers between different areas of a program; if address space separation is required, then separate processes should be used. SEE ALSO
apparmor(7), apparmor.d(5), apparmor_parser(8), and <http://forge.novell.com/modules/xfmod/project/?apparmor>. NOVELL
/SUSE 2007-07-27 AA_CHANGE_HAT(2)
All times are GMT -4. The time now is 03:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy