ll(ls -l)命令下界面解析,用户和用户组,passwd相关

一、每个部分含义

ll(ls -l)命令下界面解析,用户和用户组,passwd相关

类型、权限                      硬链接数      用户               组                              大小      月                日             时间                文件名

1.第一个字符就是类型:

(1)d                 目录

(2)-                  普通文件

b      block (buffered) special                     块设备(硬盘光驱)

c      character (unbuffered) special           字符设备

d      directory                                             查找目录

l      symbolic link                                        软连接:快捷方式

s      socket                                                 和应用程序之间通信有关

2.用户

User分类                                  身份证(唯一标识)      

超级用户:root                         UID:0

普通用户:(例)oldboy           UID:随机(1000-60000)

(虚拟用户)傀儡用户             UID:1-499       对应文件和进程,不能登陆

(1)普通用户切可以换到root:

su - root                                      #角色改变,由普通用户变成了root(农民起义,当皇帝。)

(2)oldboy不切换到root,可以使用root的权限去做事,按命令给权限,赋予普通用户一部分权限

sudo    useradd    oldboy

(3)与用户相关命令

useradd             添加用户

usermod            修改用户

userdel              删除用户

1)useradd 添加用户

-u      指定UID

-g      指定属于的组

-M     不创建家目录

-s      指定登录的解释器

-u      指定uid添加用户

[root@oldboy ~]# useradd    -u    1111    test

[root@oldboy ~]# id    test                                      #用户信息

uid=1111(test) gid=1111(test) 组=1111(test)

[root@oldboy ~]# tail -1 /etc/passwd                     #查看用户文件

test:x:1111:1111::/home/test:/bin/bash

-g  指定用户属于哪个组

[root@oldboy ~]# groupadd        tech

[root@oldboy ~]# tail    -1    /etc/group

tech:x:1002:

[root@oldboy ~]# useradd    littleboy    -g    tech            #添加一个littleboy 属于tech组

[root@oldboy ~]# id    littleboy

uid=1002(littleboy) gid=1002(tech) 组=1002(tech)

#      

[root@oldboy ~]# ls -l /home

总用量 0

drwx------. 2 littleboy tech    62 8月  30 01:14 littleboy

drwx------. 2 oldboy    oldboy  99 8月  30 00:59 oldboy

drwx------. 2 oldgirl   oldgirl 62 8月  30 01:11 oldgirl

drwx------. 2 test      test    62 8月  30 01:19 test

-M 不生成家目录

[root@oldboy ~]# useradd    test1    -M

[root@oldboy ~]# ls    /home/

littleboy     oldboy     oldgirl     test                       #无text1家目录

-s 指定解释器

[root@oldboy ~]# useradd    test2    -s    /sbin/nologin    -M          #用于给应用软件运行提供用户,只给个用户,不让其登陆,并且不给他家目录

[root@oldboy ~]# tail    -1    /etc/passwd

test2:x:1113:1113::/home/test2:/sbin/nologin               #不能登陆

[root@oldboy ~]# su    -    test2

su: 警告:无法更改到 /home/test2 目录: 没有那个文件或目录

This account is currently not available.

查看解释器:

[root@oldboy ~]# cat    /etc/shells

/usr/bin/sh

/usr/bin/bash

   

2)usermod         修改用户

-u      指定UID

-g      指定属于的组

-M     不创建家目录

-s      指定登录的解释器

例1:test2解释器改成bash

[root@oldboy ~]# grep    -w    test2    /etc/passwd         #-w   相当于按单词过滤

test2:x:1113:1113::/home/test2:/sbin/nologin

       

[root@oldboy ~]# usermod   -s    /bin/bash    test2

[root@oldboy ~]# grep    -w    test2    /etc/passwd

test2:x:1113:1113::/home/test2:/bin/bash

     

例2:更改littleboy用户,属于oldboy组

[root@oldboy ~]# grep    littleboy    /etc/passwd

littleboy:x:1002:1002::/home/littleboy:/bin/bash

[root@oldboy ~]# id    littleboy

uid=1002(littleboy) gid=1002(tech) 组=1002(tech)

[root@oldboy ~]# usermod    -g    oldboy    littleboy      #让littleboy属于oldboy组

例3:修改uid为6666

[root@oldboy ~]# id    littleboy

uid=1002(littleboy)   gid=1000(oldboy)   组=1000(oldboy)

[root@oldboy ~]# usermod    -u    6666    littleboy

[root@oldboy ~]# id    littleboy

uid=6666(littleboy)   gid=1000(oldboy)   组=1000(oldboy)

3)userdel 删除用户

-r 连带家目录一起删除

[root@oldboy ~]# userdel    -r    test        #一般不用该项

[root@oldboy ~]# ls   /home

littleboy     oldboy     oldgirl                     #text家目录已删除

[root@oldboy ~]# userdel    oldgirl         #删oldgirl用户

[root@oldboy ~]# ls    /home

littleboy     oldboy     oldgirl                    #未删除家目录

3.组

唯一标识:GID(Group Identify)

组名:oldboy

用户的用户组 类似于【人】的家庭,学校等组织

1个用户可以在多个组里。

1个组可以有多个用户。

用户组怎么产生的?

1)创建用户的时候默认产生的,创建一个oldboy,默认情况就会生成oldboy组,

用户和组同名,且UID和GID相同

[root@oldboy ~]# useradd oldgirl              #添加用户

[root@oldboy ~]# tail -1 /etc/passwd         #存放用户的文件

oldgirl:x:1001:1001::/home/oldgirl:/bin/bash

[root@oldboy ~]# tail -1 /etc/group              #存放用户组的文件

oldgirl:x:1001:                                              #创建oldgirl用户的时候,同时创建oldgirl用户组

2)由root用户直接创建用户组

[root@oldboy ~]# groupadd tech

[root@oldboy ~]# tail -1 /etc/group

tech:x:1002:

[root@oldboy ~]# useradd littleboy -g tech               #添加一个littleboy 属于tech组

[root@oldboy ~]# id littleboy

uid=1002(littleboy) gid=1002(tech) 组=1002(tech)

 4.用户和组相关的配置文件

直接相关的有4个

/etc/passwd           #用户主配置文件,用户的各种属性(UID,GID,家目录,登录SHELL)

/etc/shadow          #用户密码文件,存放密码及密码的属性(失效时间,修改密码时间等)

/etc/group             #组文件,存放用户组及属性

/etc/gshadow        #用户组的密码文件(废弃)

详细说明:

用户文件:

/etc/passwd

[root@oldboy ~]# tail -1 /etc/passwd

littleboy:      x:                                                       1002:1002:                      :/home/littleboy     :/bin/bash

用户     密码(此处隐藏,在shadow文件里)       UID  GID        说明            家目录                 登录解释

5.用户组相关命令

1)创建用户组:groupadd

[root@oldboy ~]# groupadd    tech

[root@oldboy ~]# tail    -1    /etc/group

tech:x:1002:

[root@oldboy ~]# useradd    littleboy    -g    tech            #添加一个littleboy 属于tech组

[root@oldboy ~]# id    littleboy

uid=1002(littleboy) gid=1002(tech) 组=1002(tech)

2)删除用户组:groupdel

[root@oldboy ~]# groupadd    abc

[root@oldboy ~]# tail    -1    /etc/group

abc:x:1114:

[root@oldboy ~]# groupdel    abc

6.密码相关:passwd

(一)修改指定用户密码:

root用户:可以改任何用户密码

[root@oldboy ~]# passwd    oldboy

普通用户:只能改自己的密码

[oldboy@oldboy ~]$ passwd                    ##更改用户oldboy的密码

(二)非交互式修改密码:- - stdin

echo 123456|passwd --stdin root             #将root密码改为123456

[root@oldboy ~]# echo    123456|passwd    --stdin    root

更改用户 root 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@oldboy ~]# history

231  echo 123456|passwd --stdin root              #历史记录可以查到要改的密码,留痕迹

232  history

[root@oldboy ~]# history    -d    231                #按编号把带密码的命令删除

[root@oldboy ~]# history                                  #已经删除了痕迹

批量设置密码而且不留痕迹

[root@oldboy ~]# cat    /tmp/a.txt

oldboy:123456

test1:890

以下命令相同

[root@oldboy ~]# chpasswd    </tmp/a.txt

[root@oldboy ~]# cat    /tmp/a.txt|chpasswd

上一篇:Linux账号管理(入门)


下一篇:awk编辑器