Replace my ADS / File sharing windows 2008 with Ubuntu 18.04?

Good day. I’m trying to replace my ADS / File sharing windows 2008 with Ubuntu 18.04 server. I have installed OpenLDAP, Samba and some other packages. I just have to make sure that, 1. Create an domain with ADS and user logs in to that domain. 2. Share files and folders after creating users and group. 3. Share printers in that domain.

These are simple steps but I am held up somewhere. Can anyone just outlay a plan as to how do I go about this? Just simple methods would help me a lot. In case you have detailed step by step guide, I shall be much obliged. Thanks for helping me out.

double-new attack? replace contact method twice so that the “new” and “old” one are both attacker-controlled

With some services, if an attacker changes the value of a user’s contact information (email address, for example), when the user tries to recover their account, they can use either the new or the old value for contact information to do the account recovery, precisely to guard against the attack where the attacker tries to block account recovery by changing the contact information.

The problem is that some services implement this incorrectly, so that if you just change the contact information twice, these values become the values for the “new” and “old” contact information, which means the attacker just has to change the email address twice and now they control both addresses.

It seems the correct implementation would be that when an “old” value has to have a minimum time being the “old” value before it can be “aged out”. So if you change your email address from A to B, then the stored values would be: current_value: B old_value: A But then if you immediately change your email address to C, then the values should be: current_value: C old_value: A rather than updating old_value to B. And then if you wait some time period (say, two weeks) so that A can now actually be aged out, then if you change your email address from C to D, then the stored values become: current_value: D old_value: C

Is this a documented attack that has a name? (“double-new” seems inelegant.) Does this seem like the correct mitigation?

Powershell script to find and replace words based on asset tag input

Can someone please help me modify this script to generate and modify the document faster? It currently takes about 5-10 seconds to create the variables. About 10 seconds for the entire script to run.

Here is the code for the script:

Copy Word Template to Local C Drive:

Copy-Item \\allaccess\Scripts\transfer2.docx C:\ 

Create Replace-Word Function:

function Replace-Word(     [string]$  Document,     [string]$  FindText,     [string]$  ReplaceText ) {     $  ReplaceAll = 2     $  FindContinue = 1      $  MatchCase = $  false     $  MatchWholeWord = $  true     $  MatchWildcards = $  false     $  MatchSoundsLike = $  false     $  MatchAllWordForms = $  false     $  Forward = $  true     $  Wrap = $  FindContinue     $  Format = $  false      $  Word = New-Object -ComObject Word.Application     $  Word.Visible = $  false      $  OpenDoc = $  Word.Documents.Open($  Document)     $  Selection = $  Word.Selection      $  Selection.Find.Execute(         $  FindText,         $  MatchCase,         $  MatchWholeWord,         $  MatchWildcards,         $  MatchSoundsLike,         $  MatchAllWordForms,         $  Forward,         $  Wrap,         $  Format,         $  ReplaceText,         $  ReplaceAll     ) | Out-Null      $  OpenDoc.Close()     $  Word.Quit() } 

Prompt user for information and generate several variables:

$  assettag = Read-Host -Prompt 'Input Asset Tag' $  fullasset = id              : 3973 name              : XTX-L-25677 asset_tag         : 25677 serial            : XXXXXX model             : @{id=1440; name=Dell Latitude 5591} model_number      : eol               : @{date=2018-08-06; formatted=Aug 6, 2018} status_label      : @{id=6; name=Deployed; status_type=deployable; status_meta=deployed} category          : @{id=1; name=Laptop} manufacturer      : @{id=1; name=Dell} supplier          : @{id=6; name=Dell} notes             : order_number      : company           : @{id=2; name=SITE} location          : rtd_location      : @{id=287; name= Technology Division} image             : assigned_to       : @{id=2672; username=first; name=first last; first_name=First; last_name=last; warranty_months   : warranty_expires  : created_at        : @{datetime=2018-08-14 09:41:00; formatted=Aug 14, 2018 9:41AM} updated_at        : @{datetime=2019-06-11 10:23:38; formatted=Jun 11, 2019 10:23AM} last_audit_date   : next_audit_date   : deleted_at        : purchase_date     : @{date=2018-08-06; formatted=Aug 6, 2018} last_checkout     : @{datetime=2019-06-10 08:40:22; formatted=Jun 10, 2019 8:40AM} expected_checkin  : purchase_cost     : checkin_counter   : 2 checkout_counter  : 3 requests_counter  : 0 user_can_checkout : False custom_fields     : @{User=; Computer Type=; OS=; Memory=; Processor=; Wired MAC=; Wireless MAC=} available_actions : @{checkout=True; checkin=True; clone=True; restore=False; update=True; delete=True}  $  model1,$  serial,$  location1,$  category1,$  status1 = ($  fullasset).model,$  fullasset).serial, ($  location1).Name, ($  fullasset).category, ($  fullasset).category $  model,$  location,$  category,$  status = ($  model1).Name,($  location1).Name,($  category1).Name,($  status1).name  $  date = Get-Date -Format "M-dd-yy" $  dom = $  env:userdomain $  usr = $  env:username $  name = ([ADSI]"WinNT://$  dom/$  usr,user").FullName $  category = ($  category1).Name $  status = ($  status1).Name 

Use generated variables and Replace-Word function to modify document:

Replace-Word -Document C:\transfer2.docx -FindText '$  assettag' -ReplaceText $  assettag Replace-Word -Document C:\transfer2.docx -FindText '$  model' -ReplaceText $  model Replace-Word -Document C:\transfer2.docx -FindText '$  location' -ReplaceText $  location Replace-Word -Document C:\transfer2.docx -FindText '$  date' -ReplaceText $  date Replace-Word -Document C:\transfer2.docx -FindText '$  serial' -ReplaceText $  serial Replace-Word -Document C:\transfer2.docx -FindText '$  x' -ReplaceText $  x Replace-Word -Document C:\transfer2.docx -FindText '$  status' -ReplaceText $  status Replace-Word -Document C:\transfer2.docx -FindText '$  category' -ReplaceText $  category Replace-Word -Document C:\transfer2.docx -FindText '$  name' -ReplaceText $  name 

Please let me know if there is anything I can consolidate or modify to improve speed.

how do I replace and redirect wikipedia search result url to offline localhost zim server?

I made a localhost wikipedia server via Zimserver using below script:

#!/usr/bin/env python3 import os import subprocess import sys import threading  from zimply import ZIMServer ZIMServer("/home/user/zim/wikipedia_en_all_novid_2018-05.zim", index_file="/home/user/zim/wikipedia_en_all_novid_2018-05.idx", port=8791, encoding="utf-8") 

When I search something in google I get the search url something like 

its counterpart in localhost is


notice the .html suffix and /wiki/ to /A/ transition.

When I click the url in the google search result it must be opened in the redirected localhost server as I stated above.

Why not replace reflection by bounded reflection in Muller’s approach?

Bounded Reflection: If $ \phi$ is a formula in the language of set theory [i.e.; $ \small \sf FOL(=,\in)$ ], in which all and only symbols $ “y,x_1,..,x_n”$ occur free, and $ \phi^V$ is the formula obtained by merely bounding all quantifiers in $ \phi$ by $ V$ , then all closures of: $ $ x_1,..,x_n \in V \land \forall y (\phi \to y \in V) \ \to \exists x \in V \forall y \in V(y \in x \leftrightarrow \phi^V) $ $ ; are axioms.

Now if we add this principle to the axioms of Extensionality and Super-transitivity, that is: $ V$ is a transitive class that is closed under subclass relation $ \subset$ ; and Separation [using any formula], and Foundation, both over all classes. Then it appears to me that $ V \models ZF$

My question here is: does this theory prove that $ V$ is inaccessible?

I personally suspect that it does not. My point here is that if my suspicion turns to be true, then this theory would have been the one that most capture Muller’s principles about a foundational theory for mathematics, rather than just extending Ackermann’s class theory with a class separation schema as he did. Since in that case we won’t have $ V$ being a model of $ ZF$ , thus lacking a very desirable thing to have if our class theoretic based category theory is to be sufficient [in Muller’s sense] in capturing set theoretic properties! For example: sets have a model!

Note: $ V$ is a primitive constant, informally standing for the class of all sets, as we are working in the language of Ackermann’s set theory.

layout builder replace panel page?

it takes too much time to follow and learn what’s going on with the new function. for this layout builder, I just want to know if its the replacement of the D7 panel page? 

at the moment, I can see the layout builder showing on the content type display section. but I don’t see it can create whatever pages like the way what panel page does in D7 ? there is no detail instruction for how this function going on. 

Please advise, if I want the function like D7 panel page to create a landing page with drap-drop to add the block and views in. show I use layout builder or I should stay with panel page 8 ? but in the panel page 8, I don’t see a flexible layout function there yet. 

Please advise. Thank you.

Replace values in R data frame according to values in other data frame

I would like to change row names values from a first data frame if these rows names are present in another data frame, and change it to a corresponding value (defined in the second data frame). I could do it with a for loop, but I wonder what would be some other more suitable ways to do it in R.

Here is a toy dataset (my real dataset has 10^5 rows):

df <- data.frame("sample_1" = rep(0,3), "sample_2" = rep(0,3), row.names = paste0('gene_', seq(1, 3)), stringsAsFactors = FALSE) annotation <- data.frame("gene" =  paste0('gene_', seq(1, 2)), 'name' = paste0('name_', seq(1, 2)), stringsAsFactors = FALSE) df$  gene <- rownames(df) 

Initial data frames:

df         sample_1 sample_2   gene gene_1        0        0 gene_1 gene_2        0        0 gene_2 gene_3        0        0 gene_3  annotation     gene   name 1 gene_1 name_1 2 gene_2 name_2 

Solution found:

for (x in rownames(df)){   if (x %in% annotation$  gene){     df[x,]$  gene <- annotation$  name[which(annotation$  gene == x)]   } } rownames(df) <- df$  gene df$  gene <- NULL 

Resulting data frame:

df        sample_1 sample_2 name_1        0        0 name_2        0        0 gene_3        0        0