導航:首頁 > 操作系統 > linux生成隨機密碼

linux生成隨機密碼

發布時間:2023-08-18 11:22:21

linux一次創建100個用戶怎麼創建用命令

你可以寫一個shell腳本

基本上,批量添加用戶有兩種方式:

一是用useradd + passwd命令配合腳本來添加;

二是用newusers+chpasswd來添加。

方法一、useradd + passwd命令配合腳本來添加

用戶的初始密碼被設為用戶名+123

#!/bin/bash
#
#.list
#
forusernamein$(moreusers.list)
do
if[-n$username]
then
useradd-m$username
echo
echo$username"123"|passwd--stdin$username
echo
echo"User$username'spasswordischanger!"
else
echo"Theusernameisnull!"
fi
done
~

其中users.list文件內容如下:

johnson
lily
kelly


方法二、newusers+chpasswd批量添加用戶




1、首先我們創建用戶文件和密碼文件;

我們要創建包含新用戶的文件userfile.txt ;另一個是為新添加的用戶設置密碼的userpwdfile.txt;

[root@localhost ~]# touch userfile.txt
[root@localhost ~]# touch userpwdfile.txt

然後用文本編輯器打開文件userfile.txt,添加如下內容;

win00:x:520:520::/home/win00:/sbin/nologin
win01:x:521:521::/home/win01:/sbin/nologin
win02:x:522:522::/home/win02:/sbin/nologin
win03:x:523:523::/home/win03:/sbin/nologin
win04:x:524:524::/home/win04:/sbin/nologin
win05:x:525:525::/home/win05:/sbin/nologin
win06:x:526:526::/home/win06:/sbin/nologin
win07:x:527:527::/home/win07:/sbin/nologin
win08:x:528:528::/home/win08:/sbin/nologin
win09:x:529:529::/home/win09:/sbin/nologin

userfile.txt 文件內容格式和 /etc/passwd 的格式是一樣的,必須嚴格按照/etc/passwd 的格式來書寫;上面所添加的用戶都不能登錄系統,但完全能用於ftp登錄,但您得在相應ftp伺服器的配置文件中打開讓本地用戶有讀寫許可權;如果您想讓上 面的部份用戶可以登錄系統,可以把SHELL類似改一改,比如改成/bin/bash ;

我們再來書寫新增用戶的密碼文件userpwdfile.txt內容;這個文件的內容中的用戶名要與 userfile.txt用戶名相同且嚴格按照「用戶名:密碼」的格式來寫,一個用戶一行;也就是說我們先是添加了win00到win09的用戶,現在要為這些用戶更新密碼;比如下面的;

win00:123456
win01:654321
win02:123321
win03:qweewq
win04:google
win05:adadwc
win06:wsscee
win07:xxec32
win08:543wew
win09:3ce3wf

2、用newusers批量添加用戶,此時用戶是沒有密碼的

[root@localhost ~]# newusers userfile.txt

2、執行命令/usr/sbin/pwunconv,將/etc/shadow產生的shadow密碼解碼,然後回寫到/etc/passwd中, 並將/etc/shadow的shadow密碼欄刪掉。這是為了方便下一步的密碼轉換工作,即先取消shadow password功能,關閉影子文件。

[root@localhost ~]#pwunconv

3、 用chpasswd批量修改密碼
[root@localhost ~]# chpasswd < userpwdfile.txt

4、最後不要忘了恢復影子文件,保證安全,您可以通過下面的命令來映射到 /etc/shadow文件名

[root@localhost ~]# pwconv

Ⅱ 如何在linux下安裝mysql

1、到mysql官網下載mysql編譯好的二進制安裝包,在下載頁面SelectPlatform:選項選擇linux-generic,然後把頁面拉到底部,

64位系統下載Linux-Generic(glibc2.5)(x86,64-bit),32位系統下載Linux-Generic(glibc2.5)(x86,32-bit)

2、解壓32位安裝包:

進入安裝包所在目錄,執行命令:tarmysql-5.6.17-linux-glibc2.5-i686.tar.gz

3、復制解壓後的mysql目錄到系統的本地軟體目錄:

執行命令:cpmysql-5.6.17-linux-glibc2.5-i686/usr/local/mysql-r

4、添加系統mysql組和mysql用戶:

執行命令:groupaddmysql和useradd-r-gmysqlmysql

5、安裝資料庫:

進入安裝mysql軟體目錄:執行命令cd/usr/local/mysql

修改當前目錄擁有者為mysql用戶:執行命令?chown-Rmysql:mysql./

安裝資料庫:執行命令?./scripts/mysql_install_db--user=mysql

修改當前目錄擁有者為root用戶:執行命令?chown-Rroot:root./

修改當前data目錄擁有者為mysql用戶:執行命令?chown-Rmysql:mysqldata

到此資料庫安裝完畢

6、啟動mysql服務和添加開機啟動mysql服務:

添加開機啟動:執行命令cpsupport-files/mysql.server/etc/init.d/mysql,把啟動腳本放到開機初始化目錄

啟動mysql服務:執行命令servicemysqlstart

執行命令:ps-ef|grepmysql看到mysql服務說明啟動成功

7、修改mysql的root用戶密碼,root初始密碼為空的:

執行命令:./bin/mysqladmin-urootpassword'密碼'

8、把mysql客戶端放到默認路徑:

ln-s/usr/local/mysql/bin/mysql/usr/local/bin/mysql

注意:建議使用軟鏈過去,不要直接包文件復制,便於系統安裝多個版本的mysql

Ⅲ Linux命令行生成隨機密碼的方法有哪些

生成一個隨機密碼
對於下面的任何一種方法,你可以通過簡單的修改來生成特定長度的密碼,或者只使用其輸出結果的前N位。希望你正在使用一些類似於LastPass的密碼管理器,這樣你就不用自己記住這些隨機生成的密碼了。
1. 這種方法使用SHA演算法加密日期,並輸出結果的前32個字元:

Shell

1

date +%s | sha256sum | base64 | head -c 32 ; echo

2. 這種方法使用內嵌的/dev/urandom,並過濾掉那些日常不怎麼使用的字元。這里也只輸出結果的前32個字元:

Shell

1

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;

3. 這種方法使用openssl的隨機函數。如果你的系統也許沒有安裝openssl,你可以嘗試其它九種方法或自己安裝openssl。

Shell

1

openssl rand -base64 32

4. 這種方法類似於之前的urandom,但它是反向工作的。Bash的功能是非常強大的!

1

tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1

5. 這種方法使用string命令,它從一個文件中輸出可列印的字元串:

Shell

1

strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo

6. 這是使用urandom的一個更簡單的版本:

Shell

1

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6

7. 這種方法使用非常有用的dd命令:

Shell

1

dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev

8. 你甚至可以生成一個只用左手便可以輸入的密碼:

Shell

1

</dev/urandom tr -dc '12345!@#$%' | head -c8; echo ""

9. 如果每次都使用上述某種方法,那更好的辦法是將它保存為函數。如果這樣做了,那麼在首次運行命令之後,你便可以在任何時間只使用randpw就可以生成隨機密碼。或許你可以把它保存到你的~/.bashrc文件裡面。

Shell

1

randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}

10. 最後這種生成隨機密碼的方法是最簡單的。它同樣也可以在安裝了Cygwin的Windows下面運行。在Mac OS X下或許也可以運行。我敢肯定會有人抱怨這種方法生成的密碼沒有其它方法來的隨機。但實際上如果你使用它生成的全部字元串作為密碼,那這個密碼就足夠隨機了。

Shell

1

date | md5sum

是的,這種方法也極其好記。

Ⅳ Linux shell常用命令

Linux shell常用命令匯總

對於經常使用linux系統的博主來說,基本常用的shell命令是少不了的,下面為大家總結了Linux shell的常用命令,希望對大家有所幫助!

1.檢查遠程埠是否對bash開放:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

2.讓進程轉入後台:

Ctrl + z

3、將進程轉到前台:

fg

4.產生隨機的十六進制數,其中n是字元數:

openssl rand -hex n

5.在當前shell里執行一個文件里的命令:

source /home/user/file.name

6.截取前5個字元:

${variable:0:5}

7.SSH debug 模式:

ssh -vvv user@ip_address

8.SSH with pem key:

ssh user@ip_address -i key.pem

9.用wget抓取完整的網站目錄結構,存放到本地目錄中:

wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs

10.一次創建多個目錄:

mkdir -p /home/user/{test,test1,test2}

11.列出包括子進程的進程樹:

ps axwef

12.創建 war 文件:

jar -cvf name.war file

13.測試硬碟寫入速度:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

14.測試硬碟讀取速度:

hdparm -Tt /dev/sda

15.獲取文本的md5 hash:

echo -n "text" | md5sum

16.檢查xml格式:

xmllint --noout file.xml

17.將tar.gz提取到新目錄里:

tar zxvf package.tar.gz -C new_dir

18.使用curl獲取HTTP頭信息:

curl -I http://www.example.com

19.修改文件或目錄的時間戳(YYMMDDhhmm):

touch -t 0712250000 file

20.用wget命令執行ftp下載:

wget -m ftp://username:password@hostname

21.生成隨機密碼(例子里是16個字元長):

LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

22.快速備份一個文件:

cp some_file_name{,.bkp}

23.訪問Windows共享目錄:

smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir

24.執行歷史記錄里的命令(這里是第100行):

!100

25.解壓:

unzip package_name.zip -d dir_name

26.輸入多行文字(CTRL + d 退出):

cat > test.txt

27.創建空文件或清空一個現有文件:

\> test.txt

28.與Ubuntu NTP server同步時間:

ntpdate ntp.ubuntu.com

29.用netstat顯示所有tcp4監聽埠:

netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

30.qcow2鏡像文件轉換:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw

31.重復運行文件,顯示其輸出(預設是2秒一次):

watch ps -ef

32.所有用戶列表:

getent passwd

33.Mount root in read/write mode:

mount -o remount,rw /

34.掛載一個目錄(這是不能使用鏈接的情況):

mount --bind /source /destination

35.動態更新DNS server:

nsupdate < <eof p=""> </eof>

update add $HOST 86400 A $IP

send

EOF

36.遞歸grep所有目錄:

grep -r "some_text" /path/to/dir

37.列出前10個最大的文件:

lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

39.打開Vim並跳到文件末:

vim + some_file_name

40.Git 克隆指定分支(master):

git clone [email protected]:name/app.git -b master

41.Git 切換到其它分支(develop):

git checkout develop

42.Git 刪除分支(myfeature):

git branch -d myfeature

43.Git 刪除遠程分支

git push origin :branchName

44.Git 將新分支推送到遠程伺服器:

git push -u origin mynewfeature

45.列印歷史記錄中最後一次cat命令:

!cat:p

46.運行歷史記錄里最後一次cat命令:

!cat

47.找出/home/user下所有空子目錄:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

1.檢查遠程埠是否對bash開放:

find /home/user -maxdepth 1 -type d -empty

48.獲取test.txt文件中第50-60行內容:

< test.txt sed -n '50,60p'

49.運行最後一個命令(如果最後一個命令是mkdir /root/test, 下面將會運行: sudo mkdir /root/test):

sudo !!

50.創建臨時RAM文件系統 – ramdisk (先創建/tmpram目錄):

mount -t tmpfs tmpfs /tmpram -o size=512m

51.Grep whole words:

grep -w "name" test.txt

52.在需要提升許可權的.情況下往一個文件里追加文本:

echo "some text" | sudo tee -a /path/file

53.列出所有kill signal參數:

kill -l

54.在bash歷史記錄里禁止記錄最後一次會話:

kill -9 $$

55.掃描網路尋找開放的埠:

nmap -p 8081 172.20.0.0/16

56.設置git email:

git config --global user.email "[email protected]"

57.To sync with master if you have unpublished commits:

git pull --rebase origin master

58.將所有文件名中含有”txt”的文件移入/home/user目錄:

find -iname "*txt*" -exec mv -v {} /home/user \;

59.將文件按行並列顯示:

paste test.txt test1.txt

60.shell里的進度條:

pv data.log

61.使用netcat將數據發送到Graphite server:

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000

62.將tabs轉換成空格:

expand test.txt > test1.txt

63.Skip bash history:

< space >cmd

64.去之前的工作目錄:

cd -

65.拆分大體積的tar.gz文件(每個100MB),然後合並回去:

split –b 100m /path/to/large/archive /path/to/output/files

cat files* > archive

66.使用curl獲取HTTP status code:

curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null

67.設置root密碼,強化MySQL安全安裝:

/usr/bin/mysql_secure_installation

68.當Ctrl + c不好使時:

Ctrl + \

69.獲取文件owner:

stat -c %U file.txt

70.block設備列表:

lsblk -f

71.找出文件名結尾有空格的文件:

find . -type f -exec egrep -l " +$" {} \;

72.找出文件名有tab縮進符的文件

find . -type f -exec egrep -l $'\t' {} \;

73.用”=”列印出橫線:全選復制放進筆記

printf '%100s\n' | tr ' ' = ;

閱讀全文

與linux生成隨機密碼相關的資料

熱點內容
裘錫圭pdf 瀏覽:720
android模擬器調試 瀏覽:129
sap命令大全 瀏覽:290
mysql導出數據命令 瀏覽:949
文件夾隱藏了出不來 瀏覽:562
電信網上大學源碼 瀏覽:204
rr輪轉調度演算法 瀏覽:253
我的世界無法登入伺服器怎麼辦 瀏覽:148
文件加密授權特定隱藏訪問控制 瀏覽:801
程序員劍靈官網 瀏覽:516
php調用static方法 瀏覽:934
天正命令版 瀏覽:86
聚合支付加密幣 瀏覽:313
蜜源app是什麼時候創立的 瀏覽:706
計算機專業學51單片機 瀏覽:211
程序員不接受反駁 瀏覽:298
微軟自帶的壓縮軟體 瀏覽:289
中國玩家在日本伺服器做什麼 瀏覽:51
12864和單片機 瀏覽:898
25匹空調壓縮機 瀏覽:649