<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ITSA Blog</title>
	<atom:link href="http://itsecureadmin.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://itsecureadmin.com</link>
	<description>Life as an Open Source Solutions Architect.</description>
	<lastBuildDate>Fri, 03 Feb 2012 17:38:28 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>AWS Adds Object Expiration to S3!</title>
		<link>http://itsecureadmin.com/2012/01/aws-adds-object-expiration-to-s3/</link>
		<comments>http://itsecureadmin.com/2012/01/aws-adds-object-expiration-to-s3/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 16:07:10 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/?p=245</guid>
		<description><![CDATA[This is great news!
One of the headaches of managing any file/object store is pruning old data, although that is something we&#8217;ve all dealt with for years with standard filesystems and storage devices, this makes working in the cloud easier.  It&#8217;s applied by policy to a bucket (without versioning enabled).
Check it out in the S3 [...]]]></description>
			<content:encoded><![CDATA[<p>This is great news!</p>
<p>One of the headaches of managing any file/object store is pruning old data, although that is something we&#8217;ve all dealt with for years with standard filesystems and storage devices, this makes working in the cloud easier.  It&#8217;s applied by policy to a bucket (without versioning enabled).</p>
<p>Check it out in the <a href="http://docs.amazonwebservices.com/AmazonS3/latest/dev/ObjectExpiration.html">S3 Developer Guide</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2012/01/aws-adds-object-expiration-to-s3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enabling the binary log on a MySQL Replication Master</title>
		<link>http://itsecureadmin.com/2012/01/enabling-the-binary-log-on-a-mysql-replication-master/</link>
		<comments>http://itsecureadmin.com/2012/01/enabling-the-binary-log-on-a-mysql-replication-master/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:11:58 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/?p=234</guid>
		<description><![CDATA[A common task when working with MySQL is to enable binary logging which will allow you to add read only slaves (often a good idea even if you aren&#8217;t adding the replication slaves now).
According to the official MySQL documentation, there are only 3 steps required to enable binary logging:

assign a unique server-id to the server
assign [...]]]></description>
			<content:encoded><![CDATA[<p>A common task when working with MySQL is to enable binary logging which will allow you to add read only slaves (often a good idea even if you aren&#8217;t adding the replication slaves now).</p>
<p>According to the <a href="http://dev.mysql.com/doc/refman/5.5/en/replication-howto-masterbaseconfig.html">official MySQL documentation</a>, there are only 3 steps required to enable binary logging:</p>
<ol>
<li>assign a unique server-id to the server</li>
<li>assign a value to log-bin in the my.cnf file</li>
<li>restart the MySQL daemon</li>
</ol>
<p>Taking care of these first two steps is as simple as adding the following lines to the my.cnf under the <code>[mysqld]</code> section:</p>
<p><code>server_id = 10<br />
log_bin    = mysql-bin</code></p>
<p>It&#8217;s also a good idea to setup a limit on the binary log file size and number of days worth of logs to retain to prevent disk space issues.  Common values might be:</p>
<p><code>expire_logs_days  = 2<br />
max_binlog_size   = 100M</code></p>
<p>Note that all changes to the my.cnf require restarting the MySQL daemon to take effect, although some changes can be made on-line, like setting the expire_logs_days value.  Any changes must also be made to the my.cnf to persist upon restarts of MySQL.</p>
<p>It is my policy that no changes be made to the my.cnf file unless a restart is possible at the same time, otherwise you may end up with invalid changes (typos, etc..) in your my.cnf and MySQL may not come up the next time you need it.</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2012/01/enabling-the-binary-log-on-a-mysql-replication-master/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>List MySQL Table Space Consumption</title>
		<link>http://itsecureadmin.com/2011/12/list-mysql-table-space-consumption/</link>
		<comments>http://itsecureadmin.com/2011/12/list-mysql-table-space-consumption/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 18:44:12 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[Tip of the day!]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/2011/12/list-mysql-table-space-consumption/</guid>
		<description><![CDATA[Have you ever needed to print out a list of each table within MySQL and how much space was consumed?
Try this to list the top 20 space offenders:

SELECT engine, concat( table_schema, '.', table_name ) table_name,
concat( round( data_length / ( 1024 *1024 ) , 2 ) , 'M' ) data_length,
concat( round( index_length / ( 1024 *1024 [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever needed to print out a list of each table within MySQL and how much space was consumed?</p>
<p>Try this to list the top 20 space offenders:</p>
<pre>
SELECT engine, concat( table_schema, '.', table_name ) table_name,
concat( round( data_length / ( 1024 *1024 ) , 2 ) , 'M' ) data_length,
concat( round( index_length / ( 1024 *1024 ) , 2 ) , 'M' ) index_length,
concat( round( round( data_length + index_length ) / ( 1024 *1024 ) , 2 ) , 'M' ) total_size
FROM information_schema.TABLES
ORDER BY ( data_length + index_length ) DESC LIMIT 20
</pre>
<p>Taken from a comment on the mysql developer docs site:  http://dev.mysql.com/doc/refman/5.1/en/tables-table.html</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2011/12/list-mysql-table-space-consumption/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Software Support</title>
		<link>http://itsecureadmin.com/2011/11/open-source-software-support/</link>
		<comments>http://itsecureadmin.com/2011/11/open-source-software-support/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 00:30:25 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Open Source Software]]></category>
		<category><![CDATA[consulting]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/2011/11/open-source-software-support/</guid>
		<description><![CDATA[I am once again consulting.  If you have any needs related to open source software, let me know!
linux (at) itsecureadmin (dot) com
I specialize in Linux authentication and access control, OpenLDAP directory management, configuration management, and monitoring.
ITSA Consulting, LLC.
]]></description>
			<content:encoded><![CDATA[<p>I am once again consulting.  If you have any needs related to open source software, let me know!</p>
<p>linux (at) itsecureadmin (dot) com</p>
<p>I specialize in Linux authentication and access control, OpenLDAP directory management, configuration management, and monitoring.</p>
<p>ITSA Consulting, LLC.</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2011/11/open-source-software-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Encrypted Volume Management</title>
		<link>http://itsecureadmin.com/2011/09/encrypted-volume-management/</link>
		<comments>http://itsecureadmin.com/2011/09/encrypted-volume-management/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 19:22:48 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/2011/09/encrypted-volume-management/</guid>
		<description><![CDATA[A few weeks ago, I posted about how to add a pass-phrase to a LUKS encrypted volume.  After filling the 8 available slots, that would no longer be an option and you would need to remove some old pass-phrases or update existing slots to add new pass-phrases.
To list the slots, use the luksDump command:

cryptsetup [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I posted about how to add a pass-phrase to a LUKS encrypted volume.  After filling the 8 available slots, that would no longer be an option and you would need to remove some old pass-phrases or update existing slots to add new pass-phrases.</p>
<p>To list the slots, use the luksDump command:</p>
<pre>
cryptsetup luksDump /dev/sda2
</pre>
<p>This will print out each slot and whether or not it&#8217;s used so that you can remove some old ones.</p>
<p>You can use the luksChangeKey option to update or over-write an existing slot.</p>
<pre>
cryptsetup luksChangeKey /dev/sda2
</pre>
<p>After running this command, the actual operation performed was to remove key slot 4 (in my case) and add an entry to slot 0 for the new key.  Verified with luksDump again.</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2011/09/encrypted-volume-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Domain Auto-Enrollment / Hostname Management with Powershell (v2)</title>
		<link>http://itsecureadmin.com/2011/08/domain-auto-enrollment-hostname-management-with-powershell-v2/</link>
		<comments>http://itsecureadmin.com/2011/08/domain-auto-enrollment-hostname-management-with-powershell-v2/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 15:58:30 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/?p=222</guid>
		<description><![CDATA[I am realizing now that I need to get a git repo setup that is publicly accessible which will allow me to share scripts and other code snippets that I&#8217;m working on.
Here is the second iteration of the powershell domain/hostname management script that I&#8217;m working on.  It will also update the SQL Server dbname [...]]]></description>
			<content:encoded><![CDATA[<p>I am realizing now that I need to get a git repo setup that is publicly accessible which will allow me to share scripts and other code snippets that I&#8217;m working on.</p>
<p>Here is the second iteration of the powershell domain/hostname management script that I&#8217;m working on.  It will also update the SQL Server dbname to reflect the hostname change on SQL Server 2008 boxes.</p>
<pre>
# This script will re-initialize domain membership and change the hostname to reflect the
# hexadecimal representation of the IP address assigned on boot.
#
# Author:  Josh Miller
# Date:    8/12/2011
#
# Note that there are 4 possible conditions that a host may come up in:
# 1. valid domain, invalid hostname
#    (although domain membership is invalid)
# 2. invalid domain, invalid hostname
# 3. invalid domain, valid hostname
# 4. valid domain, valid hostname
#
# The actions that will be taken for each of these conditons are:
# 1. leave domain, reboot
# 2. change hostname, reboot
# 3. join domain, reboot
# 4. do nothing, final condition
#
# Setup:
# 1. setup scheduled task to run on start-up as local administrator
# 2. create bat file to execute this powershell script, ie:
#   powershell -command "&amp; 'c:\tools\powershell\domain.ps1' "
# 3. create AMI/template on network with DHCP
# 4. join to domain
# 5. verify that scheduled task is running as local administrator, bear
#    in mind that hostnames change frequently and just before you clone/
#    create the AMI, set the credentials again.
#
# Note:  this should really not work.  Once the hostname changes and the
#        machine reboots, it should not have permission to run one more
#        time to join the domain.  I don't understand why it works.  The
#        next run fails due to lack of permissions which is understandable
#        and acceptable.
#

# join domain values
$domain = "domain.com"
$user   = "domain\ad_user"
$pass   = "mysecret"

$secpassword = ConvertTo-SecureString $pass -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential($user, $secpassword)

# hostname to operate against - typically this host
$scripthost = get-content env:computername

# Leave the domain.
function LeaveDomain {

  Add-Computer -WorkGroupName "WorkGroup" -Credential $credentials

}

# Join the domain.
function JoinDomain {

  Add-Computer -DomainName $domain -Credential $credentials

}

# Restart the machine
function RestartMachine {

  Restart-Computer -Force

}

# Function to set hostname to hexadecimal representation of IP address
function SetHexHostname ([string] $setHostName) {

  # Return value of 5    means 'Access denied'.
  # Return value of 1326 means 'Logon failure: unknown username or bad password'.

  $computerinfo = Get-WmiObject -Class Win32_ComputerSystem
  $computerinfo.Rename( $setHostName )

}

# Function to get hostname as hexadecimal representation of IP address
function GetHexHostname {

  $getHostName = "" ;

  # Get IP Address of host
  $myIpAddress = "{0:x}" -f (Get-WmiObject Win32_NetworkAdapterConfiguration | ? { $_.IPAddress -ne $null}).ipaddress

  # split ip into 4 octets, prep to convert to hexadecimal
  $octets = $myIpAddress.split(".")

  foreach ($octet in $octets) {

    $hexOctet = [System.String]::Format("{0:X}",[System.Convert]::ToUInt32($octet))

    # Prepend 0 to beginning if less than 2 digits
    if ( $hexOctet.Length -lt 2 ) {
      $hexOctet = "0" + "$hexOctet"
    }

    $getHostName = "$getHostName" + "$hexOctet"
  }

  $getHostName = "IP-" +  $getHostName

  Return $getHostName

}

# Function updates the dbname with hostname - always assumes needs changed.
function SetDBName ([string] $setDBName) {

  # Get SQL server version
  #  8.x = 2000
  #  9.x = 2005
  # 10.x = 2008
  $server_version = Invoke-Sqlcmd -Query "Select serverproperty('productversion') as version;"
  $sql_version    = $server_version.version

  if ( $sql_version -lt 9 ) {

    # works for sql2000
    $results = Invoke-Sqlcmd -Query "select srvname from sysservers;"
    $current_dbname = $results.srvname

  } else {

    # works for sql2005/2008
    $results = Invoke-Sqlcmd -Query "select name from sys.servers;"
    $current_dbname = $results.name

  }

  if ( $setDBName.CompareTo($current_dbname) -ne 0 ) {

    Write-Host "Updating DBName to match hostname"

    $drop_dbname = Invoke-Sqlcmd -Query "exec sp_dropserver '$current_dbname';"
    $add_dbname  = Invoke-Sqlcmd -Query "exec sp_addserver  '$setDBName', local;"

  }

}

#                                       #
# Start program execution.  #
#                                       #

# Ensure hostname is properly set
$testHostname = GetHexHostname

# Is admin share available?
if ( ! ( Test-Path \\$scripthost\admin$ ) -eq "TRUE") {
  Write-Host "Unable to access admin share."
  exit
}

$ObjReg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $scripthost)
$ObjRegKey = $ObjReg.OpenSubKey("SYSTEM\\CurrentControlSet\\services\\Tcpip\\Parameters")
$DomName = $ObjRegKey.GetValue("Domain")

if ( $DomName -eq $domain ) {

  Write-Host "Valid domain."

  if ( $testHostName.CompareTo( $scripthost ) -ne 0 ) {

    Write-Host "Invalid hostname, leaving domain."

    LeaveDomain
    RestartMachine

  } else {

    Write-Host "Valid domain and hostname."

  }

} else {

  Write-Host "Invalid domain."

  if ( $testHostName.CompareTo( $scripthost ) -ne 0 ) {

    Write-Host "Hostname not set correctly, setting to $testHostName"
    SetHexHostname ( $testHostname )
    SetDBName ( $testHostname )

  } else {

    Write-Host "Valid hostname, joining domain."
    JoinDomain

  }

  # Restart after either changing hostname or joining domain.
  RestartMachine

}
</pre>
<p>As always, let me know if you have any improvements, bugs, suggestions, etc.. at:<br />
    linux (at) itsecureadmin (dot) com</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2011/08/domain-auto-enrollment-hostname-management-with-powershell-v2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update ssh private key pass phrase.</title>
		<link>http://itsecureadmin.com/2011/08/update-ssh-private-key-pass-phrase/</link>
		<comments>http://itsecureadmin.com/2011/08/update-ssh-private-key-pass-phrase/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 18:10:12 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/2011/08/update-ssh-private-key-pass-phrase/</guid>
		<description><![CDATA[I like to keep certain pass words in sync with one another as I perform gigs for various clients and adhere to pass word policies for each company.   As part of the password update, I typically need to update my SSH key pass phrase using the following command:

$ ssh-keygen -f ~/.ssh/id_rsa  -p

Note [...]]]></description>
			<content:encoded><![CDATA[<p>I like to keep certain pass words in sync with one another as I perform gigs for various clients and adhere to pass word policies for each company.   As part of the password update, I typically need to update my SSH key pass phrase using the following command:</p>
<pre>
$ ssh-keygen -f ~/.ssh/id_rsa  -p
</pre>
<p>Note that the filename in question is my private key, specified by the <code>-f</code>.</p>
<p>That allows me to keep the same password across a single client or organization.</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2011/08/update-ssh-private-key-pass-phrase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Domain Auto-Enrollment / Hostname Management with Powershell</title>
		<link>http://itsecureadmin.com/2011/07/domain-auto-enrollment-hostname-management-with-powershell/</link>
		<comments>http://itsecureadmin.com/2011/07/domain-auto-enrollment-hostname-management-with-powershell/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 20:33:43 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/?p=214</guid>
		<description><![CDATA[I am working on a project where I spin up a number of Windows servers into AWS and had to automate the AD enrollment and hostname setting.  To do this, I used the following powershell script which I setup as a scheduled task to run at startup and then create an AMI and/or template [...]]]></description>
			<content:encoded><![CDATA[<p>I am working on a project where I spin up a number of Windows servers into AWS and had to automate the AD enrollment and hostname setting.  To do this, I used the following powershell script which I setup as a scheduled task to run at startup and then create an AMI and/or template from the instance.</p>
<p>This script could use some additional error checking and validation and is a work in progress.</p>
<pre>
#
# Verify hostname and domain membership.
# - Fix if not valid.
#

#
# There are 4 possible states that this script accounts for:
#
# 1. Computer is a valid member of the domain with proper hostname.
# 2. Computer is an invalid member of the domain.
# 3. Computer is not a member of the domain.
# 4. Computer has an invalid hostname.
#
# There are 4 possible scenarios that must be played out with relation to
# the above states:
# 1. Do nothing.
# 2. Remove computer from domain and reboot (essentially places computer in state 3 on boot).
# 3. Join the domain, reboot.
# 4. Change hostname, reboot.
#
# Note that some machines may go through each of the 4 states before finishing configuration.
#

#
# join domain values
#
$domain = "MYDOMAIN"
$user   = "MYDOMAIN\MYUSER"
$pass   = "MYSECRET"

#
# Function to set hostname to hexadecimal representation of IP address
# to ensure unique hostname among environments.
#
function SetHexHostname {

  $hostName ;

  # Get IP Address of host
  $myIpAddress = "{0:x}" -f (Get-WmiObject Win32_NetworkAdapterConfiguration | ? { $_.IPAddress -ne $null}).ipaddress

  # split ip into 4 octets, prep to convert to hexadecimal
  $octets = $myIpAddress.split(".")

  foreach ($octet in $octets) {

    $hexOctet = [System.String]::Format("{0:X}",[System.Convert]::ToUInt32($octet))

    # Prepend 0 to beginning if less than 2 digits
    if ( $hexOctet.Length -lt 2 ) {
      $hexOctet = "0" + "$hexOctet"
    }

    $hostName = "$hostName" + "$hexOctet"
  }

  $hostName = "IP-" +  $hostName

  #
  # If the hostname does not match, change it.
  #
 if ( $hostName.CompareTo( $scriptHost ) -ne 0 ) {

    #
    # Must perform as domain member with privileges to update AD with new name
    # - or as local admin when not a member of domain?
    #

    $computerinfo = Get-WmiObject -Class Win32_ComputerSystem
    $computerinfo.Rename( $hostName )
  }

}

$secpassword = ConvertTo-SecureString $pass -AsPlainText -Force
$credentials = New-Object System.Management.Automation.PSCredential($user, $secpassword)

#
# hostname to operate against - typically this host
#
$scripthost = get-content env:computername

#
# Check this location for domain membership details.
#
$adminpath = Test-Path \\$scripthost\admin$

#
# Is admin share available?
#
if ($adminpath -eq "TRUE") {

  $ObjReg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $scripthost)
  $ObjRegKey = $ObjReg.OpenSubKey("SYSTEM\\CurrentControlSet\\services\\Tcpip\\Parameters")
  $DomName = $ObjRegKey.GetValue("Domain")

  #
  # If domain member of domain, validate membership
  #
  if ( $DomName -eq $domain ) {

    Write-Host "$scripthost is a member of $DomName"

    #
    # Validate domain membership
    #
    $job = Start-Job -Credential $credentials -ScriptBlock { Test-ComputerSecureChannel }
    Wait-Job $job | Out-Null
    $validDomainMember = Receive-Job $job
    Remove-Job $job

    if ( $validDomainMember ) {

      Write-Host "Valid domain member"

      #
      # After validating domain membership, change hostname.
      #
      # - This has an unfortunate side effect of not allowing the script to run any more due
      #   to the job being scheduled as a local admin (with hostname).
      #
      SetHexHostname

    } else {
      write-host "Not a valid domain member"

      #
      # Leave domain by joing workgroup "workgroup" and restart.
      #
      Add-Computer -WorkGroupName "WorkGroup" -Credential $credentials
      Restart-Computer -ComputerName $scripthost

    }

  } else {

    write-host "Not part of domain, joining $domain"
    Add-Computer -DomainName $domain -Credential $credentials
    Restart-Computer -ComputerName $scripthost

  }

} else {

  Write-Host "$scripthost: Computer not found or no access to admin share for me"

}
</pre>
<p>(Note:  does not work on 2003 R2 due to some winRM issues &#8212; if you know how to resolve this, please contact me.)</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2011/07/domain-auto-enrollment-hostname-management-with-powershell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fedora 15 Automatic Updates</title>
		<link>http://itsecureadmin.com/2011/07/fedora-15-automatic-updates/</link>
		<comments>http://itsecureadmin.com/2011/07/fedora-15-automatic-updates/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 14:59:58 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/?p=211</guid>
		<description><![CDATA[Now why would a Linux distribution have automatic updates?  They don&#8217;t.  They never have.  They allow the user to maintain software updates without intervention.  Automation is performed by the administrator and that&#8217;s why most folks use Linux.
Not any more.
I was tailing the system log on my Fedora 15 desktop yesterday when [...]]]></description>
			<content:encoded><![CDATA[<p>Now why would a Linux distribution have automatic updates?  They don&#8217;t.  They never have.  They allow the user to maintain software updates without intervention.  Automation is performed by the administrator and that&#8217;s why most folks use Linux.</p>
<p>Not any more.</p>
<p>I was tailing the system log on my Fedora 15 desktop yesterday when I see this message roll across the display:</p>
<pre>
Jul 14 16:32:14 my-desktop dbus-daemon: [system] Activating service name='org.freedesktop.PackageKit' (using servicehelper)
Jul 14 16:32:14 my-desktop dbus-daemon: [system] Successfully activated service 'org.freedesktop.PackageKit'
Jul 14 16:33:53 my-desktop yum[18560]: Updated: 32:bind-license-9.8.0-7.P4.fc15.noarch
Jul 14 16:33:55 my-desktop yum[18560]: Updated: 32:bind-libs-9.8.0-7.P4.fc15.i686
Jul 14 16:33:59 my-desktop yum[18560]: Updated: 32:bind-utils-9.8.0-7.P4.fc15.i686
Jul 14 16:34:01 my-desktop yum[18560]: Updated: 32:bind-libs-lite-9.8.0-7.P4.fc15.i686
Jul 14 16:34:03 my-desktop yum[18560]: Updated: kernel-headers-2.6.38.8-35.fc15.i686
Jul 14 16:34:15 my-desktop yum[18560]: Installed: kernel-devel-2.6.38.8-35.fc15.i686
Jul 14 16:34:28 my-desktop yum[18560]: Installed: kernel-2.6.38.8-35.fc15.i686
</pre>
<p>Now I&#8217;m no fan of PackageKit.  I dislike the new era of deveopers who have come in and name their daemons, packages, and config files in camel case going against the long running standard of using all lower case.  This is especially true of anything with a Kit appended to the name.  This is the same movement that is trying to take the desktop with Linux and destroying the simple nature of a beautiful system.</p>
<p>Now, here is how you disable the automatic updates:<br />
1. Install or confirm that you have gnome-packagekit installed.<br />
2. Run &#8216;gpk-prefs&#8217; and configure it to never check for any updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2011/07/fedora-15-automatic-updates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jenkins Slave Authentication</title>
		<link>http://itsecureadmin.com/2011/07/jenkins-slave-authentication/</link>
		<comments>http://itsecureadmin.com/2011/07/jenkins-slave-authentication/#comments</comments>
		<pubDate>Fri, 08 Jul 2011 21:59:20 +0000</pubDate>
		<dc:creator>Josh Miller, Red Hat Certified Engineer</dc:creator>
				<category><![CDATA[Open Source Software]]></category>

		<guid isPermaLink="false">http://itsecureadmin.com/?p=209</guid>
		<description><![CDATA[Note that the following applies to a Windows Slave connecting to a Linux master.
When implementing authentication with Jenkins and using slaves, it is important to allow slaves to authenticate to the master in order to continue working.  When using the JNLP protocol with slaves, the following may be done to authenticate slaves to the [...]]]></description>
			<content:encoded><![CDATA[<p>Note that the following applies to a Windows Slave connecting to a Linux master.</p>
<p>When implementing authentication with Jenkins and using slaves, it is important to allow slaves to authenticate to the master in order to continue working.  When using the JNLP protocol with slaves, the following may be done to authenticate slaves to the master:</p>
<p>1. Edit the jenkins-slave.xml to reflect the following arguments &#8212; append to the end:</p>
<pre>
-classpath "%BASE%\lib\commons-codec-1.5.jar" -jnlpCredentials username:password -noCertificateCheck
</pre>
<p>Once that is complete, download the common-codec-1.5.jar and place in the lib directory within the jenkins slave working directory (you will have to create this if it does not yet exist).</p>
<p>Download from:</p>
<p>http://commons.apache.org/codec/download_codec.cgi</p>
<p>Next, restart the Jenkins Slave service on the slave and verify.</p>
]]></content:encoded>
			<wfw:commentRss>http://itsecureadmin.com/2011/07/jenkins-slave-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

