Linux基础命令的学习及用户的管理

一、显示文件信息

ls 显示文件信息
        -l 长列表显示文件信息,显示文件元数据  (ls -l)
       -a 显示所有文件包括以“.”开头的("."表示隐藏文件)(ls -a)
       -s 显示文件大小
       -S 文件大小排序
       -d 显示目录
      -R 递归显示

我们通过以下案例具体学习这几个命令:

先在home中建立几个文件:file1、file2、.file3其中我们可以看到.file3是隐藏文件

Linux基础命令的学习及用户的管理

我们可以看到ls - l命令确实显示了文件元数据,但是不显示隐藏文件。

Linux基础命令的学习及用户的管理

我们可以看到ls - a命令确实显示了文件元数据,并且显示隐藏文件。

Linux基础命令的学习及用户的管理

我们可以看到ls - s命令显示了文件大小,但是并没有显示隐藏文件的大小。

Linux基础命令的学习及用户的管理

我们可以看到ls - S命令按文件大小排序。

Linux基础命令的学习及用户的管理

Linux基础命令的学习及用户的管理

ls -d 显示目录
ls -R 递归显示

什么是套接字?
sockets是保证外界和内部进行交互的窗口,

二、通配符——通用匹配字符

 *      表示匹配0~任意字符
?    表示匹配单个字符              rm -fr ????      表示删掉文件名是四个字符的文件
【【:alpha:】】单个字母   (方括号应该是英文输入法中的方括号,这里为了方便查看,显示为中文方括号)
【【:upper:】】单个大写字母
【【:lower:】】单个小写字母
【【:digit:】】单个数字
【【:alnum:】】单个数字或字母
【【:space:】】单个空格
【【:punct:】】单个符号

{1..3}  1 2 3
{a..c}  a  b  c

[1-3]  1或2或3
[ac] a或c
[^ac]除了a和c
[!ac]除了a和c

[[:alpha:][:punct:]]表示符号或字母
[![:alpha:][:punct:]]既不是符号也不是字母

在删除文件时可以用到以上通配符,比如文件名称为fiAle,要删除时,可以使用以上通配符

接下来,我们通过以下示例具体学习这些通配符

Linux基础命令的学习及用户的管理

建立文件名为fi le、fiAle、fiale、[email protected]、fi*le

使用rm -fr ?????命令进行删除

Linux基础命令的学习及用户的管理

我们可以看见,五个字符的文件都被删除了。

Linux基础命令的学习及用户的管理

可以删除文件名中有单个字母的文件。【【:upper:】】单个大写字母和【【:lower:】】单个小写字母在这里就不演示了,都是一样的操作。

Linux基础命令的学习及用户的管理

可以删除文件名中有单个符号的文件

Linux基础命令的学习及用户的管理

可以删除文件名中有空格的文件。【【:digit:】】单个数字和【【:alnum:】】单个数字或字母这里就不演示了,都是一样的操作。

Linux基础命令的学习及用户的管理

Linux基础命令的学习及用户的管理

我们可以看见使用上图命令可以删除文件名中有123的文件。

Linux基础命令的学习及用户的管理

Linux基础命令的学习及用户的管理

我们对比上面两张图可以看见,删除了除了文件名中没有ac的文件

Linux基础命令的学习及用户的管理

Linux基础命令的学习及用户的管理

删除文件名中有符号或字母的文件,[![:alpha:][:punct:]]表示既不是符号也不是字母与上面演示相似,这里就不赘述了。

三、用户的管理

首先我们应该知道系统中为什么要有用户

用户是用来进行安全设定;
组是用来共享权力;

用户就相当于是一个个体,就比如家庭中的一员,而组就是这个家庭,家庭里的人可以和你共享一张桌子,一个冰箱等。


附加组:可以决定权限,不一定有附加组;
初始组:无法决定权限,一定有,不能更改。

就比如一个人刚生下来,他就是有生身父母的,这个就相当于初始组,是无法改变的而且每个人都有。而附加组就相当于一个人被送给隔壁老王了,这个是后天的,可以不用给。
用户在系统当中以表格和表格中的一系列字符出现的。

1.用户配置文件
/etc/passwd      用户的信息文件

Linux基础命令的学习及用户的管理

Linux基础命令的学习及用户的管理

用户名称:密码:用户id(唯一的身份证号):组id:用户说明:用户家目录(用户出现的默认地址):用户默认使用的shell

我们可以从上图中看到这些信息。

 

/etc/group      ##用户组信息

Linux基础命令的学习及用户的管理

Linux基础命令的学习及用户的管理
组名称:组密码:组id:附加组成员(有多少人)

 

/home/username   ###用户家目录

/etc/skel.*   ##用户骨信息(用户环境配置模板文件,在用户建立时会自动被复制粘贴到家目录中)

 

2.用户的查看
whoami                    查看当前用户名称

Linux基础命令的学习及用户的管理

可以看到当前用户名为root
id   username          查看用户的id信息

Linux基础命令的学习及用户的管理
id -u  username       查看用户的uid
   -g  username        查看用户的gid
   -G  username       用户所在的所有组的id
   -n  username        以名称显示id

Linux基础命令的学习及用户的管理

3.用户的建立以及删除

/etc/login.defs   在此
watch -n 1每秒钟显示一次
监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo===;ls -l /home/'    用此命令查看实验效果

Linux基础命令的学习及用户的管理

Linux基础命令的学习及用户的管理

通过第一张图的命令就可以通过第二张图片实时观察实验结果的图。


userdel username (root)表示删除用户的身份,但其配置文件保留

Linux基础命令的学习及用户的管理

userdel -r username (root)表示删除用户身份及系统配置文件;

Linux基础命令的学习及用户的管理


useradd westos 表示新建用户westos

Linux基础命令的学习及用户的管理

我们可以看到,上面窗口新建了一个wes用户


useradd -u 6666 westos 指定用户id

Linux基础命令的学习及用户的管理

我们可以看到,新建的west用户中他的uid项是666


useradd -g 1003 weste指定用户初始组(1003必须先存在)

Linux基础命令的学习及用户的管理

我们可以看到,新建的weste用户中他的初始组是1003


groupadd -g 102 westos 1建立指定组(102)

Linux基础命令的学习及用户的管理

我们可以看到,新建的westes1用户中他的组是102


useradd -G 102(已经存在的组) wes   指定附加组

Linux基础命令的学习及用户的管理


useradd -c “testuser” westos 指定说明文字

Linux基础命令的学习及用户的管理

我们可以看出,用户说明那一项有testuser


userdel -r w删除用户w

Linux基础命令的学习及用户的管理

对比上图,我们可以看到w用户已经被删除了。

 

ueradd -d /mnt/westos westos  建立到指定目录中

Linux基础命令的学习及用户的管理

 

useradd -s /bin/tcsh(不能乱写要查询电脑,步骤如下) westos 建立到指定目录

这个和上边操作基本一致,这里就不再赘述了。

 

cat /etc/shells 显示电脑中的所有shell

Linux基础命令的学习及用户的管理

 

 

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

 

groupadd groupname 建立组

Linux基础命令的学习及用户的管理
groupadd  -g groupname建立指定组id
groupdel groupname 删除组

 

在命令框键入man useradd 就可以查看useradd手册
键入q退出界面

 

4.用户的管理
改变用户的信息

usermod -l linux wes     将用户名为wes的用户修改成linux

Linux基础命令的学习及用户的管理

以下四个命令和上面操作相似,这里就不再赘述。
usermod -u 666 username(westos) uid
usermod -g 21 westos 修改初始组id
usermod -G 25 westos 修改附加组,清除原来的
usermod -aG 25 westos 再加一个附加组


    usermod -c  “t” westse     更改用户说明

Linux基础命令的学习及用户的管理

以下三个命令和上面操作相似,这里就不再赘述。
    -d            更改加用户目录指向
    -md        更改加用户目录指向,并重命名家目录
    -s           更改用户的shell

5.用户切换
su - westos   切换用户到westos,高级用户切换到低级用户,不需要密码;低级用户切换到高级用户或切换到平级用户需要后者密码。

注意:(很重要)
1.用户切换后及时退出再进入下一个用户(exit)
2.su - 表示切换用户身份及用户环境   一定要加“-”

Linux基础命令的学习及用户的管理

pwd显示当前用户目录,我们可以看见,当前用户是root,进行su - westos后进入westos用户,然后再exit就退出westos用户

6.用户的认证信息
vim /etc/shadow            记录用户密码,只有超级用户可以访问

Linux基础命令的学习及用户的管理
(1)用户名称:
(2)用户密码:
        md5 sha512加密对称加密(加密和解密使用同一种字符)    在vim /etc/login.defs里边查询    
      
        passwd  username普通用户修改密码

Linux基础命令的学习及用户的管理

更改了用户westos的密码


        usermod -L username 冻结密码
        usermod -U  username解锁

 

Linux基础命令的学习及用户的管理

        passwd -l username 冻结密码
        passwd -u username 解锁
        passwd -d username 清空密码

以上操作就是先冻结root用户的密码之后解锁

(3)密码最后一次被修改的时间:
            当此位数字为0时,用户在登陆系统时,会被强制改密码
    chage -d 0 westos

Linux基础命令的学习及用户的管理

可以看到将17752改为0了
    passwd -e westos

 

(4)密码最短有效期:

chage -m 1 westos

Linux基础命令的学习及用户的管理

我们可以看到密码最短有效期从0变成1了。
passwd -n 3 westos
(5)密码的最长有效期:
chage -M 30 westos

Linux基础命令的学习及用户的管理
passwd -x 40 westos

(6)密码过期警告:
chage -W 2 westos 警告

Linux基础命令的学习及用户的管理
chage -w 3 westoe

(7)密码非活跃期:

chage -I 2 westos
passwd -i 0 westos

Linux基础命令的学习及用户的管理

我们可以看到相应位都有变化
(8)帐号到期日:
chage -E “2018-11-11” westos
(9)未设定用户自定义

7.用户权力的下放
普通用户默认不能新建用户
vim /etc/sudoers


(1).配置文件
etc/sudoers
2.配置命令
visudo
用户名称    主集名称=(执行程序身份)命令    当执行命令时需要用户验证
(linux11)  dns-server.example.com=(root) /user/sbin/useradd


用户名称    主集名称=(执行程序身份)nopasswd:命令1, 命令2  ##  当执行命令时不需要用户验证
(linux11)  dns-server.example.com=(root) /user/sbin/useradd, /user/sbin/userdel

Linux基础命令的学习及用户的管理

键入vim /etc/sudoers进入上面页面,再键入:100,找到第100行,进行编辑。

测试:
su - linux11
sudo useradd hello

记得及时退出(exit)

Linux基础命令的学习及用户的管理