Linux學習第三周


一置谦、顯示/etc目錄下,以非字母開頭,后面隔了一個字母以及其他任意長度任意字符的文件或者目錄腰湾;

[root@localhost etc]# cd /etc
[root@localhost etc]# touch 1.txt 1ab.abc
[root@localhost etc]# mkdir 111 1ab
[root@localhost etc]#  ls |grep "^[^[:alpha:]][[:alpha:]].*"
1ab
1ac.abc

二埃篓、復(fù)制/etc目錄下所有以p開頭处坪,以非數(shù)字結(jié)尾的文件或者目錄到/tmp/mytest目錄中;

[root@localhost etc]# ls | grep "^p.*[^0-9]$"
pam.d
passwd
passwd-
pki
plymouth
pm
popt.d
postfix
ppp
prelink.conf.d
printcap
profile
profile.d
protocols
python
[root@localhost etc]# ls /tmp/mytest1/
[root@localhost etc]# ls | grep "^p.*[^0-9]$" | xargs -i cp -r {} /tmp/mytest1
[root@localhost etc]# ls /tmp/mytest1/
pam.d  passwd  passwd-  pki  plymouth  pm  popt.d  postfix  ppp  prelink.conf.d  printcap  profile  profile.d  protocols  python

三架专、將/etc/issue文件中的內(nèi)容轉(zhuǎn)換為大寫后保存至/tmp/issue.out文件中同窘;

[root@localhost ~]# cat /etc/issue
\S
Kernel \r on an \m

[root@localhost ~]# cat /etc/issue | tr 'a-z' 'A-Z'
\S
KERNEL \R ON AN \M

[root@localhost ~]# cat /etc/issue | tr 'a-z' 'A-Z' >/tmp/issue.out
[root@localhost ~]# cat /tmp/issue.out
\S
KERNEL \R ON AN \M

四、請總結(jié)描述用戶和組管理類命令的使用方法并完成以下練習部脚;

Linux系統(tǒng)中的用戶和用戶組想邦;
為了實現(xiàn)不同的用戶可以設(shè)置不同的訪問權(quán)限,需要針對每個不同的用戶創(chuàng)建對應(yīng)的用戶委刘。而為了管理對多個用戶設(shè)置權(quán)限更方便丧没,可以將用戶加到組中。此外每一個用戶必須要屬于一個組锡移,此組稱為主組呕童。用戶也可以再加入到其它多個額外的組中,這個組稱為附屬組淆珊,從屬組或附加組夺饲。
在Linux系統(tǒng)中每一個用戶都有一個唯一的用戶編號和這個用戶對應(yīng),我們將這個編號稱為UID(Uder IDentifier)。UID是Linux用來辨識用戶的一個無符號整型數(shù)值往声。
在Linux中區(qū)分不同的用戶茫蛹,就是用UID實現(xiàn),并非用戶名烁挟。每個登陸用戶的基本信息都保存在/etc/passwd中婴洼,每一行對應(yīng)一個用戶的信息。

用戶user

?令牌token,identity
?Linux用戶:Username/UID
?管理員:root, 0
?普通用戶:1-60000 自動分配
?系統(tǒng)用戶:1-499, 1-999 (CentOS7)
對守護進程獲取資源進行權(quán)限分配
?登錄用戶:500+, 1000+(CentOS7)
交互式登錄

組group

?Linux組:Groupname/GID
?管理員組:root, 0
?普通組:
?系統(tǒng)組:1-499, 1-999(CENTOS7)
?普通組:500+, 1000+(CENTOS7)

安全上下文

?Linux安全上下文
運行中的程序:進程 (process)
以進程發(fā)起者的身份運行:
root: /bin/cat
mage: /bin/cat
進程所能夠訪問資源的權(quán)限取決于進程的運行者的身份

組的類別

?Linux組的類別
用戶的主要組(primary group)
用戶必須屬于一個且只有一個主組
組名同用戶名撼嗓,且僅包含一個用戶柬采,私有組
用戶的附加組(supplementary group)
一個用戶可以屬于零個或多個輔助組

用戶和組的配置文件

?Linux用戶和組的主要配置文件:
/etc/passwd:用戶及其屬性信息(名稱、UID且警、主組ID等)
/etc/group:組及其屬性信息
/etc/shadow:用戶密碼及其相關(guān)屬性
/etc/gshadow:組密碼及其相關(guān)屬性

passwd文件格式
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
gaolu:x:1000:1000:gaolu:/home/gaolu:/bin/bash

?login name:登錄用名(gaolu)
?passwd:密碼 (x)
?UID:用戶身份編號 (1000)
?GID:登錄默認所在組編號 (1000)
?GECOS:用戶全名或注釋
?home directory:用戶主目錄 (/home/gaolu)
?shell:用戶默認使用shell (/bin/bash)
root用戶作為超級用戶或管理員粉捻,對整個Linux具有最高權(quán)限。當然Linux判斷是否為超級用戶斑芜,不是看用戶名是否是root肩刃,而是看其UID是否為0。換言之杏头,用戶的UID是0盈包,那么就是超級用戶。
上面密碼都是顯示x醇王,這里的x并不是真實的密碼呢燥,只是占位符而已,用戶真正的密碼存放在/etc/shadow文件中寓娩,而且是密文叛氨。

shadow文件格式
[root@localhost ~]# cat /etc/shadow
root:$6$bv5NckVD0Jd.RpOP$buMXJdtuEJyeozfsyn2kRbDNsnK2e1YMKxuS6R7iwoD/LbTjlIUHoBEcA7wAJwCs.dGIAc4FiC4aI0HgklW0x/::0:99999:7:::
bin:*:17834:0:99999:7:::
daemon:*:17834:0:99999:7:::
adm:*:17834:0:99999:7:::
lp:*:17834:0:99999:7:::
sync:*:17834:0:99999:7:::
shutdown:*:17834:0:99999:7:::
halt:*:17834:0:99999:7:::
mail:*:17834:0:99999:7:::
operator:*:17834:0:99999:7:::
games:*:17834:0:99999:7:::
ftp:*:17834:0:99999:7:::
nobody:*:17834:0:99999:7:::
systemd-network:!!:18422::::::
dbus:!!:18422::::::
polkitd:!!:18422::::::
sshd:!!:18422::::::
postfix:!!:18422::::::
gaolu:$6$.wCpiS69VJYen3A4$s.EjkEcJjBrSE6AgocyUcuKAE8wEaXtEjGzr2y5JZyxO42FMRlrCYqN1AJkdC8Tnd416aqPjZx7SdiwrMf5Qp1::0:99999:7:::

?登錄用名
?用戶密碼:一般用sha512加密
?從1970年1月1日起到密碼最近一次被更改的時間
?密碼再過幾天可以被變更(0表示隨時可被變更)
?密碼再過幾天必須被變更(99999表示永不過期)
?密碼過期前幾天系統(tǒng)提醒用戶(默認為一周)
?密碼過期幾天后帳號會被鎖定
?從1970年1月1日算起,多少天后帳號失效

密碼加密

? 加密機制:
加密:明文--> 密文
解密:密文--> 明文
? 單向加密:哈希算法棘伴,原文不同寞埠,密文必不同
相同算法定長輸出,獲得密文不可逆推出原始數(shù)據(jù)
雪崩效應(yīng):初始條件的微小改變焊夸,引起結(jié)果的巨大改變
md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 256bits
sha384: 384bits
sha512: 512bits
? 更改加密算法:
authconfig --passalgo=sha256 --update

密碼的復(fù)雜性策略

?足夠長
?使用數(shù)字仁连、大寫字母、小寫字母及特殊字符中至少3種
?使用隨機密碼
?定期更換,不要使用最近曾經(jīng)使用過的密碼

密碼期限
密碼期限

group文件格式

[root@localhost ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
lp:::
mem:::
kmem:::
wheel:::
cdrom:::
mail:::postfix
man:::
dialout:::
floppy:::
games:::
tape:::
video:::
ftp:::
lock:::
audio:::
nobody:::
users:::
utmp:!::
utempter:!::
input:!::
systemd-journal:!::
systemd-network:!::
dbus:!::
polkitd:!::
ssh_keys:!::
sshd:!::
postdrop:!::
postfix:!::
gaolu:!!::gaolu

?群組名稱:就是群組名稱
?群組密碼:通常不需要設(shè)定淳地,密碼是被記錄在 /etc/gshadow
?GID:就是群組的 ID
?以當前組為附加組的用戶列表(分隔符為逗號)

gshdow文件格式

?群組名稱:就是群的名稱
?群組密碼:
?組管理員列表:組管理員的列表怖糊,更改組密碼和成員
?以當前組為附加組的用戶列表:多個用戶間用逗號分隔

用戶和組管理命令

?用戶管理命令
useradd
usermod
userdel
?組帳號維護命令
groupadd
groupmod
groupdel

用戶創(chuàng)建:useradd

?useradd [options] LOGIN
-u UID
-o 配合-u 選項帅容,不檢查UID的唯一性
-g GID 指明用戶所屬基本組颇象,可為組名,也可以GID
-c "COMMENT“ 用戶的注釋信息
-d HOME_DIR 以指定的路徑(不存在)為家目錄
-s SHELL 指明用戶的默認shell程序并徘,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 為用戶指明附加組遣钳,組須事先存在
-N 不創(chuàng)建私用組做主組,使用users組做主組
-r 創(chuàng)建系統(tǒng)用戶 CentOS 6: ID<500麦乞,CentOS 7: ID<1000
-m 創(chuàng)建家目錄蕴茴,用于系統(tǒng)用戶
-M 不創(chuàng)建家目錄劝评,用于非系統(tǒng)用戶

新建用戶的相關(guān)文件和命令

?/etc/default/useradd
?/etc/skel/*
?/etc/login.defs
?newusers passwd格式文件 批量創(chuàng)建用戶
?chpasswd 批量修改用戶口令

用戶屬性修改

?usermod [OPTION] login
-u UID: 新UID
-g GID: 新主組
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加組將會被
覆蓋倦淀;若保留原有蒋畜,則要同時使用-a選項
-s SHELL:新的默認SHELL
-c 'COMMENT':新的注釋信息
-d HOME: 新家目錄不會自動創(chuàng)建;若要創(chuàng)建新家目錄并移動原家數(shù)據(jù)撞叽,
同時使用-m選項
-l login_name: 新的名字
-L: lock指定用戶,在/etc/shadow 密碼欄的增加 !
-U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉
-e YYYY-MM-DD: 指明用戶賬號過期日期
-f INACTIVE: 設(shè)定非活動期限

刪除用戶

?userdel [OPTION]... login
-r: 刪除用戶家目錄

查看用戶相關(guān)的ID信息

?id [OPTION]... [USER]
-u: 顯示UID
-g: 顯示GID
-G: 顯示用戶所屬的組的ID
-n: 顯示名稱姻成,需配合ugG使用

切換用戶或以其他用戶身份執(zhí)行命令

?su [options...] [-] [user [args...]]
?切換用戶的方式:
su UserName:非登錄式切換,即不會讀取目標用戶的配置文件愿棋,不改變
當前工作目錄
su - UserName:登錄式切換科展,會讀取目標用戶的配置文件,切換至家目
錄糠雨,完全切換
?root su至其他用戶無須密碼才睹;非root用戶切換時需要密碼
?換個身份執(zhí)行命令:
su [-] UserName -c 'COMMAND'
?選項:-l --login
su -l UserName 相當于 su - UserName

設(shè)置密碼

?passwd [OPTIONS] UserName: 修改指定用戶的密碼
?常用選項:
-d:刪除指定用戶密碼
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼
-f:強制操作
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天開始警告
-i inactivedays:非活動期限
--stdin:從標準輸入接收用戶密碼
示例:echo "PASSWORD" | passwd --stdin USERNAME

修改用戶密碼策略

?chage [OPTION]... LOGIN
-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
-l 顯示密碼策略
?示例:
chage -d 0 tom 下一次登錄強制重設(shè)密碼
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom

用戶相關(guān)的其它命令

?chfn 指定個人信息
?chsh 指定shell
?finger

創(chuàng)建組

?groupadd [OPTION]... group_name
-g GID 指明GID號;[GID_MIN, GID_MAX]
-r 創(chuàng)建系統(tǒng)組
CentOS 6: ID<500
CentOS 7: ID<1000

修改和刪除組

?組屬性修改:groupmod
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID
?組刪除:groupdel
groupdel GROUP

更改組密碼

?組密碼:gpasswd
?gpasswd [OPTION] GROUP
-a user 將user添加至指定組中
-d user 從指定組中移除用戶user
-A user1,user2,... 設(shè)置有管理權(quán)限的用戶列表
?newgrp命令:臨時切換主組
如果用戶本不屬于此組甘邀,則需要組密碼

更改和查看組成員

?groupmems [options] [action]
options:
-g, --group groupname 更改為指定組 (只有root)
actions:
-a, --add username 指定用戶加入組
-d, --delete username 從組中刪除用戶
-p, --purge 從組中清除所有成員
-l, --list 顯示組成員列表
?groups [OPTION].[USERNAME]... 查看用戶所屬組列表

練習:

 1琅攘、創(chuàng)建組distro, 其GID為2019;
[root@localhost ~]# groupadd -g2019 distro
[root@localhost ~]# cat /etc/group|grep distro
distro:x:2019:
 2松邪、創(chuàng)建用戶mandriva, 其ID號為1005乎澄,基本組為distro 
[root@localhost ~]# useradd -u 1005 -g distro mandriva
[root@localhost ~]# id mandriva
uid=1005(mandriva) gid=2019(distro) groups=2019(distro)
 3、創(chuàng)建用戶mageia测摔,其ID號為1100置济,家目錄為/home/linux;
[root@localhost ~]# cat /etc/passwd|grep mageia
mageia:x:1100:1100::/home/linux:/bin/bash
 4锋八、給用戶mageia添加密碼浙于,密碼為mageedu,并設(shè)置用戶密碼7天后過期;
[root@localhost ~]# echo mageedu | passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd -x7 mageia
Adjusting aging data for user mageia.
passwd: Success
[root@localhost ~]# getent shadow mageia
mageia:$6$CjRqfpIu$zq4ICIgWoTlpsY8W4g3lLisuhIwrriDE1YdJgfGbPPrzsYHcPbzFkacUQWztVK3m0lVafW00RP3eNfM.BdPC.1:18438:7:7:7:::
 5挟纱、刪除mandriva, 但保留其家目錄
[root@localhost ~]# userdel mandriva
[root@localhost ~]# id mandriva
id: mandriva: no such user
[root@localhost ~]# ls /home
gaolu  linux  mandriva
 6羞酗、創(chuàng)建用戶slackware, 其ID號為2002,基本組為distor, 附加組為peguin;
[root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware
useradd: group 'peguin' does not exist
[root@localhost ~]# groupadd peguin
[root@localhost ~]# useradd -u 2002 -g distro -G peguin slackware
[root@localhost ~]# getent passwd slackware
slackware:x:2002:2019::/home/slackware:/bin/bash
[root@localhost ~]# id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)
 7紊服、修改slackware的默認shell為/bin/tcsh;

由6知slackware的shell為 /bin/bash

[root@localhost ~]# usermod -s /bin/tcsh slackware
[root@localhost ~]# getent passwd slackware
slackware:x:2002:2019::/home/slackware:/bin/tcsh
 8檀轨、為用戶slackware新增附加組admins;
[root@localhost ~]# groupadd admins
[root@localhost ~]# usermod -a -G admins slackware
[root@localhost ~]# id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin),2021(admins)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市欺嗤,隨后出現(xiàn)的幾起案子参萄,更是在濱河造成了極大的恐慌,老刑警劉巖煎饼,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讹挎,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機筒溃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門马篮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人怜奖,你說我怎么就攤上這事浑测。” “怎么了歪玲?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵尽爆,是天一觀的道長。 經(jīng)常有香客問我读慎,道長漱贱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任夭委,我火速辦了婚禮幅狮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘株灸。我一直安慰自己崇摄,他們只是感情好,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布慌烧。 她就那樣靜靜地躺著逐抑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屹蚊。 梳的紋絲不亂的頭發(fā)上厕氨,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機與錄音汹粤,去河邊找鬼命斧。 笑死,一個胖子當著我的面吹牛嘱兼,可吹牛的內(nèi)容都是我干的国葬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼芹壕,長吁一口氣:“原來是場噩夢啊……” “哼汇四!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起踢涌,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤通孽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后斯嚎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體利虫,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡挨厚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年堡僻,在試婚紗的時候發(fā)現(xiàn)自己被綠了糠惫。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡钉疫,死狀恐怖硼讽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情牲阁,我是刑警寧澤固阁,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站城菊,受9級特大地震影響备燃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凌唬,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一并齐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧客税,春花似錦况褪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秧均,卻和暖如春食侮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背目胡。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工疙描, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人讶隐。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓起胰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親巫延。 傳聞我的和親對象是個殘疾皇子效五,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355