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 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445
| # 用户管理简介 # 用户账户 作用: 1.可以登陆操作系统 2.不同的用户具备不同的权限 唯一标识:UID(编号从0开始的编号,默认最大60000) zhangsan(UID 1200) 管理员root的UID:永远为0 普通用户的UID:默认从1000开始
# 组账户 作用: 方便管理用户 唯一标识:GID(编号从0开始的编号,默认最大60000) sg(1500) 原则:Linux一个用户必须至少属于一个组 组账户的分类: 基本组:系统创建与用户同名 附加组(从属组):由管理员创建,由管理员进行加入
# useradd zhangsan 组: zhangsan 组:sg xs mn haha xixi
# 本地账户的数据文件 – /etc/passwd、/etc/shadow – /etc/group、/etc/gshadow
# /etc/passwd:存放用户基本信息配置文件 [root@localhost ~]# head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash 用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器
# 用户账号创建 命令useradd – 格式:useradd [选项]... 用户名 • 常用命令选项 – -u:指定 UID 标记号 – -d:指定宿主目录(家目录),缺省为 /home/用户名 – -G:指定所属的附加组 – -s:指定用户的登录解释器
-u:指定 UID 编号 [root@localhost ~]# useradd nsd01 [root@localhost ~]# ls /home/ #查看家目录的产生 lisi nsd01 zhangsan [root@localhost ~]# grep nsd01 /etc/passwd #查看nsd01信息 nsd01:x:1002:1002::/home/nsd01:/bin/bash [root@localhost ~]# id nsd01 #查看nsd01用户基本信息 uid=1002(nsd01) gid=1002(nsd01) 组=1002(nsd01) [root@localhost ~]# id gaga id: gaga: no such user #无此用户
[root@localhost ~]# useradd -u 1500 nsd02 #指定UID创建用户 [root@localhost ~]# id nsd02 #查看nsd02用户基本信息 uid=1500(nsd02) gid=1500(nsd02) 组=1500(nsd02) [root@localhost ~]# grep nsd /etc/passwd #查看用户信息 nsd01:x:1002:1002::/home/nsd01:/bin/bash nsd02:x:1500:1500::/home/nsd02:/bin/bash [root@localhost ~]# useradd nsd03 [root@localhost ~]# grep nsd /etc/passwd [root@localhost ~]# id nsd03
-d:指定宿主目录(家目录),缺省为 /home/用户名 [root@localhost ~]# useradd -d /opt/nsd04 nsd04 [root@localhost ~]# grep nsd04 /etc/passwd [root@localhost ~]# ls /opt/
[root@localhost ~]# useradd -d /opt/haha05 nsd05 [root@localhost ~]# grep nsd05 /etc/passwd [root@localhost ~]# ls /opt/
-G:指定所属的附加组 [root@localhost ~]# groupadd stugrp #单独创建stugrp组 [root@localhost ~]# useradd -G stugrp nsd06 [root@localhost ~]# id nsd06 uid=1504(nsd06) gid=1505(nsd06) 组=1505(nsd06),1504(stugrp)
[root@localhost ~]# useradd -G stugrp nsd07 [root@localhost ~]# id nsd07
-s:指定用户的登录解释器 shell:壳,解释器 用户---->解释器---->内核---->硬件 /sbin/nologin:禁止用户登录操作系统
[root@localhost ~]# useradd -s /sbin/nologin nsd10 [root@localhost ~]# grep nsd07 /etc/passwd
[root@localhost ~]# useradd -s /sbin/nologin nsd11 [root@localhost ~]# grep nsd09 /etc/passwd
# usermod命令 – 格式:usermod [选项]... 用户名 • 常用命令选项 – -l:更改用户帐号的登录名称 – -u:用户id – -d:家目录路径 – -s:登录解释器 – -G:附加组 //重置附加组
-l:更改用户帐号的登录名称 -u:用户id -s:登录解释器 # useradd nsd13 # id nsd13 # grep nsd13 /etc/passwd
# usermod -l stu13 nsd13 # id stu13
# usermod -u 1600 stu13 # id stu13
# usermod -s /sbin/nologin stu13 # grep stu13 /etc/passwd
-d:家目录路径(不会自动创建家目录) [root@localhost ~]# useradd nsd15 [root@localhost ~]# grep nsd15 /etc/passwd nsd15:x:1601:1601::/home/nsd15:/bin/bash [root@localhost ~]# ls /home/
[root@localhost ~]# usermod -d /etc/abc nsd15 [root@localhost ~]# grep nsd15 /etc/passwd nsd15:x:1601:1601::/etc/abc:/bin/bash [root@localhost ~]# ls /etc/abc ls: 无法访问/etc/abc: 没有那个文件或目录
-G:修改用户的附加组 #重置附加组 [root@localhost ~]# useradd nsd16 [root@localhost ~]# id nsd16 uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16) [root@localhost ~]# usermod -G stugrp nsd16 [root@localhost ~]# id nsd16 uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16),1504(stugrp)
[root@localhost ~]# groupadd tmooc [root@localhost ~]# usermod -G tmooc nsd16 [root@localhost ~]# id nsd16 uid=1602(nsd16) gid=1602(nsd16) 组=1602(nsd16),1603(tmooc)
# 设置密码 # passwd命令 – 格式:passwd [选项]... 用户名 [root@localhost ~]# passwd nsd01 #交互式设置 更改用户 nsd01 的密码 。 新的 密码: #输入新密码 无效的密码: 密码少于 8 个字符 重新输入新的 密码: #重新输入新密码 passwd:所有的身份验证令牌已经成功更新。 [root@localhost ~]# su - nsd01 #临时切换用户身份 [nsd01@localhost ~]$ passwd 更改用户 nsd01 的密码 。 为 nsd01 更改 STRESS 密码。 (当前)UNIX 密码: #输入旧密码 新的 密码: #输入新密码 重新输入新的 密码: #重新输入新密码 passwd:所有的身份验证令牌已经成功更新。 [nsd01@localhost ~]$ exit #退出。回到root用户身份
# passwd命令,支持非交互式设置密码 – --stdin:从标准输入(比如管道)取密码 [root@localhost ~]# echo 123 | passwd --stdin nsd01 [root@localhost ~]# echo 123456 | passwd --stdin nsd01 [root@localhost ~]# echo redhat | passwd --stdin nsd01
# /etc/shadow,保存密码字串/有效期等信息 – 每个用户记录一行,以:分割为9个字段 [root@localhost ~]# grep nsd01 /etc/shadow nsd01:$6$NVe937Nd$B0n94XrpQ.LipQHTpYh0iV/M4jCLdccfHxzRLprdxDzwk8WDDh/TzdTfh8lA9y9WKJ.8Ls/l5.w/1W.nV6CFX/:18481:0:99999:7:::
上一次修改密码的时间:自1970-1-1到达上一次修改密码的时间,所经历的天数
字段1:用户帐号的名称 字段2:加密后的密码字符串 字段3:上次修改密码的时间 字段4:密码的最短有效天数,默认0 字段5:密码的最长有效天数,默认99999 字段6:密码过期前的警告天数,默认7 字段7:密码过期后多少天禁用此用户账号 字段8:帐号失效时间,默认值为空 字段9:保留字段(未使用)
# 用户初始配置文件 # 配置文件来源 新建用户时,新建用户家目录,根据 /etc/skel 模板目录复制 [root@localhost ~]# ls -A /etc/skel/
[root@localhost ~]# touch /etc/skel/haxi.txt [root@localhost ~]# mkdir /etc/skel/test [root@localhost ~]# ls -A /etc/skel/
[root@localhost ~]# useradd nsd19 [root@localhost ~]# ls -A /home/nsd19
[root@localhost ~]# useradd nsd20 [root@localhost ~]# ls -A /home/nsd20
# 主要的初始配置文件 – ~/.bash_profile:每次登录系统时执行,定义初始变量值 – ~/.bashrc:每次进入新的Bash环境时执行(开启新的终端)
[root@localhost ~]# vim /root/.bashrc #定义永久别名 alias haha='echo haha'
# 开启新的终端进行测试: [root@localhost ~]# haha haha
– /etc/bashrc:全局配置文件,影响全体用户 (开启新的终端) [root@localhost ~]# vim /etc/bashrc alias xixi='echo xixi'
[root@localhost ~]# useradd nsd20 [root@localhost ~]# su - nsd20 #相当于开启新的终端 [nsd20@localhost ~]$ xixi xixi [nsd20@localhost ~]$ exit 登出 [root@localhost ~]#
# 删除用户 userdel命令 格式:userdel [-r] 用户名 添加 -r 选项,宿主目录/用户邮件也一并删除 [root@localhost ~]# userdel -r nsd01 #连同家目录一并删除
[root@localhost ~]# userdel nsd02 #不删除家目录,只删除用户信息
# 组账户管理 /etc/group,保存组帐号的基本信息 每个组记录一行,以:分割为4个字段 [root@localhost ~]# grep stugrp /etc/group stugrp:x:1504:nsd06 组名:组密码占位符:组的GID:组成员列表
[root@localhost ~]# groupadd tarena #新建一个组 [root@localhost ~]# grep tarena /etc/group #查看组信息 tarena:x:1607: [root@localhost ~]# useradd kaka [root@localhost ~]# useradd nb [root@localhost ~]# useradd jack [root@localhost ~]# useradd kenji
# gpasswd命令 – 格式:gpasswd [选项]... 组名 • 常用命令选项 – -a:添加组成员,每次只能加一个 – -d: 删除组成员,每次只能删一个 – -M:定义组成员用户列表,可设置多个 – -A:定义组管理员列表
# gpasswd -a kaka tarena # grep tarena /etc/group # id kaka # gpasswd -a nb tarena # grep tarena /etc/group
# gpasswd -M ‘jack,kenji’ tarena # grep tarena /etc/group
# gpasswd -a nb tarena # grep tarena /etc/group
# gpasswd -d nb tarena # grep tarena /etc/group # gpasswd -M ‘’ tarena # grep tarena /etc/group
-A:定义组管理员列表 [root@localhost ~]# su - nb [nb@localhost ~]$ gpasswd -a kaka tarena gpasswd:没有权限。 [nb@localhost ~]$ exit [root@localhost ~]# gpasswd -A nb tarena #设置组管理员 [root@localhost ~]# su - nb [nb@localhost ~]$ gpasswd -a kaka tarena 正在将用户“kaka”加入到“tarena”组中 [nb@localhost ~]$ exit [root@localhost ~]# /etc/gshadow:组的管理信息配置文件 [root@localhost ~]# grep tarena /etc/gshadow tarena:!:nb: 组名:密码加密字符串:组的管理员列表:组成员列表
删除组账号:删除组的时候,不可以删除基本组 [root@localhost ~]# groupdel tarena [root@localhost ~]# groupdel tmooc [root@localhost ~]# grep tmooc /etc/group [root@localhost ~]# grep tarena /etc/group
# 计划任务 用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务 软件包:cronie、crontabs 系统服务:crond 日志文件:/var/log/cron
使用 crontab 命令 – 编辑:crontab -e [-u 用户名] – 查看:crontab -l [-u 用户名] – 清除:crontab -r [-u 用户名]
# 计划任务书写格式 分 时 日 月 周 任务命令行(绝对路径) * * * * * 30 8 * * * #每天早上8:30 执行一次 30 23 * * * #每天晚上23:30 执行一次 30 23 * * 5 #每周的周五23:30 执行一次 30 23 * * 1-5 #每周的周一至周五23:30 执行一次 30 23 * * 1,3,6 #每周的周一周三周六23:30 执行一次 30 23 1 * 1 #每月的1号或每周一晚上23:30 执行一次 * * * * * #每分钟运行一次 */5 * * * * #每隔5分钟运行一次 1 */2 * * * #每隔2小时运行一次
*:匹配范围内任意时间 ,:分隔多个不连续的时间点 -:指定连续时间范围 /n:指定时间频率,每n ...
案例: 每分钟记录当前的系统时间,写入/opt/time.txt [root@localhost ~]# date [root@localhost ~]# date >> /opt/time.txt [root@localhost ~]# cat /opt/time.txt [root@localhost ~]# crontab -e #编写计划任务 * * * * * date >> /opt/time.txt
[root@localhost ~]# crontab -l #查看计划任务内容 * * * * * date >> /opt/time.txt
[root@localhost ~]# cat /opt/time.txt
# 命令补充 # 获取命令帮助 方式一:命令 --help [root@localhost ~]# cat --help 方式二:man 命令 [root@localhost ~]# man cat #按q退出 [root@localhost ~]# man passwd #显示passwd命令帮助 [root@localhost ~]# man 5 passwd 数字5表示帮助的类型,表示配置文件类型
# 历史命令 管理/调用曾经执行过的命令 – history:查看历史命令列表 – history -c:清空历史命令 – !n:执行命令历史中的第n条命令 – !str:执行最近一次以str开头的历史命令
[root@svr7 ~]# vim /etc/profile HISTSIZE=1000 #默认记录1000条
[root@localhost ~]# history #显示历史命令列表 [root@localhost ~]# history -c #清空历史命令 [root@localhost ~]# history [root@localhost ~]# cat /etc/redhat-release [root@localhost ~]# ls /root [root@localhost ~]# history [root@localhost ~]# !cat #执行最近一条以cat开头的历史命令 [root@localhost ~]# !ls #执行最近一条以ls开头的历史命令
# du,统计文件的占用空间 – du [选项]... [目录或文件]... – -s:只统计每个参数所占用的总空间大小 – -h:提供易读容量单位(K、M等) [root@localhost ~]# du -sh /root [root@localhost ~]# du -sh /etc [root@localhost ~]# du -sh /boot [root@localhost ~]# du -sh /
# date,查看/调整系统日期时间 – date +%F、date +%R – date +"%Y-%m-%d %H:%M:%S" – date -s "yyyy-mm-dd HH:MM:SS" # date # date -s "2008-9-6 11:11:11" # date # date -s "2021-8-5 16:28:00" # date
[root@localhost ~]# date +%Y #显示年 [root@localhost ~]# date +%m #显示月 [root@localhost ~]# date +%d #显示日期 [root@localhost ~]# date +%H #显示时 [root@localhost ~]# date +%M #显示分 [root@localhost ~]# date +%S #显示秒
[root@localhost ~]# date +%F #显示年-月-日 [root@localhost ~]# date +%R #显示时:分
# 制作链接文件(制作快捷方式) 格式:ln -s /路径/源数据 /路径/快捷方式的名称 #软链接 # ln -s /etc/sysconfig/network-scripts/ /ns # ls / # ls -l /ns # touch /ns/haha.txt # touch /ns/maohehaozi.txt # touch /ns/shukehebeita.txt # ls /etc/sysconfig/network-scripts/
软链接优势:可以针对目录与文件制作快捷方式,支持跨分区 软链接缺点:源数据消失,快捷方式失效
格式:ln /路径/源数据 /路径/快捷方式的名称 #硬链接 硬链接优势:源数据消失,快捷方式仍然有效 硬链接缺点:只能针对文件制作快捷方式,不支持支持跨分区 [root@localhost ~]# rm -rf /opt/* [root@localhost ~]# echo 123 > /opt/A.txt [root@localhost ~]# ln -s /opt/A.txt /opt/B.txt #软链接 [root@localhost ~]# ls /opt/ [root@localhost ~]# ln /opt/A.txt /opt/C.txt #硬链接 [root@localhost ~]# ls /opt/ [root@localhost ~]# cat /opt/B.txt [root@localhost ~]# cat /opt/C.txt [root@localhost ~]# rm -rf /opt/A.txt [root@localhost ~]# ls /opt/ [root@localhost ~]# cat /opt/B.txt #软链接失效 cat: /opt/B.txt: 没有那个文件或目录 [root@localhost ~]# cat /opt/C.txt #硬链接仍然有效
# zip归档工具,跨平台 • 归档+压缩操作: zip [-r] 备份文件.zip 被归档的文档... [-r]:被归档的数据有目录,必须加上此选项 # zip -r /opt/abc.zip /etc/passwd /home # ls /opt/ • 释放归档+解压操作: unzip 备份文件.zip [-d 目标文件夹] # mkdir /sss # unzip /opt/abc.zip -d /sss # ls /sss # ls /sss/etc/ # ls /sss/home/
|