Linux的用户、组、权限命令

目录

简介

useradd创建用户

usermod修改用户属性

passwd设置密码

交互式

非交互式

userdel命令  删除用户

groupadd组账号管理

gpasswd命令(添加附加组)

简介

用户作用: 1.可以登陆操作系统 2.不同的用户具备不同的权限

        唯一标识:UID(编号从0开始的编号,默认最大60000)

        zhangsan(UID 1200)

        管理员root的UID:永远为0

        普通用户的UID:默认从1000开始

组的作用: 方便管理用户

        唯一标识:GID(编号从0开始的编号,默认最大60000)

        原则:Linux一个用户必须至少属于一个组

组账户的分类:

基本组:一般情况与用户同名,一个用户必须有基本组,基本组只能有一个

附加组(从属组):一个用户可以有多个附加组,也可以没有附加组

/etc/passwd:存放用户基本信息配置文件

[root@localhost ~]# head -1  /etc/passwd   #显示文件第一行

root:x:0:0:root:/root:/bin/bash     

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

[root@localhost ~]# useradd  wangwu  

[root@localhost ~]# grep  wangwu  /etc/passwd

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

[root@localhost ~]# id  wangwu

useradd创建用户

-u:指定 用户UID

-d:指定宿主目录(家目录),默认为 /home/用户名

-G:指定所属的附加组   -g指定基本组

-s:指定用户的登录解释器,默认为/bin/bash

-u:创建用户时,指定用户UID编号

[root@localhost ~]# useradd   ns1  
[root@localhost ~]# ls   /home/    #查看家目录的产生
[root@localhost ~]# grep  ns1   /etc/passwd   #查看ns1信息
[root@localhost ~]# id  ns1  #查看ns1用户基本信息
[root@localhost ~]# id  gaga         

id: gaga: no such user    #无此用户   

[root@localhost ~]# useradd  -u  1200  ns2  #指定UID创建用户
[root@localhost ~]# id   nsd02    #查看ns2用户基本信息
[root@localhost ~]# grep   nsd   /etc/passwd   #查看用户信息
[root@localhost ~]# useradd   ns3
[root@localhost ~]# grep   nsd    /etc/passwd
[root@localhost ~]# id   ns3

-d:指定宿主目录(家目录),默认为 /home/用户名(不可以事先新建用户的家目录)

[root@localhost ~]# useradd  -d  /opt/ns4   ns4
[root@localhost ~]# grep   ns4   /etc/passwd
[root@localhost ~]# ls  /opt/
[root@localhost ~]# useradd   -d  /opt/haha05   ns5
[root@localhost ~]# grep  ns5   /etc/passwd
[root@localhost ~]# ls   /opt/

-G:指定所属的附加组   -g:指定基本组 (了解一下)

[root@localhost ~]# groupadd   stugrp    #单独创建stugrp组
[root@localhost ~]# useradd  -G   stugrp   ns6
[root@localhost ~]# id  ns6
[root@localhost ~]# useradd  -G   stugrp   ns7
[root@localhost ~]# id   ns7
[root@localhost ~]# groupadd   tm   #单独创建tm组
[root@localhost ~]# useradd  -G   stugrp,tm  ns11
[root@localhost ~]# id  ns11    

-s:指定用户的登录解释器 /bin/bash

shell:壳,解释器

用户---->解释器---->内核---->硬件

/sbin/nologin:禁止用户登录操作系统

]# useradd  -s  /sbin/nologin   ns10
]# grep   ns10    /etc/passwd
]# useradd  -s  /sbin/nologin   ns12
]# grep   ns12   /etc/passwd

usermod修改用户属性

-l:更改用户帐号的登录名称

-u:用户id

-s:登录解释器

]# useradd   ns13                
]# id   ns13
]# grep  ns13  /etc/passwd
]# usermod  -l  stu13   ns13      #修改用户名字
]# id  stu13
]# usermod  -u  1600   stu13     #修改用户的UID
]# id  stu13
]# usermod  -s   /sbin/nologin  stu13   #修改用户的解释器程序
]# grep  stu13  /etc/passwd

-d:家目录路径(默认不会自动创建新的家目录)

]# useradd   ns15     
]# grep  ns15   /etc/passwd
]# ls   /home/
]# usermod   -d  /etc/abc   ns15
]# grep   ns15   /etc/passwd
]# ls  /etc/abc
ls: 无法访问/etc/abc: 没有那个文件或目录

]# useradd   ns16     
]# grep  ns16   /etc/passwd
]# ls   /home/
]# usermod   -md  /mnt/abc16   ns16  #将用户原有的家目录进行移动,并且设置相应的权限
]# grep   ns16   /etc/passwd
]# ls  /mnt

-G:修改用户的附加组     #重置附加组 

[root@localhost ~]# useradd   ns17
[root@localhost ~]# id   ns17
[root@localhost ~]# usermod  -G  stugrp   ns17
[root@localhost ~]# id   ns17

[root@localhost ~]# groupadd  tm   #创建组
[root@localhost ~]# groupadd  wudang  #创建组
[root@localhost ~]# usermod  -G  tm  ns17
[root@localhost ~]# id   ns17
[root@localhost ~]# usermod  -G  wudang,stugrp  ns17
[root@localhost ~]# id   ns17

passwd设置密码

交互式

[root@localhost ~]# useradd   ns18
[root@localhost ~]# passwd   ns18      #交互式设置

更改用户 ns18的密码 。

新的 密码:                             #输入新密码

无效的密码: 密码少于 8 个字符

重新输入新的 密码:                #重新输入新密码

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

[root@localhost ~]# su  -  ns18    #临时切换用户身份

[ns18@localhost ~]$ passwd

更改用户 ns18 的密码 。

Current password:             #输入旧密码

新的 密码:                #输入新的密码

重新输入新的 密码:         #重新输入新的密码

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

[ns18@localhost ~]$ exit

/etc/shadow,保存密码字串/有效期等信息

每个用户记录一行,以:分割为9个字段

[root@localhost ~]# grep  ns18  /etc/shadow

ns18:$6$NVe937Nd$B0n94XrpQ.LipQHTpYh0iV/M4jCLdccfHxzRLprdxDzwk8WDDh/TzdTfh8lA9y9WKJ.8Ls/l5.w/1W.nV6CFX/:18481:0:99999:7:::

上一次修改密码的时间:自1970-1-1到达上一次修改密码的时间,所经历的天数

字段1:用户帐号的名称

字段2:加密后的密码字符串

字段3:上次修改密码的时间

字段4:密码的最短有效天数,默认0

字段5:密码的最长有效天数,默认99999

字段6:密码过期前的警告天数,默认提前7天进行警告

字段7:密码过期后多少天禁用此用户账号

字段8:帐号失效时间,默认值为空

字段9:保留字段(未使用)

非交互式

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

更改用户 ns1 的密码 。

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

[root@localhost ~]# echo  redhat123  |  passwd  --stdin  ns1

更改用户 ns1 的密码 。

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

userdel 删除用户

格式:userdel  [-r]   用户名

添加 -r 选项,家目录/用户邮件也一并删除

[root@localhost ~]# userdel  -r  ns18  #连同家目录一并删除
[root@localhost ~]# ls  /home

[root@localhost ~]# userdel  ns20  #不删除家目录,只删除用户信息
[root@localhost ~]# ls  /home

[root@localhost ~]# userdel  -r  ns1  #连同家目录一并删除
[root@localhost ~]# ls  /home

groupadd组账号管理

[root@localhost ~]# groupadd    tarena    #新建一个组

[root@localhost ~]# grep  tarena  /etc/group   #查看组信息

tarena:x:1607:

组名字:密码占位符:GID:组成员列表

[root@localhost ~]# useradd  kaka
[root@localhost ~]# useradd  nb   
[root@localhost ~]# useradd  jack
[root@localhost ~]# useradd  kenji

gpasswd(添加附加组)

格式:gpasswd [选项]... 组名

•常用命令选项

-a:添加组成员,每次只能加一个

-d: 删除组成员,每次只能删一个

-M:定义(重置)组成员用户列表,可设置多个用户

]# gpasswd  -a   kaka   tarena    #添加用户kaka到tarena组
]# grep   tarena   /etc/group     #查看组信息
]# id   kaka

]# gpasswd   -a   nb   tarena    #添加用户nb到tarena组
]# grep    tarena   /etc/group     

]# gpasswd  -M  'jack,kenji'   tarena    #定义组成员列表
]# grep   tarena   /etc/group

]# gpasswd   -a    nb   tarena   #添加用户nb到tarena组
]# grep  tarena   /etc/group

]# gpasswd   -d   nb  tarena    #将nb用户从tarena组中删除
]# grep   tarena    /etc/group   

]# gpasswd   -M  ''      tarena    #删除组中所有成员
]# grep  tarena   /etc/group  

-A:定义组管理员列表(组管理员可以属于此组也可以不属于此组)

/etc/gshadow:组的管理信息配置文件

[root@localhost ~]# grep   tarena  /etc/gshadow

tarena:!:nb:     

组名:密码加密字符串:组的管理员列表:组成员列表

[root@localhost ~]# su  -  nb
[nb@localhost ~]$ gpasswd  -a  kaka  tarena
gpasswd:没有权限。
[nb@localhost ~]$ exit

[root@localhost ~]# gpasswd  -A  nb  tarena  #设置组管理员
[root@localhost ~]# su  -  nb
[nb@localhost ~]$ gpasswd  -a  kaka  tarena
正在将用户“kaka”加入到“tarena”组中
[nb@localhost ~]$ exit

[root@localhost /]# gpasswd   -A   'nb,kenji'  tarena  #设置多个组管理员
[root@localhost /]# grep  tarena  /etc/gshadow

[root@localhost /]# gpasswd   -A   ''   tarena   #删除所有的组管理员
[root@localhost /]# grep  tarena   /etc/gshadow

/etc/passwd:用户基本信息

/etc/shadow:用户密码信息

/etc/group:组基本信息

/etc/gshadow:组管理信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值