Zitat von
marce
Mit obigem Script wäre ich vorsichtig, je nach dem, wie die Usernamen aussehen kann das böse in die Hose gehen.
Da $user_name lediglich im "replace" des sed Befehls verwendet wird, ist es ziemlich egal, wie die Usernamen aussehen.
Gültig sollten sie eh sein.
Code:
user@computer:/etc> man 8 useradd | sed -n '/Usernames must/,/32/p'
Usernames must start with a lower case letter or an underscore, followed by lower case letters, digits,
underscores, or dashes. They can end with a dollar sign. In regular expression terms:
[a-z_][a-z0-9_-]*[$]?
Usernames may only be up to 32 characters long.
Was sollte da schiefgehen können?
Code:
echo "ein_User-Name?" | sed -r 's/(^.*$)/\1b}la[bl{u\/ \bb*e.r/'
ein_User-Name?b}la[bl{u/ bb*e.r
Lediglich der "/" ist zu escapen, da er syntaktisch zum "s" Befehle gehört. Darf aber auch nicht Bestandteil eines Usernamens sein.
Lesezeichen