Linux练习

目录

1、创建/www目录,在/www目录下新建name和https目录,在name和https目录下分别创建一个index.html文件,name下面的index.html文件中包含当前主机的主机名,https目录下的index.html文件中包含当前主机的ip地址。

2、将/www目录和name,https目录的所属者修改为web用户,并且web用户拥有所有的权限。

3、tom和jerry可以在name和https目录下新建和删除文件,其他用户没有任何权限。

        1.新建一个组group1,将tom jerry加入该组, 然后对组进行权限设置       

        2. 验证----使用tom 、jerry  、redhat分别登录 ,并在目录下创建、删除文件 (结果应为在Redhat账户下因权限不够而无法创建文件)

4、复制/var/log/messages和/var/log/cron文件到/log目录,admin账号可以查看但不能修改该日志文件的内容。

5、复制/etc/ssh/sshd_config文件到/ssh目录,admin账号可以查看并修改该文件内容。

6、将复制过来的/ssh目录下的sshd_config文件中的非空行写入到/ssh/sshd文件中,将sshd_config文件中的非空行和非#号开头的行写入config文件中,并且admin可以查看sshd文件和config文件的内容。


1、创建/www目录,在/www目录下新建name和https目录,在name和https目录下分别创建一个index.html文件,name下面的index.html文件中包含当前主机的主机名,https目录下的index.html文件中包含当前主机的ip地址。

[root@redhat ~]# mkdir -pv /www/name  /www/https
mkdir: 已创建目录 '/www'
mkdir: 已创建目录 '/www/name'
mkdir: 已创建目录 '/www/https'
[root@redhat ~]# hostname > /www/name/index.html
[root@redhat ~]# cat /www/name/index.html
redhat
[root@redhat ~]# ip ad | grep ens160$ | tr -s " " | cut -d " " -f 3 | cut -d "/" -f1 > /www/https/index.html
[root@redhat ~]# cat /www/https/index.html
192.168.111.132


2、将/www目录和name,https目录的所属者修改为web用户,并且web用户拥有所有的权限。

[root@redhat ~]# useradd web
[root@redhat ~]# chown -R web /www/
[root@redhat ~]# ll -d /www/name/ /www/https/
drwxr-xr-x. 2 web root 24  3月 23 14:43 /www/https/
drwxr-xr-x. 2 web root 24  3月 23 14:39 /www/name/
[root@redhat ~]# setfacl -R  -m u:web:rwx /www/
[root@redhat ~]# ll -d /www/name/ /www/https/
drwxrwxr-x+ 2 web root 24  3月 23 14:43 /www/https/
drwxrwxr-x+ 2 web root 24  3月 23 14:39 /www/name/
[root@redhat ~]# chown root:root /www/name/index.html /www/https/index.html
[root@redhat ~]# ll -d /www/name/index.html /www/https/index.html
-rw-rwxr--+ 1 root root 16  3月 23 14:43 /www/https/index.html
-rw-rwxr--+ 1 root root  7  3月 23 14:39 /www/name/index.html
[root@redhat ~]#
  • web用户可对其进行增删改查 ---验证web用户已拥有所有权限
[root@redhat ~]# su -l web
[web@redhat ~]$ ll -d /www/name/ /www/https/
drwxrwxr-x+ 2 web root 24  3月 23 14:43 /www/https/
drwxrwxr-x+ 2 web root 24  3月 23 14:39 /www/name/
[web@redhat ~]$ cat /www/name/index.html
redhat
[web@redhat ~]$ echo '123' > /www/name/test
[web@redhat ~]$ cat /www/name/test
123
[web@redhat ~]$ echo 111 > /www/https/test
[web@redhat ~]$ cat /www/https/test
111
[web@redhat ~]$ rm -f /www/https/test
[web@redhat ~]$ rm -f /www/name/test
[web@redhat ~]$


3、tom和jerry可以在name和https目录下新建和删除文件,其他用户没有任何权限。


    1.新建一个组group1,将tom jerry加入该组, 然后对组进行权限设置

[root@redhat ~]# useradd tom
[root@redhat ~]# useradd jerry
[root@redhat ~]# groupadd group1
[root@redhat ~]# gpasswd -M tom,jerry group1
[root@redhat ~]# id tom
用户id=1002(tom) 组id=1002(tom) 组=1002(tom),1004(group1)
[root@redhat ~]# id jerry
用户id=1003(jerry) 组id=1003(jerry) 组=1003(jerry),1004(group1)
[root@redhat ~]# chown  -R  :group1 /www/name/  /www/https/
[root@redhat ~]# chmod -R 770 /www/name/ /www/https/
[root@redhat ~]# ll -d /www/name/ /www/https/
drwxrwx---. 2 web group1 24  3月 23 15:37 /www/https/
drwxrwx---. 2 web group1 24  3月 23 15:37 /www/name/
[root@redhat ~]#

        2. 验证----使用tom 、jerry  、redhat分别登录 ,并在目录下创建、删除文件 (结果应为在Redhat账户下因权限不够而无法创建文件)

tom账户:

[root@redhat ~]# su -l tom
[tom@redhat ~]$ touch /www/name/test
[tom@redhat ~]$ touch /www/https/test
[tom@redhat ~]$ tree /www/
/www/
├── https
│   ├── index.html
│   └── test
└── name
    ├── index.html
    └── test

2 directories, 4 files
[tom@redhat ~]$ rm -f /www/name/test /www/https/test
[tom@redhat ~]$ tree /www/
/www/
├── https
│   └── index.html
└── name
    └── index.html

jerry账户:

[root@redhat ~]# su -l jerry
[jerry@redhat ~]$ touch /www/name/ceshi /www/https/ceshi
[jerry@redhat ~]$ tree /www/
/www/
├── https
│   ├── ceshi
│   └── index.html
└── name
    ├── ceshi
    └── index.html

2 directories, 4 files
[jerry@redhat ~]$ rm -f /www/name/ceshi /www/https/ceshi
[jerry@redhat ~]$ tree /www/
/www/
├── https
│   └── index.html
└── name
    └── index.html
redhat账户:

[root@redhat ~]# su -l redhat
[redhat@redhat ~]$ touch /www/name/test
touch: 无法创建 '/www/name/test': 权限不够
[redhat@redhat ~]$ ll /www/name/
ls: 无法打开目录 '/www/name/': 权限不够
[redhat@redhat ~]$

4、复制/var/log/messages和/var/log/cron文件到/log目录,admin账号可以查看但不能修改该日志文件的内容。

[root@redhat ~]# mkdir /log
[root@redhat ~]# cp /var/log/messages /var/log/cron  /log
[root@redhat ~]# useradd admin
[root@redhat ~]# setfacl -R  -m u:admin:rx  /log
[root@redhat ~]# getfacl /log/
getfacl: Removing leading '/' from absolute path names
# file: log/
# owner: root
# group: root
user::rwx
user:admin:r-x
group::r-x
mask::r-x
other::r-x

[root@redhat ~]#
[root@redhat ~]# su -l admin
[admin@redhat log]$ ll   /log/
总用量 256
-rw-r-x---+ 1 root root   1184  3月 23 15:44 cron
-rw-r-x---+ 1 root root 254500  3月 23 15:44 messages
[admin@redhat log]$ cat cron


5、复制/etc/ssh/sshd_config文件到/ssh目录,admin账号可以查看并修改该文件内容。

[root@redhat ~]# mkdir /ssh
[root@redhat ~]# cp /etc/ssh/sshd_config   /ssh/
[root@redhat ~]# setfacl -R -m u:admin:rwx  /ssh/
[root@redhat ~]#


6、将复制过来的/ssh目录下的sshd_config文件中的非空行写入到/ssh/sshd文件中,将sshd_config文件中的非空行和非#号开头的行写入config文件中,并且admin可以查看sshd文件和config文件的内容。

[root@redhat ~]# grep ^$ -v  /ssh/sshd_config > /ssh/sshd
[root@redhat ~]# grep ^$ -v  /ssh/sshd_config | grep ^# -v  > /ssh/config
[root@redhat ~]# setfacl -m u:admin:r /ssh/sshd  /ssh/config
[root@redhat ~]# getfacl /ssh/sshd /ssh/config
getfacl: Removing leading '/' from absolute path names
# file: ssh/sshd
# owner: root
# group: root
user::rw-
user:admin:r--
group::r--
mask::r--
other::r--

# file: ssh/config
# owner: root
# group: root
user::rw-
user:admin:r--
group::r--
mask::r--
other::r--
[root@redhat ~]# su -l admin
[admin@redhat ~]$ ll /ssh/sshd  /ssh/config
-rw-r--r--+ 1 root root  126  3月 23 16:09 /ssh/config
-rw-r--r--+ 1 root root 3643  3月 23 16:07 /ssh/sshd
[admin@redhat ~]$ cat /ssh/sshd
#       $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.
# To modify the system-wide sshd configuration, create a  *.conf  file under
#  /etc/ssh/sshd_config.d/  which will be automatically included below
...
[admin@redhat ~]$ cat /ssh/config
Include /etc/ssh/sshd_config.d/*.conf
AuthorizedKeysFile      .ssh/authorized_keys
Subsystem       sftp    /usr/libexec/openssh/sftp-server
[admin@redhat ~]$

### Linux 练习题、教程、实例操作指南 对于希望深入学习并实践Linux系统的用户来说,选择合适的练习资源至关重要。这些资源不仅能够帮助理解理论概念,还能通过实际操作加深印象。 #### 一、在线课程与文档 网络上存在大量优质的Linux学习材料,其中不乏免费资源。例如,《鸟哥的Linux私房菜》是一本非常受欢迎的基础到高级全面覆盖的手册[^1]。该书详细介绍了从安装配置直到服务器架设等多个方面,适合不同层次的学习者阅读。 #### 二、官方手册页(Man Pages) 每条Linux命令几乎都有对应的man page,在终端输入`man 命令名`即可查阅其功能说明以及用法示例。这种方式虽然看起来有些枯燥乏味,但对于掌握具体工具而言却是最直接有效的方法之一[^2]。 ```bash man free ``` 上述命令可以查询有关`free`指令的信息,这正是用于显示系统内存状态包括物理RAM及swap分区占用情况的有效手段。 #### 三、实验环境搭建 为了更好地理解和记忆所学知识点,建议构建个人专属的虚拟机或者容器化平台来进行各种尝试。像Vagrant配合VirtualBox这样的组合就可以轻松创建多个隔离的操作系统实例供测试之用;而Docker则更适合于快速部署应用服务场景下的技能训练[^3]。 #### 四、社区交流互动 加入活跃的技术论坛如Stack Overflow、Reddit上的r/linux板块或是国内知名的开源中国等网站参与讨论解答疑问也是不可或缺的一环。在这里不仅可以获得前辈们的指导还可以结识志同道合的朋友共同进步成长。 #### 五、专项项目实战演练 最后但同样重要的是参与到真实的工程项目当中去锻炼自己解决问题的能力。GitHub上有许多开源项目等待贡献者的加入,无论是修复Bug还是新增特性都是极好的机会来检验自己的水平并且积累宝贵的经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值