用shell腳本做學(xué)習(xí)記錄
#!/bin/bash
#
#########################################################################
# File Name: homework2.sh
# Author: Ammon
# Created Time: Tue 23 Nov 2021 08:29:44 PM CST
# DesC: This is a demo!
#########################################################################
#非字母開頭
#ls -d /etc/[^[:alpha:]][[:alpha:]]*
#復(fù)制/etc目錄下所有以p開頭,以非數(shù)字結(jié)尾的文件或目錄到/tmp/mytest1目錄
if [ -d "/tmp/mytest1/" ];then #判斷文件夾是否存在
rm /tmp/mytest1/*
echo "清空目錄"
else
echo "無/tmp/mytest1目錄抵碟,已新建"
mkdir /tmp/mytest1
fi
cp -ra /etc/p*[^0-9] /tmp/mytest1/
echo "拷貝完成"
ls -l /tmp/mytest1/
#將/etc/issue文件中的內(nèi)容轉(zhuǎn)換為大寫后保存至/tmp/issue.out文件
echo "開始轉(zhuǎn)換/etc/issue文件大小寫"
tr [:lower:] [:upper:] < /etc/issue > /tmp/issue.out
cat /tmp/issue.out
echo -e "\E[1;$[RANDOM%7+31]m已輸出到/tmp/issue.out\E[0m"
#用戶和組管理命令
#用戶管理:useradd usermod userdel 組賬號(hào)維護(hù)命令:groupadd groupmod groupdel
groupadd -g 2019 distro #組distro,GID=2019
useradd -u 1005 -g distro mandriva #用戶mandriva, ID:1005坏匪;基本組:distro
id mandriva
useradd -u 1100 -d /home/home_linux mageia #用戶mageia, ID:1100拟逮;指定家目錄:/home/linux
id mageia
echo "mageedu" | passwd mageia | passwd mageia -x 7 #非交互式修改密碼,maxdays=7
userdel mandriva #刪除mandriva,保留家目錄
id mageia
#exit 0
groupadd peguin
useradd -u 2002 -g distro -G peguin slackware #用戶slackware适滓,ID:'2002敦迄,基本組distro,附加組peguin
id slackware
chsh -s /bin/tcsh slackware #修改slackware的默認(rèn)shell為/bin/tcsh
getent passwd slackware
#為用戶slackware新增附加組admins凭迹,并設(shè)置不可登陸
groupadd admins
usermode -aG admins slackware #保留原有颅崩,不覆蓋,
chsh -s /sbin/nologin slackware
#exit 0
#創(chuàng)建用戶user1、user2蕊苗、user3
for k in {1..3}
do
useradd user$k
echo "user$k is add"
echo
done
mkdir /data/test #/data/下創(chuàng)建目錄test
#目錄/data/test屬主沿后、屬組為user1
ls -ld /data/test
chown user1:user1 /data/test
ls -ld /data/test
#在目錄屬主、屬組不變的情況下朽砰,user2對(duì)文件有讀寫權(quán)限
#setfacl:可設(shè)置ACL權(quán)限 getfacl:可查看設(shè)置的ACL權(quán)限
setfacl -m u:user2: /data/test
ls -ld data/test
getfacl /data/test
#user1在/data/test目錄下創(chuàng)建文件a1.sh, a2.sh, a3.sh,a4.sh尖滚,
#設(shè)置所有用戶都不可刪除1.sh,2.sh文件瞧柔、除了user1及root之外漆弄,
#所有用戶都不可刪除a3.sh, a4.sh
for y in {1..4}
do
touch /data/test/a$y.sh
if [ $y -lt 3 ];then
chattr -i /data/test/a$y.sh #設(shè)定文件特殊屬性,不能刪除,改名造锅,更改
else
chmod o+t /data/test/a$y.sh #Sticky權(quán)限設(shè)定,只有文件所有者和root可刪除文件
fi
echo "/data/test/a$y.sh已創(chuàng)建"
done
ls -ld /data/test
#user3增加附加組user1
usermod -aG user1 user3
#同時(shí)要求user1不能訪問/data/test目錄及其下所有文件
setfacl -m u:user1:-w- /data/test
setfacl -b /data/test #清除所有ACL權(quán)限
ls -ld /data/test
未能熟練運(yùn)用撼唾,里面還有bug,只做命令學(xué)習(xí)的記錄哥蔚,部分執(zhí)行結(jié)果截圖如下
image.png
image.png
image.png