Is there anyway for OpenStack to attach a physical disk directly? - openstack

I have a 2TB HDD, and I need to attach it to an instance directly.
However, I don't know how to operate.
PS: I am not seeking for a method to add this HDD into "cinder-volumes".

Have you checked "BDD" driver.. I'm still not sure about your question.. can you explain more..
BDD:
https://wiki.openstack.org/wiki/BlockDeviceDriver

Related

Is there a way of taking advantage of this for privilege escalation

penetration testing is a small hobby of mine, so I don't have a lot of experienced doing it. Keep that in mind when answering please.
I recently came across a network, where access to the C drive was blocked, so you couldn't access it by typing a path into Windows file manager, but there are some shortcuts on the desktop (which are the same and unchangeable for every standard user like me on the network), eg Photoshop, which if you do view file location on, you get into the C drive, and can navigate wherever you want. This made me think that that file viewer, which has access to the C drive has something special about it, and that I might be able to use it for some sort of privilege escalation, but being an amateur, I don't know if I'm correct, and I wouldn't be able to capitalise on it even if I was correct.
If someone could explain this to me, I would highly appreciate that. P.S.: the programming language I know best is python, and I have experience in using Kali Linux (I have a live bootable USB)

what is network programming

I've completed a program using java under eclipse, i have converted my code to .jar file and proceed to converting the .jar file to .exe file, I've even created an installer in connection to my .exe file. Every time i use the program to encode data, all of the data are recorded in the folder where my .exe file is located (to my local hard drive), the program is working just fine. The problem is, the concept of my program is not only to use it on my computer(one of the working station in our LAN) but also to deploy it to our local area network where in, i can encode data from one of our computer stations(client) and save those data to our server's hard disk and not to the computer station(client) hard disk as my current program is doing. I've made some research on how to achieved the concept of encoding data from a working station and save the data to the server's hard disk, so far i came up with TCP/IP programing and network programing. My question is, am i in the right path? If i proceed with this part of java will I achieved my goal or is there any other way of achieving my concept. I'm not really asking anybody to teach me how to achieved this goal, i am merely asking if I'm in the right path(study TCP/IP and network programing) or if i should study other part of java to achieved this concept. Please consider my way of asking, i feel very elementary, to be honest i have very less idea on TCP/IP programing and if TCP/IP is the correct topic to study to achieved my concept. Hoping that someone could give me a tip on this matter. Thank you and more power to stackoverflow.
You can certainly achieve your solution using network programming by writing a client and server, but depending on your needs it may not be the simplest solution.
For example, if you use the program from only one workstation at a time, you can output to a file saved on a shared network drive such as a windows shared folder or using nfs.
If you can set up a shared drive or folder from your sever that is accessible to all the workstations you are using, you can simply alter your program to read and write the data file into the network-shared directory.
If this will not work for you, then go ahead with learning sockets programming.
I suggest looking through the official documentation to get started:
http://docs.oracle.com/javase/tutorial/networking/sockets/

Regarding XenAPI Memory Issue

I am developing a small client application for monitoring XenServer using XenAPI provided by citrix. I am able to get all the values(cpu,n/w read,n/w write, diskread,diskwrite...) but facing the below issue.
Can anybody please help me out in getting the memory (total,free,used) usage for the VM's present in the Xenserver using XenAPI. I tried the above by using VM_guest_metrics api call of VM, but its giving me the empty results. Please help me in this regard.
I have taken SDK(XenAPI) from the below link
http://community.citrix.com/display/xs/Download+SDKs
Thanks in Advance for your help.
The recommended way to get the data is to use the XAPI Round Robin Database (RRD) that comes with XAPI.
http://wiki.xen.org/wiki/XAPI_RRDs
See also the tutorials from Xen Day:
http://wiki.xen.org/wiki/Creating_a_LVM_backed_XFS_SR
In particular, the "Nuts and Bolts" session by Steven Maresca.
See also the code in OpenXenManager:
http://sourceforge.net/projects/openxenmanager/ as it is an open source clone of Citrix XenCenter and has performance graphs using XAPI.

Does anyone offer free email/ssh provisions?

I wish to learn the UNIX SHELL can someone provide me with services such as these? SSH/POP etc?
To expand on Zach's reply, I recommend getting a Live Distro that you can run from a CD/etc without installing to hard-drive. Perfect for playing about without affecting your existing OS.
Pick one from www.livecdlist.com - ordered by votes, so probably best to go for one near the top. :)
If you have a Windows PC and you can install software on it, try Cygwin This gives you a Unix environment and a bash shell.
Have you had a look around this list?
There are a number of public/open access Unix systems (e.g. SDF) that offer free accounts which are usually quite restrictive (paid accounts provide more "rights", disk space, bandwidth, and access to more services). It's probably better to grab a free distribution of a Unix or Unix-like operation system and install it on your own computer. That way, you can play "administrator" and get your hands dirty.
If you want to play around with the Unix environment without destroying your current install, you could try using virtualization. A program called VirtualBox can let you run x86 operating systems in a contained environment, and if things go wrong, just delete the virtual machine and reinstall.
Or if you want just a shell, you could try Rootshell, which will give you an OpenBSD based shell. For a Linux based shell, Polarhome, can do that, as well as give you some other operating systems to play around with.
In my personal opinion though, I would try VirtualBox, because if you are just learning the shell, a GUI will be helpful when you need to fix or check on something that you might not know how to do in the shell.

How to avoid pauses when editing code on a network drive?

I'm planning on doing more coding from home but in order to do so, I need to be able to edit files on a Samba drive on our dev server. The problem I've run into with several editors is that the network latency causes the editor to lock up for long periods of time (Eclipse, TextMate). Some editors cope with this a lot better than others, but are there any file system or other tweaks I can make to minimize the impact of lag?
A few additional points:
There's a policy against having company data on personal machines, so I'd like to avoid checking out the code locally.
The mount is over a PPTP VPN connection.
Mounting to Linux or OS X client
Use a source control system — Subversion, Perforce, Git, Mercurial, Bazaar, etc. — so you're never editing code on a shared server. Instead you should be editing a local work area and committing changes to a repository located on the network.
Also, convince your company to adapt their policy such that company code is allowed on personal machines if it's on an encrypted volume. Encrypted disk images that you can use for this are trivial to create using Disk Utility, and can use strong cryptography. You can get even more security by not storing your encryption passphrase in your keychain, and instead typing it every time you mount the encrypted volume; this means that even if your local user account is compromised, as long as you don't have the volume mounted, nobody else will be able to mount it.
I did this all the time when I was consulting and none of my clients — some of whom had similar rules about company code — ever had a problem with it once I explained how things worked. (I think some of them even started using encrypted disk images even within their offices.)
Remate plugin simply disables this dreadful refresh-on-focus feature.
Download, unpack, doubleclick and choose "Disable Refresh on Regaining Focus" from "Window" menu (you can refresh manually by right-clicking project in drawer). Voila!
If you are accessing the data from your personal computer, it is in your RAM, so we will assume that you just can't store it on your hard drive, floppy, USB stick, etc.
Your solution is a RAM drive. Copy the files you need to edit there using whatever method you prefer (I would suggest source control) and then you can edit them without lag. When you are done commit them back to the server.
As was pointed out your editor may be caching changes to your temp directory, or maybe even your swap file (if it is in memory, then it can get swapped out). The solution to that is get a much larger RAM drive and run a Virtual Machine in the RAM drive. Not sure what OS you are running, but you can get a pretty slim install of most OS's if all you are doing is editing source code.
If you don't have enough RAM, then get a Gigabyte i-RAM solid state drive and remove the battery, that way it will lose everything when you power down.
Set your VMWare to not allow the OS to swap any of the virtual machine. Keep a baseline VM on your hard drive and copy it to your RAM drive before booting it up. Then you can use the hard drive in the VM like a hard drive, even though it is RAM.
Might be a good idea to run a secure erase on your RAM drive before powering down. Also keep in mind that they have found if you super cool a RAM chip before removing it from a functioning computer, and place it in a new computer quick enough, the data may still be intact.
I guess it all comes down to how detailed that policy is, and how it is interpreted.
Good luck!
Short answer: you can do no trick. CIFS is really geared towards LAN with a reasonably calm trafic, so you have zero chance to not suffer intermittent lag accessing a share through a VPN. The editor at some point needs to access the file in blocking IO, because it makes no real sense to do otherwise.
You could switch editor and use Emacs + TRAMP which is geared to work on remote files.

Resources