Sponsored Content
Full Discussion: Red hat or free BSD?
Top Forums UNIX for Dummies Questions & Answers Red hat or free BSD? Post 769 by 98_1LE on Wednesday 17th of January 2001 08:39:52 AM
Old 01-17-2001
I would say that they are equally fast and stable. BSD is a more secure but has less applications floating around, while RedHat has the most support and applicaitions of any UNIX flavor. If you are comfortable with both and just plan on running a web server, I would suggest BSD. If you are going to use it personally to work on, I would suggest RedHat.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Free Bsd

i am installing FREEBSD and I would like to know which hardware specific network card that works and help with this would be great I am very new to this (UNIX) (1 Reply)
Discussion started by: BSD_NEWUSER
1 Replies

2. BSD

X-Windows Free BSD

so, i have a video card SIS s315 AGP and i can't cofigure X Free on free BSD to run X window. Anybody can help me solve this problem?? (2 Replies)
Discussion started by: Dmitri-br
2 Replies

3. BSD

Free BSD X window

Can anyone help me ? I have installed Free BSD several times and I can't get the X window to work . I have installed the ports Gnome and others but for some reason when I type start x doesn't work. I downloaded the 3 i386 disks but I get to install the first one wich complete the setup and... (3 Replies)
Discussion started by: skyhawkfly
3 Replies

4. News, Links, Events and Announcements

Red Hat Enterprise Linux - For Free!

CentOS 2 and 3 are a 100% compatible rebuild of the RHEL 2 and 3 versions, in full compliance with RedHat's redistribution requirements. It is for people who need an enterprise class OS without the cost of certification and support. Read more here. I've just installed it on a spare box and it... (0 Replies)
Discussion started by: zazzybob
0 Replies

5. UNIX for Dummies Questions & Answers

Hardware for UNIX/Free BSD

Hi! I'm planning to start to set up a Webserver. All software has to be freeware. I'm also planning to use Free BSD/UNIX for this project. Apache as Webserversystem and so on... Therefor I would like to have some info about what kind of hardware I need. I'm planning to buy a computer... (9 Replies)
Discussion started by: kargooliw
9 Replies

6. BSD

How to create IP table at Free BSD

Now, I had installed free bsd at my office. Unfortunitely, Email server have been using Local PoP3 and SMTP to our ISP with outlook. but my unix firewall sever ( free bsd ) didn't allow these port ( 110 & 25 ). How can i create the IP table to pass at server. If u have any experience about obvious... (4 Replies)
Discussion started by: Ashraff Ali
4 Replies

7. BSD

installing free BSD

Hello friends. I am new to Unix although i am very flexible to any programming language. i was a window user. Now, no more. I have decided myself to switch to unix. Here is my problem: I burned the free BSD into my new RW CD's. I inserted the bootable manager first then, it was scanning and... (5 Replies)
Discussion started by: bonjour2006
5 Replies

8. Red Hat

Free Cluster software with Red Hat Linux 5.0

Hi, I would like to know wheather any free cluster software is coming with Red Hat Ent Linux Medias? or needs to be purchased seperately. (3 Replies)
Discussion started by: manoj.solaris
3 Replies

9. UNIX for Dummies Questions & Answers

how to know if i use "Red Hat Enterprise Linux" or "Red Hat Desktop" ?

how to know if i use "Red Hat Enterprise Linux" or "Red Hat Desktop" ? (2 Replies)
Discussion started by: ahmedamer12
2 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 04:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy