Linux学习第二周-IO重定向和用户组管理

目录

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

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

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

4、请总结描述用户和组管理类命令的使用方法并完成以下练习:

(1)、创建组distro,其GID为2019;

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

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

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

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

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

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

(8)、为用户slackware新增附加组admins,并设置不可登陆。创建用户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权限


 

 

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

cp:复制文件或目录

命令参数:

-a --(archive)此参数的效果和同时指定"-dpR"参数相同

-b --(backup)删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录

-f --(force)强行复制文件或目录, 不论目的文件或目录是否已经存在 -i --(interactive)覆盖文件之前先询问用户

-l --(link)对源文件建立硬链接,而非复制文件

-p --(preserve)保留源文件或目录的属性,包括所有者、所属组、权限与时间

-P --(parents)保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在

-r -- 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理 -R --(recursive)递归处理,将指定目录下的文件及子目录一并处理

-s --(symbolic-link)对源文件建立符号链接,而非复制文件

-S --(suffix)备份字尾字符串,用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"

-u --(update)使用这项参数之后,只会在源文件的修改时间较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件

-v --(verbose)显示执行过程

-V -- <备份方式>指定当备份文件时,备份文件名的命名方式,有以下3种: 1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增 2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定 3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份

-x -- 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件

- help **重点内容**-- 显示在线帮助

- sparse -- 设置保存希疏文件的时机

- version -- 显示版本

 源文件和目标文件的各种情况:

 目标不存在目标存在且为文件目标存在且为目录
源为一个文件时创建目标文件并复制源文件中的内容将源文件内容覆盖到目标文件中(建议用-i选项提示)将源文件复制到目录里面去,成为目录里面的文件
源为多个文件时报错报错将多个源文件复制到目标文件目录里面,成为目录里面的文件
源为目录时(必须用-r选项)创建同名的目录,并将源目录中的文件复制到新的目录中去报错将源文件目录复制到目标目录下,成为目录里面的子目录

 

mv:移动文件或者将文件改名

语法格式:

mv (选项) 源 目标

mv (选项) 源(可以为多个)... 目录(多个源时,目录必须是文件夹)

mv (选项) -t 目录 源...

-b :若需覆盖文件,则覆盖前先行备份。

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会更新(update)

-t :指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

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

IO重定向的类别:

1):标准输入的重定向:描述符代码0

2):标准输出的重定向:描述符代码1

3):标准错误的重定向:描述符代码2

区别:

1):标准输入的重定向
  0< 或 < 把标准输入重定向到文件
 
2):标准输出的重定向
  1> 或 > 把标准输出重定向到文件  
  &> 把所有输出重定向到文件
  >> 追加标准输出重定向到文件
 
3):标准错误的重定向
  2> 把标准错误重定向到文件
  2>> 追加标准错误重定向到文件

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

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


4、请总结描述用户和组管理类命令的使用方法并完成以下练习:

用户管理命令

1):useradd 用户创建

选项:
-u UID 
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6之前: ID<500,CentOS 7以后: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户

2):usermod 用户属性修改

选项:
-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m
-l login_name: 新的名字
-L lock指定用户,在/etc/shadow 密码栏的增加 ! 
-U unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限,即宽限期

3):userdel 删除用户

选项:
-f, --force  强制
-r, --remove 删除用户家目录和邮箱

组管理命令:

4):groupadd 创建组

选项:
-g GID 指明GID号;[GID_MIN, GID_MAX]
-r 创建系统组,CentOS 6之前: ID<500,CentOS 7以后: ID<1000

5):groupmod 修改组

选项:
-n group_name: 新名字
-g GID: 新的GID

6):groupdel 删除组

选项:
-f, --force 强制删除,即使是用户的主组也强制删除组

 


(1)、创建组distro,其GID为2019;

[root@centos7 ~]# groupadd -g 2019 distro
[root@centos7 ~]# cat etc/group
cat: etc/group: No such file or directory
[root@centos7 ~]# cat /etc/group
root:x:0:
......
yyf:x:1000:yyf
distro:x:2019:


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

[root@centos7 ~]# useradd -u 1005 mandrive -g distro
[root@centos7 ~]# id mandrive
uid=1005(mandrive) gid=2019(distro) groups=2019(distro)


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

[root@centos7 ~]# useradd -u 1100 mageia -d /home/linux
[root@centos7 ~]# id mageia
uid=1100(mageia) gid=1100(mageia) groups=1100(mageia)
[root@centos7 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
......
yyf:x:1000:1000:yyf:/home/yyf:/bin/bash
mandrive:x:1005:2019::/home/mandrive:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash


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

[root@centos7 ~]# psswd mageia
bash: psswd: command not found...
[root@centos7 ~]# passwd mageia
Changing password for user mageia.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@centos7 ~]# usermod -e 2021/6/24 mageia
[root@centos7 ~]# cat /etc/shadow
root:$6$0Zp3zc7K/odJE0s2$RNsrgwey6ndkP2R6LgWuxnjufhYJPHo1IC21ZgZ.Q5.OeusMQrUKRdM0dnJ4fUc2YLRSDmoAfQABw087IPPEF0::0:99999:7:::
......
mageia:$6$7WZAjiJA$6Mz.6vfl8/NGGUdHQ1JXc0KzwDZtBwb/.DEhb9uWtRE6K6esDy5RQ/mjttbavcrwswx6.40xhkkOZZulurKvn.:18795:0:99999:7::18802:
 


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

[root@centos7 ~]# userdel mandrive
[root@centos7 ~]# ls -a /home/mandrive
.   .bash_logout   .bashrc
..  .bash_profile  .mozilla


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

[root@centos7 ~]# groupadd peguin
[root@centos7 ~]# useradd slackware -u 2002 -g distro -G peguin 
[root@centos7 ~]# id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2020(peguin)


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

[root@centos7 ~]# usermod -s /bin/tcsh slackware
[root@centos7 ~]# cat /etc/passwd
(内容省略...)
mageia:x:1100:1100::/home/liunx:/bin/bash
slackware:x:2002:2019::/home/slackware:/bin/tcsh


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

[root@centos7 ~]# groupadd admins
[root@centos7 ~]# usermod -G admins -L slackware
[root@centos7 ~]# cat /etc/shadow
(内容省略...)
mageia:$6$2RkTRTij$kFAxY05EEihriYq4MZbIS3A3zcAn7xUsQaLTF051DpFin3QNcbek2w3j1kXStKI23KNcQ.pCa3Wo.A6n/L10
b.:18744:0:99999:7::18752:slackware:!!:18744:0:99999:7:::
 


5、创建用户user1、user2、user3。在/data/下创建目录test

[root@centos7 ~]# useradd user1
[root@centos7 ~]# useradd user2
[root@centos7 ~]# useradd user3
[root@centos7 ~]# cd /data/
[root@centos7 data]# mkdir test
[root@centos7 data]# ls
test


(1)、设置目录/data/test属主、属组为user1

[root@centos7 data]# ll
total 0
drwxr-xr-x. 2 root root 6 Apr 28 21:25 test
[root@centos7 data]# chown user1.user1 test
[root@centos7 data]# ll
total 0
drwxr-xr-x. 2 user1 user1 6 Apr 28 21:25 test
 


(2)、在目录属主、属组不变的情况下,user2对test及其子目录有读写权限

[root@centos7 data]# ll
total 0
drwxr-xr-x. 2 user1 user1 6 Apr 28 21:25 test
[root@centos7 data]# setfacl -Rm g:user2:rw test/
[root@centos7 data]# ll
total 0
drwxrwx---+ 2 user1 user1 58 Apr 28 22:03 test
[root@centos7 data]# getfacl test/
# file: test/
# owner: user1
# group: user1
user::rwx
group::r-x
group:user2:rw-
mask::rwx
other::---


(3)、user1在/data/test目录下创建文件a1.sh, a2.sh, a3.sh, a4.sh,设置所有用户都不可删除1.sh,2.sh文件。

[root@centos7 data]# cd test/
[root@centos7 test]# touch a1.sh a2.sh a3.sh a4.sh
[root@centos7 test]# ll
total 0
-rw-r--r--+. 1 root root 0 Apr 28 22:03 a1.sh
-rw-r--r--+. 1 root root 0 Apr 28 22:03 a2.sh
-rw-r--r--+. 1 root root 0 Apr 28 22:03 a3.sh
-rw-r--r--+. 1 root root 0 Apr 28 22:03 a4.sh
[root@centos7 test]# chattr +i a1.sh a2.sh 
[root@centos7 test]# lsattr a1.sh a2.sh 
----i----------- a1.sh
----i----------- a2.sh
[root@centos7 test]# rm -rf a1.sh a2.sh 
rm: cannot remove ‘a1.sh’: Operation not permitted
rm: cannot remove ‘a2.sh’: Operation not permitted


(4)、清理/data/test目录及其下所有文件的acl权限

[root@centos7 data]# setfacl -Rb test/
[root@centos7 data]# ll
total 0
drwxr-x---. 2 user1 user1 58 Apr 28 22:03 test
[root@centos7 data]# ll test/
total 0
-rw-r--r--. 1 root root 0 Apr 28 22:03 a1.sh
-rw-r--r--. 1 root root 0 Apr 28 22:03 a2.sh
-rw-r--r--. 1 root root 0 Apr 28 22:03 a3.sh
-rw-r--r--. 1 root root 0 Apr 28 22:03 a4.sh
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值