实验3.Linux系统用户管理和VIM配置
3.Linux系统用户管理和VIM配置
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 首页 - 2021春季Linux系统与应用 - 南昌航空大学 - 班级博客 - 博客园 (cnblogs.com) |
这个作业的要求在哪里 | 实验三 Linux系统用户管理及VIM配置 - 作业 - 2021春季Linux系统与应用 - 班级博客 - 博客园 (cnblogs.com) |
学号-姓名 | 18041527-张子坚 |
作业学习目标 |
学习Linux系统用户管理;学习vim使用及配置 |
1)如何在与用户有关的三个文件中查看当前用户的信息?
请简要描述这三个文件?
cat /etc/passwd | grep ben #查看当前用户ben的用户配置文件
请简要描述这三个文件?
1./etc/passwd:用户(user)的配置文件,记录用户的各种信息。
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录 Shell。
2./etc/group:组(group)的配置文件,记录 Linux 包含的组的信。
每行含义:组名:口令:组标识号:组内用户列表。
3./etc/shadow:口令的配置文件。
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志。
2)用id命令查看当前用户相关信息
请简要描述输出结果?
用户ben的UID号码 = 1000,GID号码 = 1000。用户ben是下面组的成员:
ben组GID号是:1000
adm组GID号是:4
cdrom组GID号是:24
sudo组GID号是:27
dip组GID号是:30
dlugdev组GID号是:46
lpadmin组GID号是:113
sambashare组GID号是:128
用户root的UID号码 = 0,GID号码 = 0。用户root是下面组的成员:
root组GID号是:0
3)创建两个账号,一个账号为test,另外一个账号以大写E开头加上你自己学号尾数4位,两个账号分别设置密码及管理员权限,账号设置完成后,切换账号简单查看信息后,删除test账号,保留另一账号,以备后续操作。
a)创建账号
b) 设置密码
c)设置权限
请简要描述用户组的概念?
用户组是具有相同特征用户的逻辑集合。
d)切换账号
e)删除账号test
VIM简单配置
a)切换到保留的新创建账号
b)在用户主目录创建一个VIM配置文件.vimrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
set number "显示行号 syntax on "语法高亮 set cursorline set ruler " 显示标尺 set showcmd " 输入的命令显示出来,看的清楚些 set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离 set novisualbell " 不要闪烁(不明白) set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\ "%d/%m/%y\ -\ %H:%M\")} " 状态行显示的内容 set nocompatible "去除VIM一致性,必须" set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8 set fileencoding=utf-8 "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" " "" "" "新文件标题 "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "新建.c,.h,.sh,.java文件,自动插入文件头 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" "" 定义函数SetTitle,自动插入文件头 func SetTitle() "如果文件类型为.sh文件 if &filetype == 'sh' call setline(1, "\#########################################################################" ) call append(line( "." ), "\# File Name: " .expand( "%" )) call append(line( "." )+1, "\# Author: zl794907381" ) call append(line( "." )+2, "\# mail: 794907381@qq.com " ) call append(line( "." )+3, "\# Created Time: " .strftime( "%c" )) call append(line( "." )+4, "\#########################################################################" ) call append(line( "." )+5, "\#!/bin/bash" ) call append(line( "." )+6, "" ) else call setline(1, "/*************************************************************************" ) call append(line( "." ), " > File Name: " .expand( "%" )) call append(line( "." )+1, " > Author: zl794907381" ) call append(line( "." )+2, " > Mail: 794907381@qq.com " ) call append(line( "." )+3, " > Created Time: " .strftime( "%c" )) call append(line( "." )+4, " ************************************************************************/" ) call append(line( "." )+5, "" ) endif if &filetype == 'cpp' call append(line( "." )+6, "#include<iostream>" ) call append(line( "." )+7, "using namespace std;" ) call append(line( "." )+8, "" ) endif if &filetype == 'c' call append(line( "." )+6, "#include<stdio.h>" ) call append(line( "." )+7, "" ) endif "新建文件后,自动定位到文件末尾 autocmd BufNewFile * normal G endfunc "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" set autoindent " 自动缩进 set cindent set tabstop=4 " Tab键的宽度 set softtabstop=4 " 统一缩进为4 set shiftwidth=4 set noexpandtab " 不要用空格代替制表符 set smarttab " 在行和段开始处使用制表符 set showmatch set history=1000 " 历史记录数 set nobackup "禁止生成临时文件 set noswapfile set ignorecase "搜索忽略大小写 set hlsearch "搜索逐字符高亮 set incsearch set gdefault "行内替换 set langmenu=zh_CN.UTF-8 "语言设置 set helplang=cn set laststatus=2 " 总是显示状态行 filetype on " 侦测文件类型 filetype plugin on " 载入文件类型插件 filetype indent on " 为特定文件类型载入相关缩进文件 set iskeyword+=_,$,@,%,#,- " 带有如下符号的单词不要被换行分割 set linespace=0 " 字符间插入的像素行数目 set wildmenu " 增强模式中的命令行自动完成操作 set backspace=2 " 使回格键(backspace)正常处理indent, eol, start等 set whichwrap+=<,>,h,l " 允许backspace和光标键跨越行边界 set mouse=a " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位) set selection=exclusive set selectmode=mouse,key "自动补全 :inoremap ( ()<ESC>i :inoremap ) <c-r>=ClosePair( ')' )<CR> :inoremap { {<CR>}<ESC>O :inoremap } <c-r>=ClosePair( '}' )<CR> :inoremap [ []<ESC>i :inoremap ] <c-r>=ClosePair( ']' )<CR> :inoremap " " "<ESC>i :inoremap ' ' '<ESC>i function! ClosePair( char ) if getline( '.' )[col( '.' ) - 1] == a: char return "\<Right>" else return a: char endif endfunction set completeopt=longest,menu "打开文件类型检测, 加了这句才可以用智能补全 |
d)创建并打开一个以.c结尾的文件,如vim helloworld.c
新建的文件应显示如下