第二週做業提交

一、cp命令是用來將一個或多個源文件或者目錄複製到指定的目的文件或目錄
cp [選項] [參數]
cp 源文件 目標文件
cp -r 源目錄 目標目錄
cp -p 源文件 目標文件
cp -r a b c d e e必定是一個目錄 abcd複製到e裏邊,多參數多選項
cp /etc/inittab . (.是指當前文件)
cp /etc/inittab a (把inittab複製過來更名爲a)
-i 若目標文件已存在,則會詢問是否覆蓋node

源/目標 不存在 存在且爲文件 存在且爲目錄
一個文件 新建DEST,並將SRC填充到DEST中 直接填充建廣義用-i選項 DEST中新建 與SRC相同的文件名,並將內容填充
多個文件 error error 在DEST新建與原文件相同名字的文件,並將內容填充
目錄需使用-r 建立指定DEST同名目錄,複製SRC目錄中全部文件到EST下 error Te 在DEST下新建一原目錄同名的目錄,並將SRC中的內容複製至新目錄中

mv 源文件與目標文件在同一個目錄,它的功能是重命名。movelinux

-i 若存在同名文件,則向用戶詢問是否覆蓋
-f 覆蓋已有文件時,不進行任何提示
-b 當文件存在時,覆蓋前爲其建立一個備份
-u當源文件比目標文件新,或者目標文件不存在時,才執行移動此操做shell

MV動做/目標狀況 同目錄動做 不一樣目錄
目標存在 重命名 提示是否overwrite
目標不存在 ------ 移動

二、
tr的英文全稱是「 transform 」,即轉換的意思。bash

Linux給程序提供三種I/O設備
標準輸入 -0 默認接受來自終端窗口的輸入
標準輸出 -1 默認輸出到終端窗口
標準錯誤 -2 默認輸出到終端窗口ide

標準輸出範例:
hostname 1> /dev/pts/1 在當前pts0終端輸入該命令,輸出到pts1終端
在使用 > 進行輸出重定向的時候,後一次的輸出會覆蓋前一次的輸出,若是咱們不想進行覆蓋,就使用 >> 進行追加劇定向
標準錯誤範例:
xxx 2> /data/f1.log 將執行xxx的錯誤輸出命令放到/data/f1.log下
標準輸入範例:
[root@nodex data]# seq -s+ 1 100 > bc.log
[root@nodex data]# cat bc.log
1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100
[root@nodex data]# bc < bc.log
5050
[root@nodex data]# ui

三、將/etc/issue文件中的內容轉換爲大寫後保存至/tmp/issue.out文件中
方法一:
[root@nodex data]# cat /etc/issue | tr '[:lower:]' '[:upper:]' > /tmp/issue.out
方法二:
[root@nodex data]# cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out1
[root@nodex data]# cat /tmp/issue.out1
\S
KERNEL \R ON AN \M加密

[root@nodex data]# cat /tmp/issue.out
\S
KERNEL \R ON AN \Morm

[root@nodex data]# token

四、
四、請總結描述用戶和組管理類命令的使用方法並完成如下練習:
(1)、建立組distro,其GID爲2019;
[root@nodex data]# date
Tue May 4 19:28:43 CST 2021
[root@nodex data]# groupadd -g 2019 distrorem

(2)、建立用戶mandriva, 其ID號爲1005;基本組爲distro;
[root@nodex data]# useradd -u 1005 -g distro mandriva
[root@nodex data]# id mandriva
uid=1005(mandriva) gid=2019(distro) groups=2019(distro)
[root@nodex data]#

(3)、建立用戶mageia,其ID號爲1100,家目錄爲/home/linux;
[root@nodex data]# mkdir -p /home/linux
[root@nodex data]# useradd -u 1100 -d /home/linux mageia
[root@nodex ~]# cat /etc/passwd | grep mageia
mageia:x:1100:1100::/home/linux:/bin/bash
[root@nodex ~]#

(4)、給用戶mageia添加密碼,密碼爲mageedu,並設置用戶密碼7天后過
[root@nodex ~]# echo mageedu | passwd --stdin mageia
Changing password for user mageia.
passwd: all authentication tokens updated successfully.
[root@nodex ~]#

兩種方式改密碼過時時間:
-M 密碼保持有效的最大天數
chage -M 7 megeia
-x 指定口令最長存活期
passwd -x 7 megeia
[root@nodex ~]# chage -M 7 mageia
[root@nodex ~]# cat /etc/shadow | grep mageia
mageia:$6$KwkWXq3r$6wRim294DG.pKYuSpmL3CIZWdYRJFU1joNkzO4CrFJJjzvYnMp3NeaHgYyPS3s3Q/Kyd6PzNOMaRM90g.QF4F0:18751:0:7:7:::
[root@nodex ~]# passwd -x 7 mageia
Adjusting aging data for user mageia.
passwd: Success
[root@nodex ~]# cat /etc/shadow | grep mageia
mageia:$6$KwkWXq3r$6wRim294DG.pKYuSpmL3CIZWdYRJFU1joNkzO4CrFJJjzvYnMp3NeaHgYyPS3s3Q/Kyd6PzNOMaRM90g.QF4F0:18751:0:7:7:::
[root@nodex ~]#

(5)、刪除mandriva,但保留其家目錄;
[root@nodex home]# userdel mandriva
[root@nodex home]# ll
drwx------ 3 1005 distro 92 May 4 19:29 mandriva
[root@nodex home]#

(6)、建立用戶slackware,其ID號爲2002,基本組爲distro,附加組peguin;
[root@nodex home]# useradd -u 2002 -g distro slackware
[root@nodex home]# id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro)
[root@nodex home]#
groupadd peguin
groupmems -a slackware -g peguin
或者
usermod slackware -G peguin
或者
useradd -u 2002 slackware -g distro -G peguin
或者
gpasswd -a slackware peguin
(7)、修改slackware的默認shell爲/bin/tcsh;
[root@nodex home]# usermod slackware -s /bin/tcsh
[root@nodex home]# cat /etc/passwd | grep slackware
slackware:x:2002:2019::/home/slackware:/bin/tcsh
[root@nodex home]#

(8)、爲用戶slackware新增附加組admins,並設置不可登錄。
[root@nodex home]# groupadd admins
[root@nodex home]#
[root@nodex home]# usermod slackware -G admins
[root@nodex home]#
[root@nodex home]# id slackware
uid=2002(slackware) gid=2019(distro) groups=2019(distro),2021(admins)
[root@nodex home]# chsh slackware -s /sbin/nologin
Changing shell for slackware.
chsh: Warning: "/sbin/nologin" is not listed in /etc/shells.
Shell changed.
[root@nodex home]# cat /etc/passwd | grep slackware
slackware:x:2002:2019::/home/slackware:/sbin/nologin
[root@nodex home]#

建立用戶user一、user二、user3。在/data/下建立目錄test
(1)、設置目錄/data/test屬主、屬組爲user1
[root@nodex home]# useradd user1
[root@nodex home]# useradd user2
[root@nodex home]# useradd user3
[root@nodex home]# mkdir /data/test -p
[root@nodex home]# chown user1:user1 /data/test
[root@nodex data]# ll -d /data/test
drwxr-xr-x 2 user1 user1 6 May 4 19:41 /data/test
[root@nodex data]#

(2)、在目錄屬主、屬組不變的狀況下,user2對test及其子目錄有讀寫權限
[root@nodex data]# setfacl -m u:user2:rw /data/test/
[root@nodex 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

[root@nodex data]#

(3)、user1在/data/test目錄下建立文件a1.sh, a2.sh, a3.sh, a4.sh,設置全部用戶都不可刪除a1.sh,a2.sh文件。
[root@nodex test]# su user1
[user1@nodex test]$ pwd
/data/test
[user1@nodex test]$ touch a{1..4}.sh
[user1@nodex test]$ ll
total 0
-rw-rw-r-- 1 user1 user1 0 May 4 19:44 a1.sh
-rw-rw-r-- 1 user1 user1 0 May 4 19:44 a2.sh
-rw-rw-r-- 1 user1 user1 0 May 4 19:44 a3.sh
-rw-rw-r-- 1 user1 user1 0 May 4 19:44 a4.sh
[user1@nodex test]$
[root@nodex test]# chattr +i a{1,2}.sh

[root@nodex test]# rm a1.sh
rm: remove regular empty file ‘a1.sh’? y
rm: cannot remove ‘a1.sh’: Operation not permitted
[root@nodex test]# rm a2.sh
rm: remove regular empty file ‘a2.sh’? y
rm: cannot remove ‘a2.sh’: Operation not permitted
[root@nodex test]#

chattr +i {1,2}.sh 不能刪除,不能更名,不能追加
chattr +a {1,2}.sh不能刪除,不能更名,能追加

[root@nodex test]# lsattr
----i----------- ./a1.sh
----i----------- ./a2.sh
---------------- ./a3.sh
---------------- ./a4.sh
[root@nodex test]#

(4)、清理/data/test目錄及其下全部文件的acl權限setfacl -R -b /data/test/

相關文章
相關標籤/搜索