Linux入门笔记(5)

一、构建本地Yum仓库
1.挂载光驱设备

[root@A ~]# mkdir  -p   /nsd2002/linux
[root@A ~]# mount   /dev/cdrom    /nsd2002/linux
mount: /dev/sr0 写保护,将以只读方式挂载
[root@A ~]# ls    /nsd2002/linux

2.书写客户端配置文件

[root@A ~]# ls   /etc/yum.repos.d/                                                             
haha.repo  repo
[root@A ~]# vim   /etc/yum.repos.d/haha.repo 
[xixi]                                                          #仓库的标识
name=hehe  lele CentOS7      #仓库的描述信息
baseurl=file:///nsd2002/linux   #指定服务端位置,指定软件的来源
enabled=1                    #是否启用本文件
gpgcheck=0                   #是否检测红帽的签名信息
[root@A ~]# yum   -y   install   tftp-server
[root@A ~]# rpm  -q   tftp-server

 •清空Yum缓存
[root@A ~]# yum   clean   all
[root@A ~]# yum   repolist

二、用户管理

•基于账户身份对资源访问进行控制
–账户类别:用户账号、组账号(方便管理用户账户)
–识别方式:UID、GID
•用户账号
–超级用户root(UID永远为0)、系统用户(UID一般为1至999)、普通用户(默认情况下从UID为1000开始)
•组账号的分类
–基本组(私有组)
–附加组(公共组或从属组)
Linux系统规则:一个用户至少属于一个组
[root@A ~]# useradd nsd01
默认自动创建一个同名的组:nsd01
组:xs、cw、sg

•/etc/passwd,保存用户帐号的基本信息
–每个用户记录一行,以:分割为7个字段

[root@A ~]# head   -1     /etc/passwd
root:x:0:0:root:/root:/bin/bash

用户名:密码占位符:用户的UID:用户所属的基本组的GID:用户描述信息:家目录:解释器程序

•useradd命令
–格式:useradd [选项]… 用户名
•常用命令选项
–-u:指定 UID 标记号
–-d:指定宿主目录(家目录),缺省为 /home/用户名
–-G:指定所属的基本组、附加组
–-s:指定用户的登录解释器

[root@A ~]# useradd nsd02
[root@A ~]# ls /home/

[root@A ~]# grep nsd02 /etc/passwd
[root@A ~]# id nsd02              #查看用户基本信息

[root@A ~]# useradd nsd03
[root@A ~]# id nsd03              #查看用户基本信息
[root@A ~]# grep nsd03 /etc/passwd

[root@A ~]# useradd  -u  1800   nsd04    #指定UID创建用户
[root@A ~]# id nsd04
[root@A ~]# grep nsd /etc/passwd


[root@A ~]# useradd    -d   /opt/nsd05    nsd05
[root@A ~]# ls   /opt/
[root@A ~]# grep   nsd05   /etc/passwd

[root@A ~]# useradd   -d    /opt/abc      nsd06
[root@A ~]# grep   nsd06    /etc/passwd

–-G:指定所属的附加组
–-s:指定用户的登录解释器

[root@A ~]# groupadd   tedu           #创建组tedu
[root@A ~]# useradd  -G   tedu    nsd08
[root@A ~]# id  nsd08

[root@A ~]# useradd  -G   tedu    nsd09
[root@A ~]# id  nsd09

/sbin/nologin:禁止用户登录操作系统
[root@A ~]# useradd   -s   /sbin/nologin   nsd10
[root@A ~]# grep  nsd10   /etc/passwd

•usermod命令
–格式:usermod [选项]… 用户名
•常用命令选项
–-l:更改用户帐号的登录名称
–-u:用户id
–-s:登录的解释器

–-G:附加组 //重置附加组
–-d:家目录路径

[root@A ~]# useradd nsd11
[root@A ~]# grep   nsd11   /etc/passwd

[root@A ~]# usermod   -l  abc11    nsd11                #修改用户的用户名
[root@A ~]# grep  nsd11  /etc/passwd
[root@A ~]# grep  nsd11  /etc/passwd

[root@A ~]# id abc11
[root@A ~]# usermod -u 2000  -d /opt/abc11  abc11     #修改用户的家目录,修改用户的UID
[root@A ~]# grep abc11  /etc/passwd

[root@A ~]# usermod -s /sbin/nologin abc11     #修改用户的解释器程序
[root@A ~]# grep abc11  /etc/passwd


[root@A ~]# useradd nsd12
[root@A ~]# grep   nsd12   /etc/passwd
[root@A ~]# ls    /home/

[root@A ~]# usermod   -d   /opt/nsdhaha     nsd12      #不会创建/opt/nsdhaha相应的家目录
[root@A ~]# grep    nsd12    /etc/passwd

[root@A ~]# ls    /opt/nsdhaha
ls: 无法访问/opt/nsdhaha: 没有那个文件或目录
[root@A ~]# ls   /opt/

–-G:附加组 #重置附加组

[root@A ~]# groupadd  student      #创建student组
[root@A ~]# useradd  nsd14
[root@A ~]# id   nsd14
uid=2003(nsd14) gid=2003(nsd14)=2003(nsd14)
[root@A ~]# usermod   -G   tedu   nsd14
[root@A ~]# id nsd14
uid=2003(nsd14) gid=2003(nsd14)=2003(nsd14),1804(tedu)

[root@A ~]# usermod  -G   student   nsd14
[root@A ~]# id nsd14
uid=2003(nsd14) gid=2003(nsd14)=2003(nsd14),1004(student)

•passwd命令
–格式:passwd [选项]… 用户名
•常用命令选项

--stdin:从标准输入(比如管道)取密码
[root@A ~]# useradd   nsd15
[root@A ~]# passwd    nsd15             #为普通用户设置密码,交互式方式     
更改用户 nsd15  的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@A ~]# su   -   nsd15               #临时切换用户身份
[nsd15 @A ~]$ passwd 
更改用户 nsd15  的密码 。
为 nsd15  更改 STRESS 密码。
(当前)UNIX 密码:                  #输入旧密码
新的 密码:                                 #输入新的密码
重新输入新的 密码:                  #重新输入新的密码
passwd:所有的身份验证令牌已经成功更新。
[nsd15 @A ~]$ exit
登出
[root@A ~]#
 非交互式设置密码                        
[root@A ~]# echo   123456    |     passwd   --stdin     nsd15
更改用户 nsd15 的密码 。
passwd:所有的身份验证令牌已经成功更新。

[root@A ~]# echo   redhat   |    passwd    --stdin    nsd15
更改用户 nsd15 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@A ~]# 

•/etc/shadow,保存密码字串/有效期等信息
–每个用户记录一行,以:分割为9个字段

[root@A ~]# head -1 /etc/shadow
root:$6$NmlB88IT$SohEjP6aXtB8RgctNIO0PGE/WUH5swn2qyPryqdONkJPMoO.LVn7wsW36cqwJ2FMSyHn8n7xnrXOQB4ToQJ6e1:18323:0:99999:7:::

字段1:用户帐号的名称
字段2:加密后的密码字符串
字段3:上次修改密码的时间 自1970-1-1到达上一次修改密码的时间,经历的天数
字段4:密码的最短有效天数,默认0
字段5:密码的最长有效天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)

用户初始配置文件

•配置文件来源
–新建用户时,用户的家目录根据 /etc/skel 模板目录复制
[root@A ~]# echo hahaxixi > /etc/skel/haxi.txt
[root@A ~]# ls -A /etc/skel/

[root@A ~]# useradd nsd19
[root@A ~]# ls -A /home/nsd19

[root@A ~]# useradd nsd20
[root@A ~]# ls /home/nsd20
[root@A ~]# ls -A /home/nsd20/

•主要的初始配置文件
–~/.bash_profile:每次登录时执行,专门定义初始变量
–~/.bashrc:每次进入新的Bash环境时执行,每开启一个新的终端,会执行一次。专门定义永久别名
全局配置文件:/etc/bashrc(专门定义永久别名)、/etc/profile(专门定义初始变量)

修改root用户家目录配置文件:仅会影响root用户

[root@A ~]# vim    /root/.bashrc
alias   hn='hostname'
.......
[root@A ~]# exit
开启一个新的终端
[root@A ~]# hn

修改nsd21用户家目录配置文件:仅会影响nsd21用户

[root@A ~]# useradd    nsd21
[root@A ~]# vim     /home/nsd21/.bashrc 
alias   hello='echo   I am King'
[root@A ~]#  su  -   nsd21
[nsd21@A ~]$  hello
I am King
[nsd21@A ~]$ exit
修改全局配置文件:/etc/bashrc 会影响全体所有用户,包括root用户
[root@A ~]# vim    /etc/bashrc
alias  hi='echo hahaxixi'
开启一个新的终端验证
[root@A ~]# hi
[root@A ~]#  su - nsd21
[nsd21@A ~]$  hi
[nsd21@A ~]$ exit

•userdel命令
–格式:userdel [-r] 用户名
–添加 -r 选项,宿主目录/用户邮件也一并删除

[root@A ~]# userdel   -r   nsd01
[root@A ~]# userdel     nsd02
[root@A ~]# id   nsd01
id: nsd01: no such user
[root@A ~]# id   nsd02
id: nsd02: no such user
[root@A ~]# ls   /home/

四、组账号管理,组可以方便管理用户

•/etc/group,保存组帐号的基本信息
–每个组记录一行,以:分割为4个字段

[root@A ~]# groupadd   stugrp
[root@A ~]# grep   stugrp   /etc/group
stugrp:x:2005:
字段1:组帐号的名称
字段2:密码占位符 x
字段3:组帐号的GID号
字段4:本组的成员用户列表
[root@A ~]# useradd   jack
[root@A ~]# useradd   kenji
[root@A ~]# useradd   kaka

•gpasswd命令,管理组成员
–格式:gpasswd [选项]… 组名
•常用命令选项
–-A:定义组管理员列表
–-a:添加组成员,每次只能加一个
–-d: 删除组成员,每次只能删一个
–-M:定义组成员用户列表,可设置多个

[root@A ~]# grep stugrp /etc/group        #查询组基本信息

[root@A ~]# gpasswd -a jack stugrp      # 将用户jack添加到stugrp组中
[root@A ~]# grep stugrp /etc/group
[root@A ~]# id jack

[root@A ~]# gpasswd -a kaka stugrp    #将kaka用户添加到stugrp组中
[root@A ~]# grep stugrp /etc/group
[root@A ~]# id kaka

[root@A ~]# grep stugrp /etc/group
[root@A ~]# gpasswd -M root,kenji stugrp    #重新定义组成员列表
[root@A ~]# grep stugrp /etc/group

[root@A ~]# gpasswd -M jack,kaka,root,kenji  stugrp
[root@A ~]# grep stugrp /etc/group
[root@A ~]# gpasswd -d  root  stugrp          #将root用户从stugrp组中删除
[root@A ~]# grep stugrp /etc/group



[root@A ~]# gpasswd   -M   ''    stugrp     #定义一个空列表,利用空进行覆盖,清空组中所有成员
[root@A ~]# grep   stugrp   /etc/group

[root@A ~]# gpasswd  -A    jack   stugrp    #为stugrp指定一个组的管理员
[root@A ~]# su   -    jack
[jack@A ~]$ gpasswd   -a    kaka     stugrp
[jack@A ~]$ grep  stugrp   /etc/group

[jack@A ~]$  exit

•/etc/gshadow,保存组帐号的管理信息
–每个组记录一行,以:分割为4个字段

[root@A ~]# grep stugrp /etc/gshadow
stugrp:!:kenji:kaka,root

字段1:组帐号的名称
字段2:加密后的密码字符串
字段3:本组的管理员列表
字段4:本组的成员用户列表

[root@A ~]# gpasswd  -A   jack,kenji   stugrp
[root@A ~]# grep  stugrp  /etc/gshadow
stugrp:!:jack,kenji:kaka,root
[root@A ~]# 

•groupdel命令
–格式:groupdel 组名
–删除的目标组不能是用户的基本组

[root@A ~]# groupdel  stugrp
[root@A ~]# grep   stugrp    /etc/group

vim文本编辑器练习,命令模式下的基本操作
1)将/etc/passwd的前20行,写入到文件/opt/pass20.txt
2)将/etc/shadow的前10行,追加写入到文件/opt/pass20.txt

2)利用/opt/pass20.txt,进项如下操作:
– 命令模式下移动光标:键盘上下左右键、Home键、End键
– 命令模式下行间跳转:到全文的第一行(1G或gg)、到全文的最后一行(G)、到全文的第10行(10G)

– 命令模式下复制、粘贴:
	 复制1行(yy)、复制3行(3yy)
	 粘贴到当前行之后(小写p)

– 命令模式下删除:
	 删除单个字符(x)
	 删除到行首(d^)、删除到行尾(d$)
	 删除1行(dd)、删除3行(3dd)
     

– 命令模式下查找关键词: 
	 搜索(/word)切换结果(n、N)

– 补充:在命令模式下大写的C,可以删除光标之后,并且进入插入模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值