一·文件的压缩与解压缩:
-
常见的压缩文件扩展名:
.gz gzip程序压缩的文件 bz2 bzip2程序压缩的文件 tar tar程序打包的数据,并没有经过压缩 tar.gz tar程序打包的文件,其中经过gzip的压缩 tar.bz2 tar程序打包的文件,其中经过bzip2的压缩 -
linux上常见的压缩命令就是gzip与bzip2
- gzip
分类 | 压缩文件gzip | 解压文件 |
---|---|---|
1 | gzip 文件名(原文件不存在) | gunzip 文件名.gz |
2 | gzip -c 文件名1 >文件名1.gz (保留原文件) | gzip -cd 文件名2.gz >文件名2(保留原文件) |
3 | gzip -d 文件名.gz(不保留) |
- 查看压缩过的文本文件内容:zcat 文件名.gz
- bzip2
分类 | 压缩文件bzip2(用法同gzip) | 解压文件 |
---|---|---|
1 | bzip2 文件名 | bzip2 -d 文件名.bz2(不保留原文件) |
2 | bzip2 -c 文件名1 >文件名1.bz2(保留原文件) | bunzip2 文件名.bz2 |
3 | bzip -cd 文件名2.bz2 > 文件名2(保留原文件) |
- 查看压缩过的文件内容:bzcat 文件名.bz2
二·文件的归档即打包文件
- tar [主选项+辅选项] 文件或目录
主选项 | 只能出现一个主选项 |
---|---|
c— | create 创建一个新归档文件 |
x— | 从归档文件中提取文件出来 |
t— | 列出归档文件的内容,查看已经打包了哪些文件,重点在查看文件名 |
辅选项 | 解释 |
---|---|
z— | 通过gzip的支持进行压缩/解压缩,一般格式为*.tar.gz |
j— | 通过bzip2的支持进行压缩/解压缩,一般格式为*.tar.bz2 |
v— | 归档或解包过程中显示被打包的文件 |
C— | 这个参数用在解压缩时,若要在特定目录解压缩,可以使用这个参数 |
f— | 输出结果到文件,必须写该选项 |
–exclude FILE | :在打包的过程中,不要将 FILE 打包! --排除某个文件打包 |
- 两种压缩方式:jcvf zcvf
- 打包、压缩文件1和2并重命名:tar zcvf 新文件名 文件名1 文件名2 文件名3 文件名4
- 解压:tar xvf 文件名 该命令会自动判断归档文件的压缩格式,自动调用相关程序进行解压缩
- 解压到指定路径:tar xvf 文件名 -C 目标路径
tar -xjv -f filename.tar.bz2 -C 欲解压缩的目录 - 查看已压缩文件:tar tf 文件名
三·用户管理的配置文件:
-
-rw-r–r--. 1 root root 2416 Aug 25 10:11 /etc/passwd
用户名:密码:用户uid号:gid:备注:用户的家目录:和根交互使用的shell用户: -
超级用户:root,uid为0
-
系统用户:用来管理和运行服务,系统用户的shell为/sbin/nologin,不让该用户登录,uid为201-999,添加系统用户,不创建主目录和邮箱:useradd -r 用户名
-
一般用户:1000-60000,添加一般用户时,系统默认为该用户创建主目录和邮箱(/home/用户名)(/var/mail/用户名)
- useradd 用户名=adduser 用户名
- 添加用户并添加选项:useradd 用户名 -u uid号 -g gid号/组名 -G 附加组/组名 -c 备注 -s 指定shell -d 指定家目录
- id 查看用户的uid、gid以及组 例如 id redhat
- 删除用户:userdel -r 用户名
- ----------. 1 root root 1434 Aug 25 10:10 /etc/shadow
用户的密码文件 | rabbit:2oxz:17956:0:99999:7::: |
---|---|
第一位 | 用户名 |
第二位 | 密码( i d id idsalt$encrypted,1为md5,2a为Blowfish,5为SHA-256,6为SHA-512。salt是一个最多16字符的随机生成的字符串,用来增加破解难度。encrypted是经过加密算法和salt算出来的密文。!!表示锁定状态)。 |
第三位 | 最后一次修改密码的时间,从1970年1月1日到最后一次修改密码所经过的天数。 |
第四位 | 密码最短使用期限,为0表示不限制。 |
第五位 | 密码最长使用期限,密码使用多长时间之后必须要改密码,99999表示可不更改。 |
第六位 | 密码过期警告时间,密码过期前多少天进行警告,提示用户改密码,但是不锁定用户。 |
第七位 | 密码过期宽限期限,密码过期后必须改密码的时间,如果还没改,锁定用户,就只能找网管了。 |
第八位 | 账号过期精确时间,如果为99999,意味着永不过期。 |
第九位 | 保留字段 |
- /etc/login.defs定义了与/etc/passwd和/etc/shadow配套的用户限制设定
/etc/defualt/useradd 用户添加时会创建的相关信息设置
/etc/skel 用户家目录下相关隐藏文件
四·组管理的配置文件
- -rw-r–r--. 1 root root 998 Aug 25 10:30 /etc/group
- 组名:组密码:组id:用户列表
- 组:
私有组:当组里只有它一个成员时,它的基本组也叫做私有组
基本组:用户的默认组(班级)
附加组:默认组以外的组(学生会)
添加组:groupadd -g gid 组名
修改组密码 | gpasswd |
---|---|
-a | 添加用户到组 |
-d | 将指定用户移出本组(从附加组移除) |
-M | 设置组成员列表 |
-A | 指定组管理员为哪个用户 |
-r | 删除组密码 |
newgrp | 登陆一个新组 |
使用exit | 退出新组 |
- 为一个组更改名字:groupmod -n 新组名 -g gid 原组名
- 删除组(只能删除groupadd添加的组,无法删除用户的私有组):groupdel 组名
- 组密码的相关信息:
/etc/gshadow
student:!!::student
组名:组密码(!开头,表示无合法密码,无群组管理员):群组管理员账号:用户列表
命令usermod | 解释 |
---|---|
usermod -c | 改变用户的全名或者说描述名称 |
usermod -d | 改变用户的家目录 |
usermod -e | 设置用户账号的过期时间 |
usermod -g | 改变用户的gid |
usermod -G | 将用户添加入一个新组 |
usermod -s | 改变用户的默认shell |
usermod -l | 改变用户用户名 |
usermod -u | 改变用户的uid |
usermod -L | 锁住密码,使账号不能用 |
usermod -U | 为用户密码解锁 |
- 给用户追加附加组:usermod -a -G 组名 用户名
- 给用户修改密码:passwd 用户名
-
- echo 密码 | passwd --stdin 用户名
修改rabbit的密码为chihuo。
echo chihuo | passwd --stdin rabbit
- echo 密码 | passwd --stdin 用户名
命令passwd | 解释 |
---|---|
passwd -n | 指定密码的最短使用期限 |
passwd -x | 指定密码的最长使用期限 |
passwd -w | 设置过期警告时间 |
passwd -l | 锁定用户账号密码 |
passwd -u | 解锁用户账号 |
passwd -d | 删除用户密码,在redhat中,空密码用户禁止登陆 |
修改配置文件添加用户:
- 修改配置:
/etc/passwd
/etc/shadow
/etc/group
- 添加家目录
/home/用户名
su - 用户名
-bash-4.2$
ll -a /etc/skel
cp -a /etc/skel/.bash* /home/用户名
su - haha
[haha@localhost ~]$
修改文件的属主和属组:
chown 属主:属组 文件名
chgrp 属组 文件名
- 从服务器上下载普通文件:
scp 用户名@目标IP地址:文件名 目录名 - 向服务器上传文件:
scp 要上传文件的全路径 用户名@目标IP地址:文件名 - 从windows向linux上传:
rz或者xftp
附加练习题
- 给fedora加密码,并设定其密码最短使用期限为2天,最长为50天
useradd fedora
echo 1234 | passwd --stdin fedora
passwd -n 2 -x 50 fedora
- 创建一个用户xiaoming,其ID号为2002,基本组为one(组ID为3003),附加组为linux。
groupadd -g 3003 one
groupadd linux
useradd xiaoming -u 2002 -g 3003 -G linux
- 创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh。
useradd fedora -c ‘Fedora Community’ -s /bin/tcsh
- 修改xiaoming的ID号为4004,基本组为linux,附加组为one和fedora。
usermod -u 4004 -G one,fedora -g linux xiaoming
- 将mandriva的默认shell改为/bin/bash。
usermod -s /bin/bash mandriva
- 添加系统用户hbase,且不允许其登陆系统。
useradd -r -s /sbin/nologin hbase
第二组题
- 创建一个rabbit用户,他的uid为2222,animal是他的基本组,他有三个附加组为cabbage,grass(grass的组id为6666)和carrot。
[root@localhost ~]# groupadd animal
[root@localhost ~]# groupadd cabbage
[root@localhost ~]# groupadd -g 6666 grass
[root@localhost ~]# groupadd carrot
[root@localhost ~]# useradd rabbit -u 2222 -g animal -G cabbage,grass,carrot
[root@localhost ~]# id rabbit
uid=2222(rabbit) gid=1001(animal) groups=1001(animal),1002(cabbage),6666(grass),6667(carrot)
- 修改rabbit的密码为chihuo。
[root@localhost ~]# echo chihuo | passwd --stdin rabbit
Changing password for user rabbit.
passwd: all authentication tokens updated successfully.
- 将rabbit用户的信息和该用户的密码信息保存到该用户的家目录下的secret中。
root@localhost ~]# id rabbit > /home/rabbit/secret
[root@localhost ~]# grep rabbit /etc/shadow >> /home/rabbit/secret
[root@localhost ~]# cat /home/rabbit/secret
uid=2222(rabbit) gid=1001(animal) groups=1001(animal),1002(cabbage),6666(grass),6667(carrot)
rabbit:$ 6$YwYmRJCc $Ldehw/lH48Nr940fIQ7Zpg0Bp6PMIfh1U0nnYaDekK0ZR0k5hUFdVJZ62P2o9ODgSBYPJRAzxHa9b8zqvApxz/:17956:0:99999:7:::
- 保留secret文件并以gzip的方式压缩该文件将其放在root用户的家目录。
[root@localhost ~]# gzip -c /home/rabbit/secret >/root/secret.gz
[root@localhost ~]# ll /root/
total 12
-rw-------. 1 root root 1782 Feb 25 15:15 anaconda-ks.cfg
-rw-------. 1 root root 1875 Feb 25 15:24 initial-setup-ks.cfg
-rw-r–r--. 1 root root 211 Mar 1 19:47 secret.gz
- 修改rabbit的家目录为rabbits并禁止rabbit用户登录系统。
[root@localhost ~]# usermod -d /home/rabbits rabbit
[root@localhost ~]# usermod -s /sbin/nologin rabbit
[root@localhost ~]# grep rabbit /etc/passwd
rabbit❌2222:1001::/home/rabbits:/sbin/nologin
- 将修改过的rabbit用户的信息添加到secret中。
[root@localhost ~]# grep rabbit /etc/passwd >> /home/rabbit/secret
[root@localhost ~]# cat /home/rabbit/secret
uid=2222(rabbit) gid=1001(animal) groups=1001(animal),1002(cabbage),6666(grass),6667(carrot)
rabbit:$ 6$YwYmRJCc $ Ldehw/lH48Nr940fIQ7Zpg0Bp6PMIfh1U0nnYaDekK0ZR0k5hUFdVJZ62P2o9ODgSBYPJRAzxHa9b8zqvApxz/:17956:0:99999:7:::
rabbit❌2222:1001::/home/rabbits:/sbin/nologin