Linux-02:针对用户的管理常用操作指令

1、查看文件的信息(类似于Windows的查看文件属性)
    ls        filename           #显示文件信息
    ls    -l   filename        #长列表显示文件信息
    ls   -a   filename        #显示所有文件包括以‘.’开头的
    ls  -s    filename        #显示文件大小
    ls   -S    filename      #文件大小排序
    ls   -d    filename      #显示目录本身
  在这里可以看到:

ls -l   filename     显示出的是file的文件信息 :

-rw-r--r--.1 root root 7Aug 9 10:22 file      该信息各段的含义是:

字符“-”表示该文件是一个普通文件

“r”表示读(read)

“w”表示写(write)

“1”代表权限

第一个root表示用户名

第二个root表示对文件的读写权限

该段一整段代表的含义是:文件的拥有者root对文件有读写权限,默认其他用户对文件只有读的权限,但没有写的权限。

ls -s  filename      显示文件大小

其中"total 4" 表示该文件所占的空间总和是4kb.

ls   -S    filename      按从大到小的顺序排列

Linux-02:针对用户的管理常用操作指令

  ls    -R    filename      #递归显示        以递归的显示方式显示出来,增强层次感

 

Linux-02:针对用户的管理常用操作指令

 

2、通配符
    *    匹配0~任意字符
    ?    匹配单个字符
    [[: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

注意:这里只使用了  ls  文件显示命令,但是实际上文件的建立删除等都可以使用该指令,在实际使用过程中按照需求来选择使用。第二点需要说明的是通配符可以使用在任意位置,可以在文件名称的前面、中间或者后面都可以,不局限于下图。这里不一一列出演示。

Linux-02:针对用户的管理常用操作指令

Linux-02:针对用户的管理常用操作指令

3、用户的管理
    1)系统中为什么要有用户(限制权利)?
        最底层的安全设定:特定的人有特定的权力。
    用户存在形态:系统存储的文件。
    2)为什么要有组(共享权利)?
        附加组(享有这个组的权利):可以决定的
        初始组:无法决定和改变
 

4、用户的查看
whoami        查看当前用户的名称
id  username        查看username的信息
id     -u    username    查看用户id信息

 -g    username    查看用户的uid
 -G    username    查看用户的gid
 -n    username    查看username对应的名字

/etc/passwd        用户信息文件
用户名称:密码:用户id:组id:用户说明:用户家目录:用户默认使用的时shell
/etc/group
组名称:组密码:组id:组附加成员
/home/username        用户家目录

注意:上面的terminal为监控信息:指令为watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo====; ls -l /home/'

其中数字“1”表示文件数据每一秒刷新一次

数字“3”表示文件显示3行。使用该指令时请根据需要来设定这两个数字

在此处为了看的清楚,故先输入了whoami,以显示当前用户名,实际上在命令行的前面已经显示了当前的用户名,可参见上一篇博客内容查看,

Linux-02:针对用户的管理常用操作指令

5、用户的建立和删除
    1)用户的删除
    userdel username    删除用户身份
    userdel -r username    删除用户身份及用户的系统配置文件
    2)用户的创建
    useradd username    建立用户
    /etc/login.defs        在此文件中可以指定用户的默认信息
    useradd -u id username    设定用户的uid
    useradd username    使用默认规则建立用户
    useradd -g username    指定用户的初始组id
    useradd -G username    指定用户的附加组
    useradd -c username    指定用户的说明文字
    userad -d username    userus
    useradd -s username    指定用户的shell
    groupadd groupname    建立组

注意:在看此处命令时应与上面的信息进行对比,能够更容易的看到指令的作用和文件的变化。

Linux-02:针对用户的管理常用操作指令

用户的删除:(请与上图进行对比,执行了两条删除指令,删除掉了两个用户。监控命令和上面的一样,不再重复写出)

Linux-02:针对用户的管理常用操作指令

6、用户管理(改变用户信息)
    usermod -l 改后名  改前名        修改用户名称
    usermod -u    名称            uid
    usermod -aG    名称        添加附加组    
    usermod -g  名称        修改初始组id
    usermod -G 名称        修改附加组id(清除原来的,加入新的)
    usermod -d /home/westos westos   更改家目录指向
    usermod -md /home/westos lee    更改家目录指向并重命名
    usermod -s /bin/tcsh westos    更改用户的shelluser
    usermod -c               修改用户的说明文字

注意:此处命令只能由超级用户来执行,在执行此处命令时要根据显示出来的监控信息来输入ID等,否则会报错。

在这里需要说明一下组的概念:

            组的基本定义是:同一类别,具有某些共同的属性。

            组的作用:共享组成员的数据参数,初始组与附加组均可以共享数据参数。

            初始组和附加组的区别:初始组是不能选择的,只能被动接受。而附加组是可以选择的。

接下来用test2来解释一下各字段的含义:

test2:x:1002:1003::/home/test2:/bin/bash

用户名称:x(组ID参数表示方式):组ID:uid::家目录:shelluser

Linux-02:针对用户的管理常用操作指令

7、用户切换
    su - username    切换用户,高级用户切换到低级用户不需要密码
            低级用户切换到高级或平级需要密码
    注意(很重要):
    1)用户在切换后退出再进入到下一个用户
    2)su -  表示切换用户身份及用户环境
       su        表示切换了身份,但不切换用户环境(不用)

注意:切换用户必须先保证有要切换的用户,否则系统会提示该用户不存在,切换自然是失败的。

Linux-02:针对用户的管理常用操作指令

8、用户的认证信息
    /etc/shadow    用户的认证信息
用户名称:
用户密码:
    passwd username     只有超级用户执行
    passwd        普通用户修改自己密码
    passwd -l    冻结帐号
    passwd -u    解锁
    passwd -d    晴空密码
密码最后一次被修改的时间:
    数字为0时用户在登陆系统时会被强制修改密码
    chage -d 0 test2
    passwd -e wests(两个效果一致)
密码最短有效期:
    chage -m 1 test2
    passwd -n 3 test2
密码最长有效期:
    chage -M 30 test2
    passwd -x 40 test2
密码过期警告:
    chage -W 2 test2
    passwd -w 3 test2
密码非活跃期:
    chage -I 2 test2
    passwd -i  0 test2
帐号到期日:
    chage -E "2018-08-08" test2
未设定用户自定义

首先使用监控指令来打开用户的认证信息,指令为将上面的监控指令的家目录改为/etc/shadow即可,其余指令不变。

在这里可以看到,超级用户可以修改普通用户的密码,但是普通用户不可以修改超级用户的密码,在这里就体现出了权限的重要性。

Linux-02:针对用户的管理常用操作指令

超级用户可冻结普通用户的账户的部分功能,比如禁止其自行修改密码。普通用户在账户修改密码权限被冻结后,则无法修改自己的密码。大一级,压死你,哈哈。。。

Linux-02:针对用户的管理常用操作指令

超级用户既然可以冻结你的账户,自然也可以给你解冻啦,普通用户账户被解冻后,当然是之前的权限都有了。可以自行修改密码了。当然在密码设置时不能太简单,否则就跟我一样了,一直给提示。

Linux-02:针对用户的管理常用操作指令

清空密码呢同样是只有超级用户可以执行,这一点需要注意。普通用户呢,就躺好就行了,被安排的妥妥帖帖的。

Linux-02:针对用户的管理常用操作指令

 

用下图test2用户来说明一下各字段所代表的含义(注意test2是经过修改设定了的,test用户是没有经过修改的):

test2::10:0:99999:7:::

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

接下来解释一下各字段的含义:

用户名称不需要过多的解释;用户密码是不显示的;

密码最后一次修改时间:顾名思义就是用户最后一次修改的时间,这个可能是密码普通用户本身修改的时间,当然不用想,超级用户也是修改你的密码的,也会在这个监控控制台上显示出来。

密码最短有效期:这个数字代表的是天数,需要注意的是如果是0的话,用户在登陆的时候会首先要求修改密码。

密码最长有效期:就是我们可以看到的99999,这个时间也是天数,大概是200多年,所以可能都JJ了账户密码还在。

密码过期警告:这个举个例子来讲呢,就是说你的密码有效期是30天,也就是说30天后就不能使用了,就像爱奇艺的会员一样。但是呢,会在到期的前多少天给你提示,如test2用户设定的是7天,也就是说在还省7天过期的时候系统会给你提示你的密码即将过期。

密码非活跃期:这个呢同样用一个例子来说明,比如信用卡的还款日期。本来约定好是每个月的10号还信用卡,但是10号没有还,那么在11号或者12号还的话也是不算逾期的,当然具体的天数是根据设定来判断的,在下图呢设定的是0.也就是说超过10号就算违约了。

账户到期日:这个不需要过多的解释,即表示账户什么时候就不能用了。

未设定用户自定义:即表示用户可根据自己的需要来设定用户所个性化的东西。

 

密码最后一次被修改的时间:

指令是chage -d  username

与它具有相同作用的是:passwd -e username

Linux-02:针对用户的管理常用操作指令

Linux-02:针对用户的管理常用操作指令

密码最短有效期:(注意同上图进行比较)

指令:chage -m 1 username
    

Linux-02:针对用户的管理常用操作指令

passwd -n 3 username

Linux-02:针对用户的管理常用操作指令

密码最长有效期:
    chage -M 30 username

 passwd -x 40 username

Linux-02:针对用户的管理常用操作指令
  

密码过期警告:
    chage -W 2 username

Linux-02:针对用户的管理常用操作指令
    passwd -w 3 username

Linux-02:针对用户的管理常用操作指令

密码非活跃期:
    chage -I 2 username

Linux-02:针对用户的管理常用操作指令
    passwd -i  0 username

Linux-02:针对用户的管理常用操作指令

帐号到期日:
    chage -E "2018-08-08" username

Linux-02:针对用户的管理常用操作指令

9、用户权力下放
    1)配置文件
    /etc/stdoers
    2)配置命令
    visudo        此命令提示语法检错
    用户名称  主机名称=(执行程序身份)命令    当执行命令时需要用户认证
    linuxx   dns-s    (root) user/spin/useradd
    
    用户名称 主机名称=(执行程序身份)user/spin/useradd
    
测试:
    su - username
    sudo useradd username

用户权利下方在实际应用中非常的广泛,指的是超级用户给普通用户下放部分的权限,使普通用户可以拥有超级用户才能操作的部分权限,在这里给普通用户创建和删除用户的权限

 

1)首先进入监控显示台

visuo是进入配置

Linux-02:针对用户的管理常用操作指令

 

2)进入配置文件之后在任意行输入图中选中内容,注意,要根据自己的情况来输入:

输入格式是:

用户名称 主机名称=(执行程序身份)user/spin/useradd

这里有两张图,区别在于第一张是有密码的,第二张是没密码的,NOPASSWD代表权限。可以在第二张图中看到,NOPASSWD的范围是 ALL

Linux-02:针对用户的管理常用操作指令

Linux-02:针对用户的管理常用操作指令

3)切换回普通用户来看

Linux-02:针对用户的管理常用操作指令

4)使用普通用户进行添加和删除操作,此时test2普通用户已经拥有了这两项权限

Linux-02:针对用户的管理常用操作指令

5对比查看结果。可以看到test8被与上图比较已经被删掉了

Linux-02:针对用户的管理常用操作指令

注意:本实验只给了普通用户创建用户和删除用户的两个权限来做演示,实际上,可根据需求来给它更多的权限,方法步骤同上。