Linux总结第二天

1.ls  ##显示文件信息

详解步骤如下:

(1)在已创建的文件a中提前写入一行文字,并用“cat a“将文件a中的内容显示在shell中

(2)ls   -l  以长列表显示文件信息,可显示文件中元数据

(3)ls   -s   显示文件a的大小

(4)创建cc文件和隐藏文件.h文件,使用ls   -S  对文件大小排序,大文件默认排在前面

(5)ls   -a   显示所有文件包括以“.”开头的隐藏文件(“.文件”是隐藏文件)
Linux总结第二天
对于目录:

(1)使用ls显示出桌面文件及目录,目录显示为蓝色。ls   -d   显示目录本身
(2)ls   -dl  dir 显示目录dir的属性
(3)ls   -R   dir是目录dir的递归显示

Linux总结第二天

2.通配符

详细步骤解析如下:

(1)创建隐藏文件.{1..5}并显示出来。{1..5}  即精确匹配1 2 3 4 5,*  即匹配0~任意字符。

使用ls -a .*即可显示出当前目录下所有的文件,包括隐藏文件

Linux总结第二天

(2)删掉上面创建的文件后创建abc,dd,aaa三个文件。

?  即匹配单个字符,几个问号就代表几个字符  ,如下rm -rf ??,即删掉两个字符的文件,rm -rf  ???即删掉三个字符

Linux总结第二天
(1)创建fil,file文件,删除该目录下与fil匹配且后缀含有单个字母的文件,即file。

[[:alpha:]]   匹配单个字母

Linux总结第二天

(2)创建file和File后,删除首字母为大写字母的文件,即File
[[:upper::]]   匹配单个大写字母

Linux总结第二天

(3)创建FILE后删除首字母为小写字母的文件,即file

[[:lower:]] 匹配 单个小写字母

Linux总结第二天

(4)创建file1~3,filea~d,先显示出末尾为数字的文件,最后显示出末尾为单个数字或字母的文件。

[[:digit:]]  匹配单个数字
[[:alnum:]] 单个数字或字母

Linux总结第二天

(5)先创建“fi le”,“[email protected]”文件,显示含有空格的文件即“fi le”,最后显示含有“@”的文件,即“[email protected]”。

[[:space:]] 匹配 单个空格
[[:punct:]]   匹配单个符号

Linux总结第二天

(6)先显示所有末尾为数字1或2的文件,再显示末尾为a或c的文件,最后显示末尾不是abc的文件

{a..c}  #a b c
[1-3]   #1或2或3模糊匹配
[ac]   #a或c
[^ac]  #除了a和c

Linux总结第二天

(7)创建如下图的文件,并显示出其中既不含空格也不含特殊符号的文件,即file

[!ac]  #不是a也不是c,同上。

Linux总结第二天
3.用户的管理
1.系统中为什么要有用户
这是最底层的安全设定用来回收权力支配权力的,组是用来共享权力的
2.用户存在形态
初始组无法更改,所有用户都有初始组,附加组是超级用户给其他用户附加的
3.用户配置文件
/etc/passwd  是用户信息文件,使用vim打开该文件,截取下图:

Linux总结第二天
对应的是“用户名称:密码:用户id:组id:用户说明:用户家目录:用户默认使用的shell“
/etc/group   是用户组信息,vim打开如下,截部分图如下:

Linux总结第二天
每行对应的是“组名称:组密码:组id:附加组成员“
/home/username  是用户家目录

Linux总结第二天
/etc/skel.*  是用户骨文件(用户环境配置模板,在用户建立时会自动复制到家目录中)

Linux总结第二天

4.用户的查看
whoami #查看当前用户名称
id username  #查看用户的id信息
id -u username #查看用户的uid
id -g username  #查看用户gid
id -G username  #用户所在的所有组id

Linux总结第二天
id -n username  #以名称显示信息
id -Gn          #用户所在的所有组名称
id   -gn           #用户初始组名称

Linux总结第二天

5.用户的建立及删除

步骤:

1.使用如下指令观察/etc/passwd文件 和/etc/group文件的后四行,以及根下的家目录每一秒的变化。
Linux总结第二天
注意:uid和gid在用户建立时是一致的,先创建组才能指定初始组给用户,删除该用户时则也删除该组
指定附加组以后,则有初始组和附加组两个组。
/etc/login.defs  在此文件中可以设定建立用户的默认信息

2.建立删除用户,并在上述指令打开的shell中观察变化

useradd username  使用默认规则建立用户,规则参看/etc./login.defs

Linux总结第二天

ueserdel username  仅仅删除用户身份

userdel -r username   删除用户身份及用户的系统配置文件

若没有执行则执行rm -fr /home/username

Linux总结第二天

Linux总结第二天

useradd -u username  指定用户的uid

Linux总结第二天

useradd -g username   指定用户的初始组id

Linux总结第二天

groupadd -g gid groupname  创建组并给出组id

useradd -G username  指定用户的附加组

Linux总结第二天
useradd -c username  指定用户的说明文字

Linux总结第二天
useradd -d username   指定用户的家目录

Linux总结第二天
useradd -s username  指定用户shell(可以用shell在/etc/shells中查看可用shell)

Linux总结第二天

可以使用如下指令一次性创建用户并进行设置

Linux总结第二天

6.用户管理

修改步骤类似于用户的创建和删除。
usermod -l 新名称 原名称  修改用户名

Linux总结第二天
usermod -u uid username  修改用户uid

Linux总结第二天
  usermod     -g               修改初始组id
  usermod    -G               更改附加组

Linux总结第二天
  usermod      -aG              增加附加组

Linux总结第二天
  usermod      -G “”            清除所有附加组

Linux总结第二天
  usermod      -c                改变用户说明文字

Linux总结第二天
   usermod     -d  /home/username  仅仅改变/etc/passwd下的字符串,不改变家目录

Linux总结第二天
usermod    -md  /home/其他名称  连同家目录一起改变

Linux总结第二天
   usermod     -s                 改变用户shell

Linux总结第二天

7.用户切换
su - username   切换用户,高级用户切换到低级用户不需要密码,低级用户切换到高级用户或者切换到平级用户需要后者密码

Linux总结第二天

Linux总结第二天

注意:
1.用户切换后即使退出再进入下一个用户,不退出,来回切换会使shell出问题
2.su - 表示切换用户身份及用户环境,su 只切换用户身份,环境变量不改变
可用echo $PATH   查看环境变量

Linux总结第二天
      

8.用户认证信息

passwd 普通用户改自己密码
/etc/shadow  记录用户的认证信息,格式如下:

用户名称:用户密码:密码最后一次被修改时间:密码最短有效期:最长有效期:密码过期警告期:密码非活跃期:帐号到期日:未设定,用户自定义

详解如下:

用户密码:(md5(对称加密)sha512)
(passwd username是root用户修改密码)

usermod -L    冻结帐号

Linux总结第二天
usermod -U    解锁

Linux总结第二天
passwd -l     冻结(强指令)

Linux总结第二天
passwd  -u    解锁(强指令)

Linux总结第二天
passwd -d     清空    密码

Linux总结第二天
密码最后一次被修改时间:(若改为0则用户第一次登录时必须改密码。chage -d 0 username有此效果)

Linux总结第二天
密码最短有效期:
chage -m 1 username

Linux总结第二天
passwd -n 3 username

Linux总结第二天
最长有效期:chage -M 30

Linux总结第二天
passwd -x

Linux总结第二天
密码过期警告期(密码过期前几日进行提醒):
   chage -W

Linux总结第二天
   passwd -w

Linux总结第二天
密码非活跃期(密vi码过期后延缓密码修改天数):

chage -I

Linux总结第二天

Linux总结第二天
passwd -i 1 username,取消改为-1

Linux总结第二天
帐号到期日:
chage -E 2018-11-11

Linux总结第二天
:未设定,用户自定义

注:passwd 参数 -1  username 取消修改
 

9.用户权力下放
1.配置文件
/etc/sudoers

2.配置命令

普通用户默认是没有新建或删除用户的权限的,但可通过修改配置文件赋予普通用户所没有的权限。

Linux总结第二天
用visudo 此命令修改配置文件,因为该提供语法检测,出错会提醒修改。

执行此命令后,进入插入模式,将光标定位至100行,有如下图内容,将
“用户名 主机名=(执行程序身份) 命令“添加至“root.....“下面,并保存退出。当执行命令时需要用户验证输入密码。
例:hhh localhost=(root) /usr/sbin/useradd
用户名 主机名=(执行程序身份) NOPASSWD;命令1, 命令2 。保存退出后,执行命令时无需用户密码验证
例:hhh localhost=(root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel

Linux总结第二天
测试:
su - linux
sudo useradd hello

Linux总结第二天

10.暴力修改密码

开机时不停上下移动,按e,进入如下界面:

Linux总结第二天

修改配置文件如下:

Linux总结第二天

ctrl-x进入如下界面,执行下图指令

Linux总结第二天