日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Linux学习资料-5(密码管理与设定、使用者身份切换、使用者查询、手动增加使用者)...

發(fā)布時間:2023/12/31 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux学习资料-5(密码管理与设定、使用者身份切换、使用者查询、手动增加使用者)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

密碼管理與設(shè)定:?

再來跟大家提一提那個重要的密碼概念!您得要特別留意的是,今天,您的主機若是遭到入侵,對方的第一個入侵點自然就是您主機上面賬號的『密碼』了,所以,如果您的密碼定義的比較嚴(yán)格的話,那么自然對方就不容易猜到你的密碼,自然就會比較有保障啦!?

 ?

目前一些 Cracker 較常使用的密碼破解軟件,大抵是『字典攻擊法』及所謂的『暴力攻擊法』,就字面上的意義來說,『字典攻擊法』是將字典里面所查的到的任何單字或詞組都輸入的程序中,然后使用該程序一個一個的去嘗試破解你的密碼,不要覺得這樣的速度似乎很慢,實際上,現(xiàn)今的計算機運算速度太高了,字典攻擊法的操作效率基本上是很高的!另一個『暴力攻擊法』就是直接使用鍵盤上面任何可以使用的按鍵,然后依照組合,以 1 個, 2 個, 3 個…. 密碼組合的方式去破解你的密碼!這個方式就真的比較慢一點,如果你的密碼組合是 6~8 個字符以上,那么暴力攻擊法還是需要好長一段時間才能夠破解的了的!?

 ?

由上面的『字典攻擊法』與『暴力攻擊法』猜測你的密碼的方式來說,您知道如何設(shè)定一個好的密碼了嗎?是的,您的密碼最好需要底下幾個特性:?

密碼中含有數(shù)個特殊字符,例如 $#@^&* 及數(shù)字鍵等等:如同上面提到的,您的按鍵越奇怪,那么對方就越不容易使用既有的軟件來破解!?

英文字母大小寫混合使用;?

密碼長度至少要到 6 ~ 8 個以上才好;?

沒有特殊意義的字母或數(shù)字組合,并且夾著很多的特殊字符!?

這種密碼真的很不容易被破解,但是很不幸的,也很容易被你我忘記??所以呢,建議您常常使用一些對別人來說是沒有意義,但是對您確有特殊涵意的字眼!例如我常常提到的,我愛我老婆!『 I&Mywife*^』之類的密碼!不容易被猜,也挺容易被你自己記住的!那么有沒有『很要命的密碼』呢?有的,底下幾種密碼就很要命:?

常用的英文單字:例如 party, park, andyliu, linux, paper 等等,都不好!容易被字典攻擊法破解!?

身邊人物的名字,例如配偶、小孩的名字等等, Tom, andy, eric 等等,都不好!?

單純的日期:例如您的生日啦!等等的,都不夠好!?

任何與您相關(guān)的數(shù)字或其它信息,例如身份證號、銀行賬號等;?

VBird 曾經(jīng)見過直接以賬號做為密碼的狀況!真是要命??太好猜了??

 ?

好了!知道了密碼的重要性,與基本的設(shè)定之后,接著下來我們談一談如何手動設(shè)定密碼吧!基本上, root 可以設(shè)定『任何樣式的密碼』,而且, root 也可以幫助 user 訂定他們的密碼!至于 user 僅能修改自己的密碼!那么修改密碼使用什么命令?就是 passwd 這個命令啦!咦!這里突然給他想到幾個重要信息,大家趕緊復(fù)習(xí)一下:?

如何尋找 passwd 這個指令??

使用 which passwd 即可

如何察看 passwd 這個檔案的屬性?并請說明他的屬性為何??

使用 ls –l `which passwd` 即可!他具有 SUID 的屬性!

什么是 SUID ??

就是該程序在被執(zhí)行的過程中,具有程序擁有者的權(quán)限!

我該如何查詢 /etc/passwd 與 /usr/bin/passwd 的用法與架構(gòu)??

分別使用 man passwd 及 man 5 passwd

這些指令與意義如果都還沒有忘記!恭喜您了!真是不錯!好了,還記得我們密碼放在哪里嗎?對啦!就是 /etc/shadow 里面,那個檔案的權(quán)限是 –rw------- 所以只有 root 可以修改,因此, passwd 必需要具有 SUID 才能讓一般使用者修改他們的密碼啰!


--------------------------------------------------------------------------------


passwd?

語法: [root @test ?/root]# passwd [username]?

[test @test ?/root]# passwd?

[root @test ?/root]# passwd test?

Changing password for user test?

New password: ? ? <==輸入密碼?

BAD PASSWORD: it is based on a dictionary word?

Retype new password: ? <==再輸入一次!?

passwd: all authentication tokens updated successfully?

說明:?

這個指令可以修改使用者的密碼!要注意的是,這個指令在 /bin/passwd 中,而賬號所存放的地方在 /etc/passwd 中,是不一樣的呦!搞清楚呦!?

一般使用者的用法是直接輸入 passwd 即可;?

root 可以使用 passwd [username] 來替 username 這個賬號取一個新的密碼!?


--------------------------------------------------------------------------------

使用者身份切換:?

這里有個很有趣的問題要來跟大家分享一下,還記得在古老的年代里面,還沒有 ssh 的時候,我們都是使用 telnet 登入系統(tǒng)的,偏偏系統(tǒng)預(yù)設(shè)是不開啟 root 以 telnet 登入,那么好了!我們要怎樣遠(yuǎn)程操控我們的 Linux 主機呀!?因為由前面的介紹我們不難發(fā)現(xiàn),系統(tǒng)當(dāng)中最特殊的賬號就是 UID 為 0 的使用者了,他具有至高無上的權(quán)力!而且是系統(tǒng)管理員必須要具備的身份,否則怎樣操控主機呢?您說是吧!好了,那么 telnet 將 root 的登入權(quán)限關(guān)掉了,而如果我們在制作一個使用者,并將其 UID 變?yōu)?0 的話又如何?嘿嘿!很抱歉, telnet 就是認(rèn) UID 的,所以肯定還是進(jìn)不了系統(tǒng),這個時候要怎么辦呀!?就是變換身份呀!將一般使用者的身份變成了 root 就行了!?

 ?

但是怎樣變換身份呀?怎么說呢?就是說,一般而言,我們都不希望以 root 的身份登入主機,以避免被怪客入侵了!但是一部主機又不可能完全不進(jìn)行修補或者是設(shè)定等動作!這個時候要如何將一般使用者的身份變成 root 呢?主要有兩種方式,分別是:?

以 su 直接將身份變成 root 即可,但是這個指令卻需要 root 的密碼,也就是說,如果你要以 su 變成 root 的話,你的一般使用者就必須要有 root 的密碼才行;?

所以當(dāng)有很多人同時管理一部主機的時候,那么 root 的密碼不就很多人知道了?不是很好吧?所以,如果不想要將 root 的密碼流出去呢?呵呵!可以使用 sudo 來進(jìn)行工作呦!?

底下我們就來說一說 su 跟 sudo 的用法啦!


--------------------------------------------------------------------------------


su?

語法: [root @test ?/root ]# su?

參數(shù)說明:?

范例:?

[test@test ?test]$ su?

Password: ? ? ? ? ?<==輸入 root 的密碼?

[root@test test]# ? ? ? <==身份變成 root 了!?

[test@test test]$ su - ?<==連環(huán)境參數(shù)檔案都是讀取 root 的!?

[root@test root]# su test ?<==將 root 的身份改為 test ,且不需要輸入密碼喔!?

說明:?

這個指令很有用呦!這是用來將『一般身份轉(zhuǎn)換成 super user 』的指令!通常為了安全的考慮, telnet 與 ssh 盡量不要以 root 的身份來登入!但是有時后我們又要在外頭以 root 的身份來修改系統(tǒng)設(shè)定,這個時候 su 就很有用了!su 的使用真的很簡單,輸入 su 之后,直接給他輸入 root 的密碼,此時您就是 root 了!但是需要特別留意的是:?

雖然您已經(jīng)是 root 的身份,但是您的環(huán)境當(dāng)中,還是屬于當(dāng)初登入的那個使用者!例如我以 test 登入 Linux ,再以 su 切換身份成為 root ,但是我的 mail, PATH 及其它一些相關(guān)的環(huán)境變量,都還是 test 這個身份呢!?

至于環(huán)境變量當(dāng)中,最麻煩的當(dāng)屬 PATH 這個東西,因為為了避免一般使用者使用了 root 的管理指令,所以通常 Linux 都會將指令分類放在兩個主要的目錄,分別是 /bin 與 /sbin !那個 /sbin 大多是 super user 就是 root 用來管理系統(tǒng)的指令啦!所以,可能的話,將 test 的 PATH 重新設(shè)定成為 root 的 PATH ,這樣也比較方便呀!?

如果要全部的環(huán)境變量均使用 root 的設(shè)定檔,這個時候必需使用『 su - 』來下達(dá)命令喔!?

此外, su 也可以將您的身份轉(zhuǎn)換成為其它身份的使用者,而,如果您是 root ,那么轉(zhuǎn)換為其它身份的使用者,將不需要輸入密碼喔!很過癮吧!例如上面的最后一個例子!


--------------------------------------------------------------------------------


sudo?

語法: [root @test /root ]# sudo [-u username] [command]?

參數(shù)說明:?

-u ?:將身份變成 username 的身份?

范例:?

[test@test test]$ sudo mkdir /root/testing?

Password: ? ? ? ? ?<==輸入 test 自己的密碼?

[root@test test]$ sudo -u test touch test <==root 可以執(zhí)行 test 這個使用者的指令,建立 test 的檔案!?

說明:?

如果單純的使用 su 來變換成 root 的身份,最大的好處是可以直接下達(dá)我們慣用的指令,但是,還是會有問題的,就是如果主機是由多人共管的時候,由于所有的人都必須要知道 root 的密碼,如此一來,呵呵!很麻煩的啦!因為怕被入侵嘛!而且只要 root 改變了密碼,那么所有人都必需要通知一次!很麻煩,加上,如果管理群中的一個人不小心泄出了 root 的密碼,不就完蛋了??那么有沒有可以不需要 root 的密碼,卻還是可以執(zhí)行 root 的工具呢?呵呵!這個時候就有 sudo 的出現(xiàn)了!?

sudo 的基本語法就是在 sudo 后頭直接加上指令,例如上面的例子中, mkdir /root/testing 就是命令啦!那么就可以來執(zhí)行 root 身份可以動作的事情!此外,由于執(zhí)行 root 身份的工作時,『輸入的密碼是使用者的密碼,而不是 root 的密碼,所以可以減少 root 密碼外流的問題!』如此 root 的密碼將不會流出去了!但是 sudo 在使用的時候請小心,就是要在 /etc/sudoers 里頭設(shè)定該有的事項!在預(yù)設(shè)情況下,只有 root 才能使用 sudo !那有什么用!我們是一般使用者,想要使用的是 sudo 來變成 root 的身份呀!呵呵!沒關(guān)系!可以使用 visudo 來編輯 /etc/sudoers 這個檔案即可!在 Mandrake 9.0 與 Red Hat 的 Linux 版本之的預(yù)設(shè)情況中,使用『 visudo 』才能編輯 /etc/sudoers 這個檔案,此外,編輯者的身份必須要 root 才行!如何編輯呢?在預(yù)設(shè)的情況中,我們會希望將可以執(zhí)行 root 動作的人的 group 設(shè)定為 wheel ,然后:?

  [root@est /root]# visudo?

# sudoers file.?

#?

# This file MUST be edited with the 'visudo' command as root.?

#?

# See the sudoers man page for the details on how to write a sudoers file.?

#?

# Host alias specification?

# User alias specification?

# Cmnd alias specification?

# Defaults specification?

# User privilege specification?

root ? ?ALL=(ALL) ALL?

test ? ?ALL=(ALL) ALL ? ? ? ? ? ? ? ? ?<==這一行可以加入,使 test 這個人可以使用 sudo?

# Uncomment to allow people in group wheel to run all commands?

# %wheel ? ? ? ?ALL=(ALL) ? ? ? ALL ? ?<==將這一行批注符號取消?

# Same thing without a password?

# %wheel ? ? ? ?ALL=(ALL) ? ? ? NOPASSWD: ALL?

# Samples?

# %users ?ALL=/sbin/mount /cdrom,/sbin/umount /cdrom?

# %users ?localhost=/sbin/shutdown -h now?

 ?

如果如同上面的方式,將黃色字體那一行 /etc/sudoers 里頭將?

 ?

『 # %wheel ? ? ? ?ALL=(ALL) ? ? ? ALL』

 ?

這一行的批注符號取消,如此一來,則群組為 wheel 的人就可以進(jìn)行 root 的身份工作!這個 wheel 是系統(tǒng)預(yù)設(shè)的 group 呢!因此,如果您想要讓這部主機里頭的一般身份使用者具有 sudo 的使用權(quán)限,那么您就必需將該 user 放入支持 wheel 這個群組里頭!如何加入?呵呵!剛剛上面不是介紹了 /etc/group 嗎?趕緊去看看!那么萬一我想要讓『單獨的個人可以使用 sudo 的功能』呢?呵呵!那就直接以 visudo 加上這一行?

 ?

『test ALL=(ALL) ALL』

 ?

即可!那么 test 即可使用 sudo 的功能啰!很簡單吧!但是請記得不要以 vi 直接修改 sudoers 呦!會有問題!

sudo 除了變成 root 的功能之外!嘿嘿!他還可以變成『任何人』的功能呦!舉個簡單的例子來說好了,我們都知道啟動程序的時候最好不要使用 root 來啟動,因為如此一來當(dāng)該程序被接管時,接管者(或者說是入侵者)將擁有 root 的權(quán)限了!所以近來我們都希望不要以 root 來啟動一些程序啦!會比較安全!那么我們要以 root 來啟動成為 test (例如常用的 nobody 這個賬號)要如何作?很簡單,就使用上面的第二個例子來看:?

 ?

sudo -u test touch test

? ?

root 可以改變身份成為 test 來建立檔案!嘿嘿!還不需要輸入密碼!很棒吧!這個動作我曾經(jīng)在 squid 這個執(zhí)行程序上面做過,這樣一來,即使我的 squid 被利用了,那么該怪客只能擁有 nobody 的權(quán)限,嘿嘿!該權(quán)限是很小很小的!所以可以達(dá)到保護(hù)主機的部分功能呦!

使用者查詢:?

好了,知道了 UID,GID 以及與賬號有關(guān)的一些信息之后,我們要來瞧瞧,那么如何知道哪一個使用者的 UID 與 GID ,以及他們所能夠提供的支持的群組呢?可能的話,當(dāng)然可以直接到 /etc/passwd 及 /etc/group 里面去查看啰!但是還有更簡單的方法呢,那就是使用簡單的指令工具呀!有哪些簡便的工具呢?就是底下這幾個:?

id ?查詢使用者的 UID, GID 及所擁有的群組;?

groups 查詢使用者能夠支持的群組;?

finger ?查詢使用者的一些相關(guān)訊息,例如電話號碼等。?


--------------------------------------------------------------------------------


id?

語法: [root @test root]# id [username]?

范例:?

[root @test root]# id?

uid=0(root) gid=0(root) groups=0(root)?

[root @test root]# id test?

uid=501(test) gid=501(test) groups=501(test)?

說明:?

直接輸入 id 就可以知道目前這個賬號的 UID, GID 與所屬的群組!當(dāng)然啰,如果想要知道某個使用者的相關(guān)信息,就直接使用 id username ,例如 id test 就可以知道 test 這個使用者的相關(guān)信息啰!很方便吧!不需要去查看 /etc/passwd 及 /etc/group !?

 ?


--------------------------------------------------------------------------------


finger?

語法: [root @test root]# finger [-s] username?

參數(shù)說明:?

-s ?:長的列出?

范例:?

[root @test root]# finger test?

Login: test ? ? ? ? ? ? ? ? ? ? ? ? ? ? Name: Testing user?

Directory: /home/test ? ? ? ? ? ? ? ? ? Shell: /bin/bash?

Office: 06-123-1234, 06-123-1234 ? ? ? ?Home Phone: 06-123-1234?

Never logged in.?

No mail.?

No Plan.?

[root @test root]# finger –s test?

Login ? ? Name ? ? ? ? ? Tty ? ? ?Idle ?Login Time ? Office ? ? Office Phone?

test ? ? ?Testing user ? ?* ? ? * ?No logins ? ?06-123-123 06-123-1234

?

說明:?

finger 的用法也是真的很簡單,就是直接給他 finger username 就可以知道任何一個人的相關(guān)信息了!而這個相關(guān)的訊息基本上都是寫在 /etc/passwd 里面,當(dāng)然,里面還搜尋了 /var/spool/mail 這個郵件放置的地點,所以還會顯示出是否有郵件的訊息呢!相當(dāng)?shù)姆奖惆?#xff01;不過,這個 finger 通常必需要配合 chfn 這個指令,亦即是 13-1-6 的內(nèi)容提到的那個指令,才能夠顯示出比較多的信息呢!另外,其實 finger 不是個很安全的指令,因此, Mandrake 系統(tǒng)預(yù)設(shè)是不安裝這個套件的!如果您想要試試看 finger 的話,那么請依照第二篇教導(dǎo)的內(nèi)容,將 Mandrake 安裝光盤第二塊放入 CDROM 當(dāng)中,然后 mount cdrom 之后呢,再以『 rpm –ivh finger* 』來安裝 finger 吧!至于 rpm ?的用法,我們會在第十八章的時候在進(jìn)行說明呦!?

 ?


--------------------------------------------------------------------------------


groups?

直接輸入 groups 就可以顯示出目前的使用者的所屬群組了!包含了 Primary 與其它相關(guān)的群組都會被顯示出來呢!


--------------------------------------------------------------------------------

手動增加使用者:?

好了,那么我們已經(jīng)知道如何新增賬號與刪除甚至是修改賬號了,呵呵!是否從此之后,天下太平呢?當(dāng)然不是了!為什么呢?假設(shè)您今天要新增賬號的內(nèi)容是『數(shù)字賬號』的話,那么是否可以使用 useradd 新增賬號呢?例如:?

useradd 1234567

很抱歉?useradd 并不允許這樣的賬號設(shè)定的!唉?真難過,難道沒有其它的方法可以新增這樣的使用者賬號了嗎?咦!剛剛不是說過,其實我們都是使用 /etc/passwd 及 /etc/shadow 這幾個檔案來設(shè)定賬號的嗎?那么使用手動的方式是否就可以解決這樣的困擾了!Bingo !沒錯!就是這樣!所以底下我們嘗試使用手動的方式來新增賬號,試試看能不能成功的增加一個使用者 1234 呢?

一般使用者賬號的增加:?

好了,現(xiàn)在我們知道其實使用 userconf 、 useradd 與 groupadd 其實會用到的檔案最鮮明的就是 /etc/passwd 與 /etc/shadow 啰!那么如何手動的增加一個使用者呢?最大的困擾在于 passwd 與 shadow 的同步啦!OK!大致的步驟可以這樣說:

先建立所需要的群組( vi /etc/group )?

建立賬號的各個屬性( vi /etc/passwd )?

將 passwd 與 shadow 同步化 ( pwconv )?

建立該賬號的密碼 ( passwd acount )?

建立使用者家目錄 ( cp -r /etc/skel /home/account )?

更改家目錄屬性 ( chown -R account.group /home/account )?

這樣就 OK 啦!實地的來新增一個 test 群組與賬號來試試看:?

? 建立新的群組 test ,設(shè)其 GID 為 520?

[root @test /root ]# vi /etc/group?

----略?

test:x:520:test ? ? ? ? ? ? ? <==新增群組,且群組的人為 test ,GID 為 520?

建立 test 的各個屬性?

[root @test /root ]# vi /etc/passwd?

----略?

test:x:520:520:testing account:/home/test:/bin/bash ? <==建立各個屬性?


同步化 /etc/passwd 與 /etc/shadow?

[root @test /root ]# pwconv ? ? ? ? <==將 passwd 的資料轉(zhuǎn)入 /etc/shadow 中!?


建立密碼?

[root @test /root ]# passwd test ? ?<==建立使用者 test 密碼?

Changing password for user test?

New password:?

Retype new password:?

passwd: all authentication tokens updated successfully?


建立家目錄并轉(zhuǎn)化家目錄的擁有者?

[root @test /root ]# cp -r /etc/skel /home/test?

[root @test /root ]# chown -R test:test /home/test

?


這樣就建立完畢啰!!很簡單吧!而由上面的例子,其實您也可以依據(jù)此而使用 scripts 來新增使用者,詳細(xì)的步驟等以后 VBird 真的開發(fā)出來了,再來跟大家報告。(如果沒記錯的話,目前很多網(wǎng)頁都已經(jīng)有提供相關(guān)的大量建立賬號的方式了!)


轉(zhuǎn)載于:https://my.oschina.net/ysh3940/blog/350805

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的Linux学习资料-5(密码管理与设定、使用者身份切换、使用者查询、手动增加使用者)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。