第二周
1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录
创建文件夹
touch {A..z}f.txt
touch a{1..9}2.txt
touch {1..9}f.txt
touch {1..9}file.txt
mkdir {1..9}files
touch /etc/-test
touch /etc/*test
touch /etc/@test
touch /etc/^test
命令
#ls /etc | grep "^[^[:alpha:]]" | grep '?\[[:alpha:]]\{1,1\}"ls -a /etc/ | grep -E ^[^[:alpha:]][[:alpha:]].*
# 列出所有文件及文件夹;[:alpha:]所有字母包含大小写;^[:alpha:]不包含所有字母与大小写;^[^[:alpha:]]不包含所有字母与大小写的开头
2、复制 /etc 目录下所有以 p 开头,以非数字结尾的文件或目录到 /tmp/mytest1 目录中。
创建文件夹
touch /tmp/mytest1
\cp -a /etc/p*[^0-9] /tmp/mytest1/
3、将 /etc/issue 文件中的内容转换为大写后保存至 /tmp/issue.out 文件中
tr 'a-z' 'A-Z'/etc/issue > /tmp/issue.out
4、请总结描述用户和组管理类命令的使用方法并完成以下练习:
(1)、创建组 distro ,其 GID 为 2019 ;
groupadd distro -g 2019
(2)、创建用户 mandriva , 其ID号为 1005 ;基本组为 distro ;
useradd mandriva -u 1005 -g distro
(3)、创建用户 mageia ,其ID号为 1100 ,家目录为 /home/linux;
useradd mageia -u 1100 -d /home/linux
(4)、给用户 mageia 添加密码,密码为 mageedu ,并设置用户密码 7 天后过期
echo mageedu |passwd --stdin mageia;passwd mageia -x 7
(5)、删除 mandriva ,但保留其家目录;
userdel mandriva
(6)、创建用户 slackware ,其 ID 号为 2002 ,基本组为 distro ,附加组 peguin ;
groupadd peguin;useradd slackware -u 2002 -g distro -G peguin
(7)、修改 slackware 的默认 shell 为 /bin/tcsh;
usermod slackware -s /bin/tcsh
(8)、为用户 slackware 新增附加组 admins ,并设置不可登陆。
groupadd admins;usermod slackware -s /sbin/nologin -g admins
或
groupadd admins;usermod slackware -L -g admins
5、创建用户 user1、user2、user3 。在 /data/ 下创建目录 test
useradd user1;useradd user2;useradd user2;mkdir /data/test
(1)、目录 /data/test 属主、属组为 user1
chown user1:user1 /data/test
(2)、在目录属主、属组不变的情况下,user2 对文件有读写权限
chmod o=rw test
或
setfacl -m u:user2:rw test
(3)、user1 在 /data/test 目录下创建文件 a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除 1.sh,2.sh 文件、除了 user1 及 root 之外,所有用户都不可删除 a3.sh, a4.sh
su user1
cd /data/test
touch a{1..4}.sh
chmod 000 a{1..4}.sh
exit 或 su root
chattr +i a{3,4}.sh
rm -rf a{1..4}.sh #删除测试
(4)、user3 增加附加组 user1,同时要求 user1 不能访问 /data/test 目录及其下所有文件
usermod -G user1
setfacl -mR u:user1:000 /data/test
getfacl /data/test
#chown user1:user1 /data/test #f防止 /data/test 的所有者或所属组是 user1
(5)、清理 /data/test 目录及其下所有文件的 acl 权限
su root
setfacl -b /data/test