1瞻惋、顯示/etc目錄下厦滤,以非字母開頭,后面跟了一個(gè)字母以及其它任意長(zhǎng)度任意字符的文件或目錄
root@ubuntu-test:~# touch /etc/{1..10}.txt
root@ubuntu-test:~# touch /etc/{1..10}b.txt
root@ubuntu-test:~# touch /etc/{1..10}bggg.txt
root@ubuntu-test:~# mkdir /etc/{1..10}
root@ubuntu-test:~# mkdir /etc/{1..10}b
root@ubuntu-test:~# mkdir /etc/{1..10}b111
root@ubuntu-test:~# ls -d /etc/[^[:alpha:]][[:alpha:]]*
/etc/1b /etc/1b.txt /etc/2bggg.txt /etc/3b111 /etc/4b /etc/4b.txt /etc/5bggg.txt /etc/6b111 /etc/7b /etc/7b.txt /etc/8bggg.txt /etc/9b111
/etc/1b111 /etc/2b /etc/2b.txt /etc/3bggg.txt /etc/4b111 /etc/5b /etc/5b.txt /etc/6bggg.txt /etc/7b111 /etc/8b /etc/8b.txt /etc/9bggg.txt
/etc/1bggg.txt /etc/2b111 /etc/3b /etc/3b.txt /etc/4bggg.txt /etc/5b111 /etc/6b /etc/6b.txt /etc/7bggg.txt /etc/8b111 /etc/9b /etc/9b.txt
2歼狼、復(fù)制/etc目錄下所有以p開頭掏导,以非數(shù)字結(jié)尾的文件或目錄到/tmp/mytest1目錄中。
root@ubuntu-test:~# ls -d /etc/p*[^[:digit:]]
/etc/pam.conf /etc/pam.d /etc/passwd /etc/passwd- /etc/perl /etc/pm /etc/pollinate /etc/popularity-contest.conf /etc/profile /etc/profile.d /etc/protocols
root@ubuntu-test:~# mkdir /tmp/mytest1
root@ubuntu-test:~# cp -a /etc/p*[^[:digit:]] /tmp/mytest1/
root@ubuntu-test:~# ls /tmp/mytest1/
pam.conf pam.d passwd passwd- perl pm pollinate popularity-contest.conf profile profile.d protocols
root@ubuntu-test:~# ls -d /etc/p*[^[:digit:]] | wc -l
11
root@ubuntu-test:~# ls /tmp/mytest1/ | wc -l
11
3羽峰、將/etc/issue文件中的內(nèi)容轉(zhuǎn)換為大寫后保存至/tmp/issue.out文件中
root@ubuntu-test:~# cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out
root@ubuntu-test:~# cat /tmp/issue.out
UBUNTU 18.04.5 LTS \N \L
4趟咆、請(qǐng)總結(jié)描述用戶和組管理類命令的使用方法并完成以下練習(xí):
1添瓷、用戶
1.1值纱、useradd
useradd 命令可以創(chuàng)建新的Linux用戶
格式:
useradd [options] LOGIN
常見選項(xiàng):
-u UID
-o 配合
-u 選項(xiàng),不檢查UID的唯一性
-g GID 指明用戶所屬基本組虐唠,可為組名,也可以GID
-c"COMMENT“ 用戶的注釋信息
-d HOME_DIR 以指定的路徑(不存在)為家目錄
-s SHELL 指明用戶的默認(rèn)shell程序疆偿,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 為用戶指明附加組咱筛,組須事先存在
-N 不創(chuàng)建私用組做主組,使用users組做主組
-r 創(chuàng)建系統(tǒng)用戶 CentOS 6之前: ID<500眷蚓,CentOS7 以后: ID<1000-m創(chuàng)建家目錄反番,用于系統(tǒng)用戶-M不創(chuàng)建家目錄沙热,用于非系統(tǒng)用戶-p指定加密的密碼
1.2、usermod
usermod 命令可以修改用戶屬性
格式:
usermod [OPTION] login
常見選項(xiàng):
-a 表示在原來所屬組的基礎(chǔ)上追加
-u UID: 新UID
-g GID: 新主組
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組罢缸,原來的附加組將會(huì)被覆蓋篙贸;若保留原有枫疆,則要同時(shí)使用-a選項(xiàng)
-s SHELL:新的默認(rèn)SHELL
-c'COMMENT':新的注釋信息
-d HOME: 新家目錄不會(huì)自動(dòng)創(chuàng)建;若要?jiǎng)?chuàng)建新家目錄并移動(dòng)原家數(shù)據(jù)息楔,同時(shí)使用-m選項(xiàng)
-l login_name: 新的名字
-L: lock指定用戶,在/etc/shadow 密碼欄的增加 !
-U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉
-e YYYY-MM-DD: 指明用戶賬號(hào)過期日期
-f INACTIVE: 設(shè)定非活動(dòng)期限值依,即寬限期
1.3、userdel
userdel 可刪除Linux 用戶
格式:
userdel [OPTION]... Login
常見選項(xiàng):
-f, --force 強(qiáng)制
-r, --remove 刪除用戶家目錄和郵箱
2愿险、用戶組
2.1、groupadd
groupadd實(shí)現(xiàn)創(chuàng)建組
格式:
groupadd [OPTION]... group_name
常見選項(xiàng):
-g GID 指明GID號(hào)风秤;[GID_MIN, GID_MAX]
-r 創(chuàng)建系統(tǒng)組扮叨,CentOS 6之前: ID<500,CentOS 7以后: ID<1000
2.2彻磁、groupmod
groupmod 組屬性修改
格式:
groupmod [OPTION]... group
常見選項(xiàng):
-n group_name: 新名字
-g GID:新的GID
2.3惦费、groupdel
groupdel 可以刪除組
格式:
groupdel [options] GROUP
常見選項(xiàng):
-f, --force 強(qiáng)制刪除,即使是用戶的主組也強(qiáng)制刪除組,但會(huì)導(dǎo)致無(wú)主組的用戶不可用無(wú)法登錄
2.4恍箭、groups
groups 可查看用戶組關(guān)系
格式:
查看用戶所屬組列表
groups [OPTION].[USERNAME]..
2.5、newgrp
newgrp 命令可以臨時(shí)切換主組鳍贾,如果用戶本不屬于此組交洗,則需要組密碼
格式:
newgrp [-] [group]
2.6、groupmems
groupmems 可以管理附加組的成員關(guān)系
格式:
groupmems [options] [action]
常見選項(xiàng):
-g, --group groupname #更改為指定組 (只有root)
-a, --add username #指定用戶加入組
-d, --delete username #從組中刪除用戶
-p, --purge#從組中清除所有成員
-l, --list#顯示組成員列表
2.7咆爽、chgrp
chgrp 命令可以只修改文件的屬組
格式:
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
用法:
-R 遞歸
(1)置森、創(chuàng)建組distro,其GID為2019凫海;
[root@zabbix-test ~]$groupadd -g 2019 distro
[root@zabbix-test ~]$cat /etc/group | grep 'distro'
distro:x:2019:
(2)行贪、創(chuàng)建用戶mandriva, 其ID號(hào)為1005;基本組為distro建瘫;
[root@zabbix-test ~]$useradd -u 1005 -g distro mandriva
[root@zabbix-test ~]$id mandriva
uid=1005(mandriva) gid=2019(distro) 組=2019(distro)
(3)、創(chuàng)建用戶mageia缕贡,其ID號(hào)為1100拣播,家目錄為/home/linux;
[root@zabbix-test ~]$useradd -u 1100 -d /home/linux mageia
[root@zabbix-test ~]$id mageia
uid=1100(mageia) gid=1100(mageia) 組=1100(mageia)
[root@zabbix-test ~]$ll /home/linux/
總用量 0
(4)、給用戶mageia添加密碼谍倦,密碼為mageedu泪勒,并設(shè)置用戶密碼7天后過期
[root@zabbix-test ~]$echo 'mageedu' | passwd --stdin -x 7 mageia
調(diào)整用戶密碼老化數(shù)據(jù)mageia宴猾。
passwd: 操作成功
(5)叼旋、刪除mandriva,但保留其家目錄讹剔;
[root@zabbix-test ~]$userdel -f mandriva
[root@zabbix-test ~]$ll /home/linux/
總用量 0
(6)详民、創(chuàng)建用戶slackware,其ID號(hào)為2002沈跨,基本組為distro,附加組peguin狞玛;
[root@zabbix-test ~]$useradd -u 2002 -g distro -G peguin slackware
[root@zabbix-test ~]$id slackware
uid=2002(slackware) gid=2019(distro) 組=2019(distro),2020(peguin)
(7)笤喳、修改slackware的默認(rèn)shell為/bin/tcsh;
[root@zabbix-test ~]$usermod -s /bin/tcsh slackware
[root@zabbix-test ~]$cat /etc/passwd | grep slackware
slackware:x:2002:2019::/home/slackware:/bin/tcsh
(8)蒙畴、為用戶slackware新增附加組admins呜象,并設(shè)置不可登陸。
[root@zabbix-test ~]$usermod -a -G admins -s /sbin/nologin slackware
[root@zabbix-test ~]$cat /etc/passwd | grep slackware
slackware:x:2002:2019::/home/slackware:/sbin/nologin
[root@zabbix-test ~]$id slackware
uid=2002(slackware) gid=2019(distro) 組=2019(distro),1001(admins),2020(peguin)
5蹬音、創(chuàng)建用戶user1休玩、user2、user3拴疤。在/data/下創(chuàng)建目錄test
[root@zabbix-test ~]$for i in {1..3};do useradd user$i;done
[root@zabbix-test ~]$cat /etc/passwd | grep -E 'user[1-3]'
user1:x:2004:2004::/home/user1:/bin/bash
user2:x:2005:2005::/home/user2:/bin/bash
user3:x:2006:2006::/home/user3:/bin/bash
[root@zabbix-test ~]$mkdir -p /data/test;ll /data/test
總用量 0
(1)、目錄/data/test屬主呐矾、屬組為user1
[root@zabbix-test data]$chown user1:user1 /data/test/;ll -d /data/test
drwxr-xr-x. 2 user1 user1 6 7月 18 22:02 /data/test
(2)蜒犯、在目錄屬主荞膘、屬組不變的情況下玉工,user2對(duì)文件有讀寫權(quán)限
[root@zabbix-test data]$setfacl -m u:user2:rw /data/test
[root@zabbix-test data]$getfacl /data/test
getfacl: Removing leading '/' from absolute path names
# file: data/test
# owner: user1
# group: user1
user::rwx
user:user2:rw-
group::r-x
mask::rwx
other::r-x
(3)、user1在/data/test目錄下創(chuàng)建文件a1.sh, a2.sh, a3.sh, a4.sh遵班,設(shè)置所有用戶都不可刪除1.sh费奸,2.sh文件进陡、除了user1及root之外,所有用戶都不可刪除a3.sh, a4.sh
1趾疚、在/data/test目錄下創(chuàng)建文件a1.sh, a2.sh, a3.sh, a4.sh
[root@zabbix-test ~]$su user1
[user1@zabbix-test root]$touch /data/test/a{1..4}.sh;ls /data/test/
a1.sh a2.sh a3.sh a4.sh
2糙麦、設(shè)置所有用戶都不可刪除1.sh,2.sh文件
[user1@zabbix-test test]$chattr +i /data/test/a{1..2}.sh
chattr: 不允許的操作 while setting flags on /data/test/a1.sh
chattr: 不允許的操作 while setting flags on /data/test/a2.sh
3赡磅、除了user1及root之外,所有用戶都不可刪除a3.sh, a4.sh
[root@zabbix-test ~]$ll /data/test/a{3..4}.sh
-rw-rw-r--. 1 user1 user1 0 7月 18 22:14 a3.sh
-rw-rw-r--. 1 user1 user1 0 7月 18 22:14 a4.sh
[user1@n51c7 test]$ chmod o+t /data/test/a{3..4}.sh
(4)冶匹、user3增加附加組user1咆瘟,同時(shí)要求user1不能訪問/data/test目錄及其下所有文件
[root@zabbix-test ~]$usermod -a -G user1 user3;id user3
uid=2006(user3) gid=2006(user3) 組=2006(user3),2004(user1)
[root@zabbix-test ~]$setfacl -m u:user1:- /data/test
[root@zabbix-test ~]$chown root:root /data/test
[root@zabbix-test ~]$su user1
[user1@zabbix-test root]$cd /data/test/
bash: cd: /data/test/: 權(quán)限不夠
[user1@zabbix-test root]$cat /data/test/a1.sh
bash: cat: /data/test/a1.sh: 權(quán)限不夠
(5)、清理/data/test目錄及其下所有文件的acl權(quán)限
[root@zabbix-test ~]$setfacl -R -b /data/test/
[root@zabbix-test ~]$getfacl /data/test
getfacl: Removing leading '/' from absolute path names
# file: data/test
# owner: root
# group: root
user::rwx
group::r-x
other::r-x