项目 内容
这个作业属于哪个课程 班级课程的主页链接
这个作业的要求在哪里 作业要求链接地址
学号—姓名 17043133—木腾飞
学习目标 1.学习Linux系统用户管理
2.学习vim使用及配置

实验内容

1.Linux用户管理

简答:Linux系统为什么应米面使用root用户登陆?

答:因为root用户权限过大,Linux文件储存都是节点,可以有效利用硬盘,但删除时不是对文件操作,只是删除节点信息,相当于彻底删除,很难找回。日常操作基本上不需要这么大的权限,避免使用root用户可以防止操作失误造成不可逆转的损失。

1)如何在与用户有关的三个文件中查看当前用户的信息?

  1. cat /etc/passwd | grep mutengfei #查看用户mutengfei的用户信息文件

请简述这三个文件?

1./etc/passwd 是系统识别用户的一个文件,系统所有的用户都在这里有登记记载;当我们以mutengnfei这个账号登陆时,系统首先会查阅/etc/passwd 文件,看是否有mutengfei 这个账号,然后确定mutengfei的UID,通过UID来确认用户和身份,如果存在则读取/etc/shadow影子文件中所对应的mutengfei的密码;如果密码核实无误则登陆系统,读取用户的配置文件在/etc/passwd 中,每一行都表示的是一个用户的信息;一行有7个段位;每个段位用":"号分割。

2./etc/group 文件 是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或者哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录。

3./etc/shadow 文件是/etc/passwd的影子文件,这个文件并不是由/ect/passwd而产生的,这两个文件是应该对应互补的;shadow内容包括用户及被加密的密码以及其他/etc/passwd不能包括 的信息,比如用户的有效期限等;这个文件只有root权限可以读取或者操作。

2)用id命令查看当前用户相关信息

请简述输出结果?

答:id命令可以显示只是有效的用户ID(UID)和组ID(GID)。UID是对一个用户的单一身份标识。组ID(GID)则对应多个UID。上面一个Id表示显示当前用户mutengfei的uid=1000;gid=1000,用户mutengfei是下面组的成员:mutengfei 组的gid=1000;adm组的gid=4;cdrom组的gid=24;sudo组的gid=27;dip组的gid=30;plugdev组的gid=46;lpadmin组的gid=113;sambashare组的gid=128;下面的"id root"表示root用户的uid=0;gid=0,root用户是root组的成员,gid=0。

3)创建连个账号,一个账号为test,另一个账号以大写E开头加上你自己学号尾数4位,连个账号分别设置密码及管理员权限,账号设置完成后,切换站好简单查看信息后,删除test账号,保留另一个账号看,以备后续操作。

(1)创建账号

(2)设置密码

(3)设置权限

请简要描述用户组的概念?

答:Linux系统中的用户(group)就是具有相同特征的用户(user)集合。有时我们需要让多个用户具有相同的权限,比如查看、修改某一文件或目录,这种需求在授权时就很难实现。如果使用用户组就方便多了,只需要把授权的用户都加入到同一用户组里,然后修改该文件或目录对应用户组的权限,这样用户组下的所有用户对该文件或者目录就会具有相同的权限。

(4)切换账号

(5)删除账号test

VIM简单配置

(1)切换到保留的新创建账号

(2)在用户主目录创建一个VIM配置文件.vimrc

(3)打开并向文件中添加以下内容

  1. set number "显示行号
  2. syntax on "语法高亮
  3. set cursorline
  4. set ruler " 显示标尺
  5. set showcmd " 输入的命令显示出来,看的清楚些
  6. set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离
  7. set novisualbell " 不要闪烁(不明白)
  8. set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态行显示的内容
  9. set nocompatible "去除VIM一致性,必须"
  10. set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
  11. set termencoding=utf-8
  12. set encoding=utf-8
  13. set fileencoding=utf-8
  14. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  15. """""新文件标题
  16. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  17. "新建.c,.h,.sh,.java文件,自动插入文件头
  18. autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()"
  19. ""定义函数SetTitle,自动插入文件头
  20. func SetTitle()
  21. "如果文件类型为.sh文件
  22. if &filetype == 'sh'
  23. call setline(1,"\#########################################################################")
  24. call append(line("."), "\# File Name: ".expand("%"))
  25. call append(line(".")+1, "\# Author: 17043133木腾飞")
  26. call append(line(".")+2, "\# mail: 1931154813@qq.com ")
  27. call append(line(".")+3, "\# Created Time: ".strftime("%c"))
  28. call append(line(".")+4, "\#########################################################################")
  29. call append(line(".")+5, "\#!/bin/bash")
  30. call append(line(".")+6, "")
  31. else
  32. call setline(1, "/*************************************************************************")
  33. call append(line("."), " > File Name: ".expand("%"))
  34. call append(line(".")+1, " > Author: 17043133木腾飞")
  35. call append(line(".")+2, " > Mail: 1931154813@qq.com ")
  36. call append(line(".")+3, " > Created Time: ".strftime("%c"))
  37. call append(line(".")+4, " ************************************************************************/")
  38. call append(line(".")+5, "")
  39. endif
  40. if &filetype == 'cpp'
  41. call append(line(".")+6, "#include<iostream>")
  42. call append(line(".")+7, "using namespace std;")
  43. call append(line(".")+8, "")
  44. endif
  45. if &filetype == 'c'
  46. call append(line(".")+6, "#include<stdio.h>")
  47. call append(line(".")+7, "")
  48. endif
  49. "新建文件后,自动定位到文件末尾
  50. autocmd BufNewFile * normal G
  51. endfunc
  52. """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
  53. set autoindent " 自动缩进
  54. set cindent
  55. set tabstop=4 " Tab键的宽度
  56. set softtabstop=4 " 统一缩进为4
  57. set shiftwidth=4
  58. set noexpandtab " 不要用空格代替制表符
  59. set smarttab " 在行和段开始处使用制表符
  60. set showmatch
  61. set history=1000 " 历史记录数
  62. set nobackup "禁止生成临时文件
  63. set noswapfile
  64. set ignorecase "搜索忽略大小写
  65. set hlsearch "搜索逐字符高亮
  66. set incsearch
  67. set gdefault "行内替换
  68. set langmenu=zh_CN.UTF-8 "语言设置
  69. set helplang=cn
  70. set laststatus=2 " 总是显示状态行
  71. filetype on " 侦测文件类型
  72. filetype plugin on " 载入文件类型插件
  73. filetype indent on " 为特定文件类型载入相关缩进文件
  74. set iskeyword+=_,$,@,%,#,- " 带有如下符号的单词不要被换行分割
  75. set linespace=0 " 字符间插入的像素行数目
  76. set wildmenu " 增强模式中的命令行自动完成操作
  77. set backspace=2 " 使回格键(backspace)正常处理indent, eol, start
  78. set whichwrap+=<,>,h,l " 允许backspace和光标键跨越行边界
  79. set mouse=a " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
  80. set selection=exclusive
  81. set selectmode=mouse,key
  82. "自动补全
  83. :inoremap ( ()<ESC>i
  84. :inoremap ) <c-r>=ClosePair(')')<CR>
  85. :inoremap { {<CR>}<ESC>O
  86. :inoremap } <c-r>=ClosePair('}')<CR>
  87. :inoremap [ []<ESC>i
  88. :inoremap ] <c-r>=ClosePair(']')<CR>
  89. :inoremap " ""<ESC>i
  90. :inoremap ' ''<ESC>i
  91. function! ClosePair(char)
  92. if getline('.')[col('.') - 1] == a:char
  93. return "\<Right>"
  94. else
  95. return a:char
  96. endif
  97. endfunction
  98. set completeopt=longest,menu "打开文件类型检测, 加了这句才可以用智能补全

(4)创建并打开一个以.c结尾的文件,如vim helloworld.c

新建文件显示如下:

实验三:Linux系统用户管理及VIM配置的更多相关文章

  1. 实验三 Linux系统用户管理及VIM配置

    项目 内容 这个作业属于哪个课程 班级课程的主页链接 这个作业的要求在哪里 作业要求链接接地址 学号-姓名 17041428-朱槐健 作业学习目标  1.学习Linux系统用户管理 2.学习vim使用 ...

  2. linux系统用户管理(一)

    Linux系统用户管理1.用户管理*****2.Linux用户命令****3.用户创建的原理***4.密码管理***5.组命令管理**6.身份切换*****7.sudo提升权限***** 我们现在所使 ...

  3. Linux系统用户管理

    一.Linux账户 广义上讲,Linux的账户包括用户账户和组账户两种. Linux系统下的用户账户有两种,普通用户和超级用户.普通用户在系统中的任务就是普通工作,管理员在系统上的任务就是对普通用户和 ...

  4. linux系统用户管理(二)

    5.组命令管理**组账户信息保存在/etc/group和/etc/gshadow两个文件中 /etc/group 组账户信息 [root@localhost ~]# head -2 /etc/grou ...

  5. Linux使用快捷键,who命令,rm命令,ps命令,cd,命令kill命令,find命令,grep命令,tar命令(gz、tar、bz2),用户管理,vim配置的一部分,相关命令

    1.进入Ubuntu开场后的终端窗口的快捷键是:           ctrl + alt+t:通过这个命令能够打开终端. ctrl + alt+t:通过这个命令能够打开终端. 再开一个tab选项卡式 ...

  6. Linux系统用户、组和权限管理

    一.用户与组 1.用户与组的概念 在linux系统中,根据系统管理需要将用户分为三种类型: 1.超级用户:root是linux系统的超级用户,对系统拥有绝对权限.由于root用户权限太大,只有在进行系 ...

  7. 第一阶段考试:实战Linux系统日常管理

    1. [项目名称] 实战Linux系统日常管理 [项目说明] 1.安装部署rhel系统,组建RAID磁盘阵列. 2.安装nginx 通过脚本编写 nginx服务服务启动脚本 [项目考核技能点] 1.安 ...

  8. centos Linux系统日常管理1 cpuinfo cpu核数 命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ,lsof ,pidof 第十四节课

    centos Linux系统日常管理1  cpuinfo cpu核数   命令 w, vmstat, uptime ,top ,kill ,ps ,free,netstat ,sar, ulimit ...

  9. 基于操作系统原理的Linux 的用户管理

    一.实验目的 1.掌握为root用户修改密码的方法. 2.掌握创建新用户的方法. 3.掌握用户组的管理方法. 4.掌握为用户授权的方法. 二.实验内容 1.Linux的用户管理 (1)创建新用户创建新 ...

随机推荐

  1. 阿里云ECS安装JAVA+MYSQL+NGINX

    2019独角兽企业重金招聘Python工程师标准>>> 1.准备工作 查看linux版本: linux版本为CentOS 7.4 查看系统信息: 系统为64位 确保服务器系统处于最新 ...

  2. R 语言命令行参数处理

    在unix.windows外部需要调用R脚本执行,然后又需要输入不同的参数,类似shell脚本的命令行参数输入,可以使用Rcript命令实现. 命令格式:Rscript [options] [-e e ...

  3. Soldiers Sortie

    这部2006年上映的作品豆瓣评分9.3,时至今日仍然有人乐此不疲地讨论剧情和启发,我想称之为经典应该不算过分. 这部剧我至少完整看过3遍,随着阅历增加,对某些角色的体会也变得更深刻. 许三多 许三多是 ...

  4. 数据库SQL语言从入门到精通--Part 4--SQL语言中的模式、基本表、视图

    数据库从入门到精通合集(超详细,学习数据库必看) 前言: 使用SQL语言时,要注意SQL语言对大小写并不敏感,一般使用大写.所有符号一定是西文标点符号(虽然是常识,但我还是提一嘴) 1.模式的定义与删 ...

  5. python(内置高阶函数)

    1.高阶函数介绍: 一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),如果满足其一,则为高阶函数. 常见的高阶函数:map().sorted( ...

  6. SVN 应用

    1.从服务器上down 资料 在电脑上安装SVN客户端 在电脑本地创建个文件夹作为版本库 进入 xfssvn 文件夹右击鼠标选择 SVN Checkout 或 SVN Update 输入服务器中配置好 ...

  7. 自动化运维工具Ansible之Tests测验详解

    Ansible Tests 详解与使用案例 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放: 3. 该用 ...

  8. 面试官:你说你懂i++跟++i的区别,那你会做下面这道题吗?

    面试官:你说你懂i++跟++i的区别,那你知道下面这段代码的运行结果吗? 面试官:"说一说i++跟++i的区别" 我:"i++是先把i的值拿出来使用,然后再对i+1,++ ...

  9. 【T-SQL】基础 —— 语法(1)

    USE master--检查是否已经存在一个表,如果有就删除IF(EXISTS(SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ' ...

  10. 手把手教你进行Scrapy中item类的实例化操作

    接下来我们将在爬虫主体文件中对Item的值进行填充. 1.首先在爬虫主体文件中将Item模块导入进来,如下图所示. 2.第一步的意思是说将items.py中的ArticleItem类导入到爬虫主体文件 ...