作业2

1、总结cp、move命令的用法(要求列出源及目标各种情况的表格)

源\目标 不存在 存在且为目录 存在且为文件
文件 在目标位置创建一个同名的文件 将源文件复制到这里 覆盖该文件
目录 在该位置创建一个目录,且同名 将源目录作为子目录复制到这里 报错
一次多个文件 报错 将文件复制到该目录 报错

2、总结IO重定向的类别和区别。

> 标准覆盖重定向
>> 标准追加重定向

2> 错误覆盖重定向
2>> 错误追加重定向

&>  错误和正确的都覆盖重定向
&>>  错误和正确的都追加重定向
COMMAND  >FILENAME  2>&1 错误和正确的都覆盖到FILENAME里面
COMMAND  >>FILENAME  2>&1 错误和正确的都追加到FILENAME里面
COMMAND   >F1  2>F2 一个命令输出的结果如果正确就覆盖在F1中,如果错误就覆盖到F2中
COMMAND   >>F1  2>>F2 一个命令输出的结果如果正确就追加在F1中,如果错误就追加到F2中

COMMAND <F1  命令将F1的内容作为标准输入给COMMAND
COMMAND <<标识符  命令把标准输入中读入内容,直到遇到标识符为止
COMMAND <F1 >F2 命令F1的内容作为标准输入,F2的内容作为标准输出

set -C  若原文件有内容,则将设置成为不准许覆盖输出若非要在设置了-C的同时还有覆盖输出,则需要 >| 即可。
set  +C 取消

3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

[root05:03 PMcentos7 /scripts]#tr 'a-z' 'A-Z'  < /etc/issue |tee /tmp/issus.out 
\S

KERNEL \R ON AN \M

4、请总结描述用户和组管理类命令的使用方法并完成以下练习:
(1)、创建组distro,其GID为2019;

[root05:12 PMcentos7 /scripts]#groupadd -g 2019 distro
[root05:13 PMcentos7 /scripts]#getent group distro
distro:x:2019:

(2)、创建用户mandriva, 其ID号为1005;基本组为distro;

[root05:15 PMcentos7 /scripts]#useradd -u 1005 -g distro mandriva
[root05:16 PMcentos7 /scripts]#id mandriva
uid=1005(mandriva) gid=2019(distro) groups=2019(distro)

(3)、创建用户mageia,其ID号为1100,家目录为/home/linux;

[root05:18 PMcentos7 /scripts]#useradd -u 1100 -d /home/linux mageia
[root05:18 PMcentos7 /scripts]#getent  passwd mageia
mageia:x:1100:1100::/home/linux:/bin/bash

(4)、给用户mageia添加密码,密码为mageedu,并设置用户密码7天后过期

[root05:54 PMcentos7 /scripts]#echo mageedu |passwd  -x 7 --stdin mageia
Adjusting aging data for user mageia.
passwd: Success
[root05:56 PMcentos7 /scripts]#chage -l mageia
Last password change                    : Jun 07, 2021
Password expires                    : Jun 14, 2021
Password inactive                   : never
Account expires                     : never
Minimum number of days between password change      : 0
Maximum number of days between password change      : 7
Number of days of warning before password expires   : 7
[root05:56 PMcentos7 /scripts]#getent shadow mageia
mageia:!!:18785:0:7:7:::

(5)、删除mandriva,但保留其家目录;

[root05:19 PMcentos7 /scripts]#userdel mandriva
[root05:20 PMcentos7 /scripts]#ll /home/linux/
total 0
[root05:20 PMcentos7 /scripts]#ll /home/linux -a
total 20
drwx------.  2 mageia mageia 4096 Jun  7 17:18 .
drwxr-xr-x. 10 root   root   4096 Jun  7 17:18 ..
-rw-r--r--.  1 mageia mageia   18 Apr  1  2020 .bash_logout
-rw-r--r--.  1 mageia mageia  193 Apr  1  2020 .bash_profile
-rw-r--r--.  1 mageia mageia  231 Apr  1  2020 .bashrc

(6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

[root05:23 PMcentos7 /scripts]#useradd -u 2002 -g distro  -G peguin   slackware
[root05:23 PMcentos7 /scripts]#id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)

(7)、修改slackware的默认shell为/bin/tcsh;

[root05:24 PMcentos7 /scripts]#usermod  -s /bin/tcsh slackware

(8)、为用户slackware新增附加组admins,并设置不可登陆。

[root05:27 PMcentos7 /scripts]#groupadd admins
[root05:27 PMcentos7 /scripts]#usermod  -aG admins slackware
[root05:40 PMcentos7 /scripts]# chsh slackware -s /sbin/nologin
[root05:44 PMcentos7 /scripts]#sed -r '/slackware/!d'  /etc/passwd
slackware:x:2002:2019::/home/slackware:/sbin/nologin

创建用户user1、user2、user3。在/data/下创建目录test
(1)、设置目录/data/test属主、属组为user1
(2)、在目录属主、属组不变的情况下,user2对test及其子目录有读写权限
(3)、user1在/data/test目录下创建文件a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除1.sh,2.sh文件。
(4)、清理/data/test目录及其下所有文件的acl权限

[root05:28 PMcentos7 /scripts]#echo user{1..3} |xargs -n1 useradd 
[root05:33 PMcentos7 /scripts]#mkdir /data/test -p
[root05:35 PMcentos7 /scripts]#chown user1.user1 /data/test/
==============================================================================
[root05:36 PMcentos7 /scripts]#setfacl -m  u:user2:wr /data/test/
============================================================================
[root06:12 PMcentos7 /data/test]#su - user1 -c "touch /data/test/a{1..4}.sh"
[root06:13 PMcentos7 /data/test]#ll
total 0
-rw-rw-r--. 1 user1 user1 0 Jun  7 18:13 a1.sh
-rw-rw-r--. 1 user1 user1 0 Jun  7 18:13 a2.sh
-rw-rw-r--. 1 user1 user1 0 Jun  7 18:13 a3.sh
-rw-rw-r--. 1 user1 user1 0 Jun  7 18:13 a4.sh
[root06:13 PMcentos7 /data/test]#chattr +i a{1..2}.sh
[root06:14 PMcentos7 /data/test]#lsattr a1.sh  a2.sh 
----i--------e-- a1.sh
----i--------e-- a2.sh
[root06:14 PMcentos7 /data/test]#rm -rf a1.sh 
rm: cannot remove ‘a1.sh’: Operation not permitted
[root06:15 PMcentos7 /data/test]#rm -rf a2.sh 
rm: cannot remove ‘a2.sh’: Operation not permitted
====================================================================================
[root06:15 PMcentos7 /data/test]#setfacl -b /data/test
[root06:19 PMcentos7 /data/test]#getfacl /data/test/
getfacl: Removing leading '/' from absolute path names
# file: data/test/
# owner: user1
# group: user1
user::rwx
group::r-x
other::r-x
上一篇:修改新增的网卡ens37


下一篇:微信登录时用户信息无法写入数据库