linux基础之用户与组管理

linux用户分类

root:类似于Windows系统中的Administrator用户,非执行管理任务时不建议使用root
用户登录系统
普通用户:一般只在用户自己的宿主目录中有完全权限
程序用户:用于维持系统或某个程序的正常运行,一般不允许登录到系统。例如:bin
、daemon、ftp、mail等
复制代码

用户账号文件

用户账号信息保存于/etc/passwd中,每一行对应一个用户的账号记录,每行有7个字段,以冒号作为分隔符 用户名:密码:uid:gid:用户全名:宿主目录:登录shell信息

# /etc/passwd的字段:
user@computer: $ head -n 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
复制代码
uid: 用户标识号, root的uid固定为0
gid: 组标识号,root的gid固定为0
程序用户的uid、gid: 1~999
普通用户/组使用的uid、gid:1000~60000
复制代码

一般/etc/passwd的第二个字段会以x占位符的形式出现,真正的密码存储于/etc/shadow

/etc/shadow每行对应一个密码记录,每行有九个字段,以冒号作为分隔符 
 字段1:用户帐号的名称
 字段2:加密的密码字串信息
 字段3:上次修改密码的时间(距离1970.1.1)
 字段4:密码的最短有效天数,默认值为0
 字段5:密码的最长有效天数,默认值为99999
 字段6:提前多少天警告用户口令将过期,默认值为7
 字段7:在密码过期之后多少天禁用此用户
 字段8:帐号失效时间,默认值为空
 字段9:保留字段(未使用)
复制代码

组账号文件

与用户帐号文件相类似

/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息
group文件内的最后一个字段中列出属于该组的用户成员(一般不包括基本组对应的用户帐号),多个成员之间以逗号分隔
复制代码

组帐号:

基本组(私有组,主要组)

当创建一个新的用户账户时,如果没有指定该用户属于哪一个组群,那么Linux就会创建一个和该用户同名的组群,这个组群就是私有组群,在这个私有组群中只包含这个用户 每个用户有且仅有一个基本组

附加组(公共组,补充组)

可以包含多个用户账户, 一个用户账户只能属于一个基本组, 可以属于多个附加组 属于本组补充组成员的用户列在/etc/group中

如果把一个用户加入到root组群,那么这个用户就可以浏览root用户主目录的文件;
如果root用户把把某个文件的读写执行权限放开,root组群的所有用户就可以修改次文件;
如果是可执行的文件,root组群的用户也可以执行。
复制代码

用户管理命令

# useradd 添加用户
useradd [options] username
常用选项:
-u  指定用户ID
-G 指定用户的附属组(补充组)
-s  指定用户登入后所使用的shell
-d 设置登录时使用的主目录
-M  不建立用户主目录
-g  主要组群名(该组群必须是现有存在的组群)
user@computer: ~$ useradd -u 4000 susa  # 创建一个名为susa的用户,用户id为4000
user@computer: ~$ useradd -s /bin/ksh user1  # 创建用户user1,并设置该用户的shell类型为/bin/ksh
user@computer: ~$ useradd -g root manager  # 创建用户manager, 并指定该用户是属于组群root的成员
user@computer: ~$ useradd –d /home/user0 user0  # 创建用户user0,并设置该用户主目录为/home/user0
user@computer: ~$ useradd –M –s /sbin/nologin user3  # 新增user3用户,不为用户建立并初始化宿主目录,用户不允许登陆到系统的shell
复制代码
# passwd 配置用户密码
passwd [options] username
-l 锁定用户密码
-u 解锁用户密码
-d 删除用户密码
user@computer: ~$ passwd susa  # 修改susa的密码
更改用户susa的密码:
新的密码:
重新输入新的密码:
passwd:所有的身份验证令牌已经更新
user@computer: ~$ passwd -l susa  # 锁定susa的密码,用户user锁住后不能登录到系统,但是可以使用su命令从其他用户切换
user@computer: ~$ passwd -u susa  # 解锁susa的密码
user@computer: ~$ passwd -d susa  # 删除susa的密码
复制代码
# usermod 编辑用户账号属性
usermod [选项] 用户名
常用选项:-u、-s
   -s 修改用户登入后所使用的shell
   -u 修改用户ID
复制代码
# userdel 删除用户帐号:
userdel [-r] 用户名
-r 同时删除用户及主目录
复制代码
# change 改变用户密码期限:
chage [选项] 用户帐号名
user@computer: ~$ chage –M 45 username  # 设置密码在45天后过期
通过date命令计算未来的日期
date –d "+45 days"  # 45天后过期
chage –E YYYY-MM-DD username  # 密码过期的时间
chage –d 0 username  # 强制用户在再次登录时更新密码
复制代码
# groupadd 添加组账号:
groupadd [-g] 组帐号名
复制代码
# groupmod 组成员管理:
groupmod [选项] 组帐号名
复制代码
# groupdel 删除组帐号:
groupdel 组帐号名
复制代码
# id 查询用户身份标识
id [username]
user@computer: ~$ id root  # 查询root的uid,gid和组成员
uid=0(root) gid=0(root) groups=0(root)
若不指定用户名,则显示当前用户的账号信息
复制代码
# groups 显示指定用户账户的组群成员身份
groups [用户名]
复制代码
# su 切换到其他账户进行登录
su [options] [user]
复制代码

转载于:https://juejin.im/post/5cfb5f3df265da1b94213bb2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值