目录
【Linux基础入门】
【Linux系统管理】
【Linux用户及权限管理】
【Linux基础入门】
创建虚拟机,centos6.8和centos7.6各两台,并且配置好 yum仓库,可以安装tree命令
centos6.8
[root@localhost tmp]# cd /etc/yum.repos.d [root@localhost yum.repos.d]# mkdir bak [root@localhost yum.repos.d]# mv C* bak [root@localhost yum.repos.d]# vi yum.repo [root@localhost yum.repos.d]# mount /dev/sr0 /media/ mount: block device /dev/sr0 is write-protected, mounting read-only [root@localhost yum.repos.d]# yum clean all Loaded plugins: fastestmirror Cleaning repos: base Cleaning up Everything [root@localhost yum.repos.d]# yum makecache Loaded plugins: fastestmirror Determining fastest mirrors base | 4.0 kB 00:00 ... base/group_gz | 226 kB 00:00 ... base/filelists_db | 6.3 MB 00:00 ... base/primary_db | 4.7 MB 00:00 ... base/other_db | 2.8 MB 00:00 ... yummetadata Cache Created [root@localhost yum.repos.d]# yum install mlocate -y Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package mlocate.x86_64 0:0.22.2-6.el6 will be installed --> Finished Dependency Resolution
Dependencies Resolved
=================================================================================
Package Arch Version Repository Size
Installing: mlocate x86_64 0.22.2-6.el6 base 86 k
Transaction Summary
Install 1 Package(s)
Total download size: 86 k Installed size: 279 k Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : mlocate-0.22.2-6.el6.x86_64 1/1 Verifying : mlocate-0.22.2-6.el6.x86_64 1/1
Installed: mlocate.x86_64 0:0.22.2-6.el6
Complete!
centos7.6
[root@localhost tmp]# cd /etc/yum.repos.d [root@localhost yum.repos.d]# mkdir bak [root@localhost yum.repos.d]# mv C* bak [root@localhost yum.repos.d]# vi yum.repo [root@localhost yum.repos.d]# mount /dev/sr0 /media/ mount: /dev/sr0 is write-protected, mounting read-only [root@localhost yum.repos.d]# yum clean all Loaded plugins: fastestmirror Cleaning repos: base [root@localhost yum.repos.d]# yum makecache Loaded plugins: fastestmirror Determining fastest mirrors base | 3.6 kB 00:00:00 (1/4): base/group_gz | 166 kB 00:00:00 (2/4): base/primary_db | 6.0 MB 00:00:00 (3/4): base/filelists_db | 7.1 MB 00:00:00 (4/4): base/other_db | 2.6 MB 00:00:00 metadata Cache Created [root@localhost yum.repos.d]# yum install mlocate -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Resolving Dependencies --> Running transaction check ---> Package mlocate.x86_64 0:0.26-8.el7 will be installed --> Finished Dependency Resolution
Dependencies Resolved
=================================================================================
Package Arch Version Repository Size
Installing: mlocate x86_64 0.26-8.el7 base 113 k
Transaction Summary
Install 1 Package
Total download size: 113 k Installed size: 379 k Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : mlocate-0.26-8.el7.x86_64 1/1 Verifying : mlocate-0.26-8.el7.x86_64 1/1
Installed: mlocate.x86_64 0:0.26-8.el7
Complete!
【Linux系统管理】
关键词:
cd命令:切换当前目录
ls命令:查看指定文件
date命令:显示,修改时间,日期
touch命令:新建,修改文件
mkdir命令:创建目录
who命令:显示系统登录用户
w命令:显示系统登录用户的信息
last命令:过去登陆过系统的用户信息
uname命令:显示操作系统相关信息
uptime命令:输出系统运行信息
demsg命令:显示开机信息
find命令:查找文件
rm命令:删除目录和文件
hwclock命令:显示,设置硬件时间
tar命令:解压,压缩文件
crontab :提交,管理用户周期性执行的任务
history:查看历史命令
1、请说出cd ~与cd ..和cd -的区别
答:cd ~切换到用户家目录 cd ..切换到上级目录 cd -切换到前一个工作目录
2、如何根据文件大小及时间的先后顺序查看目录下的文件信息
答:ls -st
3、如何仅列出文件,以及如何仅列出目录
答:仅列出文件 [root@localhost tmp]# ls -a 仅列出目录 [root@localhost tmp]# ls -d
4、按照中文习惯输出当前时间,并输出24天后的时间
答:[root@localhost tmp]# date +%Y-%m-%d [root@localhost tmp]# date -d "+24 days"
5、将系统时间写入硬件时间,反过来呢?
答:clock/hwclock -w:将系统时间写入硬件时间
Find专项训练:
查找/var目录属主为root,且属组为mail的所有文件
find /var -user root -a -group mail
/var/spool/mail
查找/usr目录下不属于root、bin或hadoop的所有文件
find /usr -not -user root -a -not -user bin -a -not -user hadoop
查找/etc目录下最近一周内其内容修改过,且属主不为root或hadoop的所有文件
find /etc -mtime -7 -not -user root -o -not -user hadoop
查找当前系统上没有属主或属组,且最近一周内曾被访问过的所有文件
find -nouser -o -nogroup -a -atime -7
(没有)
查找/etc目录下大于20K且类型为普通文件的所有文件
find /etc -size +20k -a -type f
/etc/udev/hwdb.bin /etc/services /etc/pki/ca-trust/extracted/java/cacerts ......
查找/etc目录下所有用户都没有写权限
find /etc -not -perm /222 -ls
8531982 4 ---------- 1 root root 359 Feb 5 20:17 /etc/gshadow- 8389081 4 ---------- 1 root root 370 Feb 5 20:27 /etc/gshadow 8567258 4 ---------- 1 root root 709 Feb 5 20:18 /etc/shadow- 71 7760 -r--r--r-- 1 root root 7942570 Jan 28 17:39 /etc/udev/hwdb.bin 8573622 4 -r--r--r-- 1 root root 33 Jan 28 17:32 /etc/machine-id
......
查找/etc目录下至少有一类用户没有执行权限的文件
find /etc -not -perm -111 -ls
8388674 4 -rw-r--r-- 1 root root 501 Jan 28 17:32 /etc/fstab 8388675 0 -rw------- 1 root root 0 Jan 28 17:32 /etc/crypttab 8389037 4 -rw-r--r-- 1 root root 74 Feb 5 20:15 /etc/resolv.conf 16857368 0 drwx------ 2 root root 182 Jan 28 17:34 /etc/grub.d
......
查找/etc/init.d目录下,所有用户都有执行权限,且其它用户拥有写权限的文件
find /etc/init.d -perm -113 -ls
8394871 0 lrwxrwxrwx 1 root root 11 Jan 28 17:32 /etc/init.d -> rc.d/init.d
查找当前目录下所有以.tar结尾的文件然后移动到指定目录/backup
find -name "*.tar" -exec mv {} /backup ;
查找当前目录30天以前大于100M的LOG文件并删除
find -atime +30 -a -size +100M -a -name "LOG" -delete
将某目录下大于100k的文件移动至/tmp下。
find -size +100k -exec mv {} /tmp ;
【Linux用户及权限管理】
Useradd:创建用户
groupadd:创建组
userdel:删除用户
groupdel:删除组
usermod:修改用户属性
chmod:更改某个目录或文件的访问权限
chown:更改某个目录或者文件的属主和属组
chgrp:修改属组 请总结描述用户和组管理类命令的使用方法并完成以下练习
1)、创建组distro,其GID为2016;并查询验证
[root@localhost tmp]# groupadd -g 2016 distro
[root@localhost tmp]# grep "distro" /etc/group distro: x :2016:
2)、创建用户mandriva,其ID号为1005;基本组为distro;并输出你的验证结果
[root@localhost tmp]# useradd -u 1005 -g distro mandriva
[root@localhost tmp]# id mandriva uid=1005(mandriva) gid=2016(distro) groups=2016(distro)
3)、创建用户mageia,其ID号为1100,家目录/home/linux,并输出你的验证结果
[root@localhost tmp]# useradd -u 1100 -d /home/linux mageia [root@localhost tmp]# grep "mageia" /etc/passwd mageia: x :1100:1100::/home/linux:/bin/bash
4)、给用户mageia添加密码,密码为mageedu,并输出你的验证结果
[root@localhost tmp]# 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@localhost tmp]# echo "mageedu" | passwd --stdin mageia Changing password for user mageia. passwd: all authentication tokens updated successfully.
5)、删除mandriva,但保留其家目录,并查看结果
[root@localhost tmp]# userdel mandriva
[root@localhost tmp]# ll -d /home/mandriva drwx------. 2 1005 distro 62 Feb 6 04:41 /home/mandriva
6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin
[root@localhost tmp]# groupadd peguin [root@localhost tmp]# useradd -u 2002 -g distro -G peguin slackware
7)、修改slackware的默认shell为/bin/tcsh
[root@localhost tmp]# usermod -s /bin/tcsh slackware
8)、为用户slackware新增附加组admins;
[root@localhost tmp]# usermod -aG admins
9)、为slackware 添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天---这个自己查帮助
[root@localhost tmp]# groupadd admins [root@localhost tmp]# usermod -aG admins slackware [root@localhost tmp]# id slackware uid=2002(slackware) gid=2016(distro) groups=2016(distro),2017(peguin),2018(admins)
10)、添加用户openstack,其ID号为3003,基本组为clouds,附加组为peguin和nova
[root@localhost tmp]# groupadd clouds [root@localhost tmp]# groupadd nova
[root@localhost tmp]# useradd -u 3003 -g clouds -G peguin,nova openstack
11)、添加系统用户mysql,要求其shell为/sbin/nologin
[root@localhost tmp]# useradd -r -s /sbin/nologin mysql [root@localhost tmp]# grep "mysql" /etc/passwd mysql: x :998:996::/home/mysql:/sbin/nologin
12)、使用echo命令,非交互式为openstack添加密码
[root@localhost tmp]# echo "123456" | passwd --stdin openstack Changing password for user openstack. passwd: all authentication tokens updated successfully.
权限管理练习: 1、复制/etc/fstab文件到/var/tmp下,设置文件所有者(user)为wangcai读写权限,所属组(group)为sysadmins组有读写权限,其他人(other)无权限
[root@localhost tmp]# cp /etc/fstab /var/tmp
[root@localhost tmp]# chown wangcai:sysadmins /var/tmp/
[root@localhost tmp]# chmod 660 /var/tmp/*
[root@localhost tmp]# ll /var/tmp total 4 -rw-rw----. 1 wangcai sysadmins 501 Feb 6 05:31 fstab



