03用户权限课后习题

1.写一个shell脚本,批量创建20个用户(user1-20)密码中有5个随机字符

#!/bin/bash
 
for i in `seq -w 1 20`
do
    user="user$i"
    password=$(cat /dev/urandom | head -1 | md5sum | head -c 1-5)
    useradd user$i
    echo "$user:$password" | passwd --stdin $user
    echo "$user-$password" >> userinfo.txt
done

2.如何查看用户对系统的操作情况和登录情况

  users
  who am i
  history
  w
  last

3.默认情况下,linux用户登陆用户密码的存放位置是

   /etc/shadow

4.创建用户默认会拷贝哪个目录下的环境变量

 /etc/skel

5.创建test用户,指定UID6666,基本组,test_test 附加组:sa,dba, 注释信息:2019 new student, shell:bash

useradd -u 6666 -g test_test -G sa,dba -c "2019 new student" -d /home/test_test  -s /bin/bash  test

6.修改bgx用户uid,gid, 附加组, 注释信息, 用户家目录, 登录shell, 登录名

usermod -u 6001 -g5008 -a -G 5009 -c "2019 new student" -md /bgx -s/bin/sh -l bgx_wing bgx

7.如何查询用户信息以及登录信息

    users
    who am i

    history
    w
    last

8.如何将创建的test用户设置一个8位的随机密码

cat /dev/urandom | head -1 | md5sum | head -c 5

9.如何创建一个student_group组,并指定GID为999

10.如何使用test用户切换至student_group组

newgrp devops


**学习完权限管理需完成考试题**

1.Linux运行级别有几种,每个级别分别代表什么含义,如何切换运行级别和查看当前运行级别。

0级:关机

1级:单用户(找回丢失密码)

2级:多用户无网络

3级:多用户有网络,最常用的级别

4级:保留,目前Linux暂无使用

5级:图像界面

6级:重启

得知当前运行级别:runlevel

切换不同运行级别的指令:init [级别],由于4级是保留的,所以指令为 init [012356]

2.linux系统关机重启注销有哪些命令。

shotdown -h now

halt

3.如何进入单用户模式,修改密码。

1、重启系统,进入内核引导选项

2、按字母“e”进入内核编辑界面,删除“rhgb quite”,并加入init=/bin/bash,或者直接在rhgb quite后面追加init=/bin/bash

3、 按ctrl-X进入单用户模式

4、修改root密码

5、进入系统后验证root密码是否修改成功

4.linux常用有哪些快捷键,并写出每列含义。

tab 补全命令

ctrl + A 光标移动到首个字母

ctrl + E 光标移动到末尾字母

ctrl + alt 移出鼠标

ctrl + L 清屏

5.请说出你知道的下列字符在linux里含义。~ - . .. | > >> 1> 2> &>

~代表用户的/home/用户名目录

.是代表此目录本身

..是上级目录

| 管道符,左边的输出是右边的输入

6.如何最快的返回到当前用户的家目录

cd ~

cd $HOME

7.应用程序一般都安装在那个目录。

 /usr

8.日志一般都存存放在哪个目录下。

/var/log

9.重要配置文件一般存放在哪个目录下。

/etc

10.系统重启后如何自动进入命令行模式的多用户操作系统

runlevel 3

11.系统网卡和DNS的配置文件路径在那里

/etc/sysconfig/network-scripts

/etc/resolv.conf

12.系统主机名如何临时修改,如何永久修改,如何查看主机名

临时:命令行 hostname newname

永久:

vim /etc/sysconfig/network

13.创建目录/data/

mkdir data

14.将/data目录移动到/tmp目录下,并将/etc/passwd 文件复制到/tmp/data目录下。

cp -r data tmp/data

cp -r /etc/passwd  tmp/data

15.如何查看当前所在的目录

pwd

16.如何一次性创建 /text/1/2/3/4目录?

touch text{1..4}

17.将/etc目录复制到/text目录下,并保持原属性不变?

cp -r etc /text/etc

18.如何只查看/text/etc单个目录的信息,并以长格式显示。

ls -ld /text/etc

19.如何查看/text目录大小

du -sh text

20.在/text目录新建ip.txt文件,并设置属主有读写执行权限,属组读写权限,其他账户无权限

touch ip.txt

chmod 760 /test/ip.txt

21.如何删除/text目录以及目录下的所有文件。

rm -rf 目录名

22.如何查看一个命令所在的绝对路径?(至少写出2中方法)

which 命令

where

find

23.请打印/etc/passwd 文件中的第 2-5 行(不低于三种方法)

第一种:

head -5 passwd|tail -4

第二种:

sed -n '2,5p' passwd 

第三种:

awk 'NR>=2 && NR<=5' passwd 

24.要求用命令 rm 删除文件时提示如下禁止使用 rm 的提示,并使该效果永久生效。
[root@wing ~]# rm -f passwd
Do not use rm command.

alias rm='echo Younotuse rm command'#别名里不能有'号,如can't这种是不行的

永久生效需要将命令复制到/etc/profile  /etc/bashrc里

25.用什么命令能创建文件(至少写出2中方法)

touch file1

vim file2

> 重定向

26.一个文件的权限为drwxr-xr-x,请写出文件的数值权限是多少,以及文件类型?

751 目录类型

27.系统默认的umask权限是多少,默认创建文件和目录的权限是多少。

root用户默认是0022,普通用户默认是 0002

目录的默认权限最大可以是 777

文件的最大默认权限是 666

28.当umask为002,034,035 请问创建文件和目录分别是什么权限。

002  -------w-

034 ----wx-r--

035 ----wxr-x

29.如何查看/etc/services 整个文件有多少行

:set  nu

30.查看/etc/passwd文件里 root 位置和/bin/bash 位置?即将所有的第 一列和最后一列位置调换?
默认:root:x:0:0:root:/root:/bin/bash
修改后:/bin/bash:x:0:0:root:/root:root

31.使用ifconfig eth0查看网卡,如何只提取IP地址?

ifconfig eth0|awk "NR==2"|awk -F '[ :]' '{print $13}'

32.系统的磁盘空间被沾满如何定位,inode被沾满又如何定义。

磁盘满是分为两种情况的,一种是数据太多,比如文件内容有几百G,数据block的磁盘空间就满了;

第二种情况是创建的文件太多,把inode block占满了,或者说inode编号不够用了,这种情况虽然还有磁盘空间可用,但是已经没有inode编号可以分配了。

33.查找/var/log/下所有7天以前的日志文件,并且大于 30k 的文件移动/tmp下

find ./ -type f -name "*.log" -mtime +7 -size +30k -exec mv {} /tmp \

34.查询/var/log/目录下三天前的的文件,并删除。

find log/ -type f -mtime +7 -exec rm -f {} \

35.统计/var/log下面所有文件的个数

find /var/log/ ! -type d | wc -l

 

用户和文件权限管理需求描述:

```
建立用户目录
    创建目录/runtime/tech、/runtime/edu,分别用于不同项目组

添加组帐号
    添加组帐号tech、edu,GID号分别设置为1001、1002

    为技术部添加组帐号runtime,GID号设置为200

添加用户帐号
    tech组的4个用户:jerry、kim、amy、john
        //其中的kim用户帐号在2015年12月31日后失效

    edu组的2个用户:tansir、jiangsir
        //其中的jiangsir用户帐号的登录Shell设置为“/bin/ksh”

上述所有的用户帐号均要求加入到runtime组内

设置目录权限及归属
    “/runtime”目录的属组设为runtime,禁止其他人访问

chown : runtime /runtime/   

  “/runtime/tech”目录的属组设为tech ,禁止其他人访问

  chown : tech /runtime/tech/

    “/runtime/edu”目录的属组设为edu ,禁止其他人访问

chown : edu  /runtime/edu/


建立公共数据存储目录 “/public”
    允许技术组内的所有用户读取、写入、执行文件
    禁止其他用户读、写、执行


```

posted @ 2023-04-08 16:43  仰望神明  阅读(113)  评论(0)    收藏  举报