Linux账号管理与ACL权限设定(一)

Linux的账号与群组

Linux系统中,关于账号和群组,实际记录的是UID和GID的数字;

关于账号有两个非常重要的文件:/etc/passwd/etc/shadow

/etc/passwd 文件结构:

账号名称:密码:UID:GID:用户信息说明栏:家目录:shell环境

每一行代表一个账号,有几行就有几个账号;

bin,daemon,adm,nobody等是系统账号;

UID范围设定:0=系统管理员,1~200=系统进程使用 ,201~999=系统用户用来运行服务,不需要登录系统 ,1000+ = 一般用户;

密码为x,真正的密码存放于/etc/shadow;

/etc/nologin可使账号无法登录;

/etc/shadow 文件结构:

账号名称:密码:密码最近变动日期:密码变动最小间隔天数:密码在此天数内需要变动:密码过期前提前警告的天数:密码过期后账号宽限时间:账号失效日期:保留

密码默认通过 sha-512 加密。

密码最近变动日期是从1970年1月1日开始算的秒数。

/etc/group 文件结构:

组名:群组密码:GID:此群组支持的账号名称

群组密码为x,真正密码存放于 /etc/gshadow;

关于群组:有效群组、初始群组 

初始群组

/etc/passwd 第四个字段GID即初始群组,当此用户登入系统,就立刻拥有此群组相关权限;

有效群组

groups 查看当前用户的有效与支持群组;

[root@wenzi ~]#useradd zhangsan
[root@wenzi ~]#useradd lisi -G zhangsan
#切换为用户lisi
[lisi@wenzi ~]$groups
lisi zhangsan

第一个群组 lisi 即为有效群组;zhangsan为支持的群组

newgrp 有效群组的切换,如需退出切换后的有效群组,exit

[lisi@web1 ~]$groups
lisi zhangsan
[lisi@web1 ~]$newgrp zhangsan
[lisi@web1 ~]$id
uid=1001(lisi) gid=1000(zhangsan) groups=1000(zhangsan),1001(lisi)
[lisi@web1 ~]$groups
zhangsan lisi
[lisi@web1 ~]$exit
exit

/etc/gshadow 文件结构:

组名:密码:群组管理员账号:加入该群组支持的所属账号

账号管理

useradd:新增账号

useradd [-u UID] [-g 初始群组] [-G 次要群组] [-mM] [-c 说明栏] [-d 家目录绝对路径] [-s shell] 新账号名

-p    : 创建用户时指定密码,此密码为加密后的密码

使用默认值建立一个普通用户 xiaoming

系统会按照默认值自动处理一些操作:

  • 在 /etc/passwd 里面建立一行与账号相关的数据,包括建立UID/GID/家目录;
  • 在 /etc/shadow 里面将此账号的密码相关参数填入,但尚未有密码;
  • 在 /etc/group 里面加入一个与账号名称一致的组名;
  • 在 /home 下建立一个与账号名称同名的目录作为用户家目录,且权限为700

useradd 默认属性见 /etc/default/useradd

# useradd defaults file
# 主要组ID,默认为100,通常对应于'users'组
GROUP=100
# 新用户的家目录基础路径,默认为'/home'
HOME=/home
# 账号在密码过期后多少天被禁用,默认为-1表示永不禁用
INACTIVE=-1
# 账号的过期日期,留空表示没有过期日期
EXPIRE=
# 新用户默认使用的登录shell,默认为'/bin/bash'
SHELL=/bin/bash
# 包含应该复制到每个新用户家目录中的模板文件和目录的目录
SKEL=/etc/skel
# 是否为新用户创建邮件队列,默认为'yes'表示创建
CREATE_MAIL_SPOOL=yes

centos中预设的群组为和账号同名的群组,并非100;

 UID/GID、密码参数等默认属性见 /etc/login.defs

综述,当useradd在建立账号时,至少会参考 /etc/default/useradd 、/etc/login.defs 、/etc/skel*; 

passwd:设定密码

修改普通用户密码:passwd 用户名  或  echo "密码" | passwd --stdin 用户名

修改自己密码:passwd

密码规则:

  1. 密码不能与账号相同
  2. 密码尽量不要选系统关键词
  3. 密码超过8个字符
  4. 密码不要使用个人信息,比如手机号、身份证号等
  5. 密码不要用简单关系式,比如1+1=2
  6. 密码尽量大小写、数字、特殊符号组合

chage:密码参数详细显示

建立一个名为agetest的账号,该账号第一次登录系统使用默认密码,但必须要更改密码后用新密码才能登录系统使用bash终端

usermod:修改账号信息

-U:将/etc/shadow中密码栏的叹号!取消,解冻 

userdel:删除用户数据

用户数据有:

账号/密码相关:/etc/passwd、/etc/shadow

用户群组相关:/etc/group、/etc/gshadow

用户个人文件数据:/home/账号名、/var/spool/mail/用户名

若想完全删除用户数据,可先用 find / -user 用户名 来查询系统内属于该用户的文件,再加以删除。

id:查询某用户的UID/GID

查询自己UID/GID相关信息:id

某用户UDI/GID相关信息:id 【用户名

groupadd:新增群组

groupmod:修改群组

groupmod 【-g 新GID】 【-n 新组名】 群组名

-g:修改已有的GID数字

-n:修改已有组名

groupdel:删除群组

groupdel 【群组名】

gpasswd:群组管理员

让一个群组有一个管理员,可以管理哪些账号加入、移除群组。

gpasswd 组名

没有任何参数时,表示给予该组一个密码(/etc/gshadow)

gpasswd 【-A 用户名1,…】 【-M 用户2,…】 组名

-A:将该组的控制权交给用户1,即用户1为该群组群管理员;用户1可以不是该组成员。

-M:将用户2加入该群组

gpasswd 【-rR】 组名

-r:将该群组密码移除

-R:将该群组密码栏失效

gpasswd 【-ad】 用户1 群名

-a:将用户1加入该群

-d:将用户1移除该群

groupmems:查看组成员

groupmems [选项] [动作]

-g 指定组名

-a 将用户加入组

-d 从中删除用户

-p 清空组成员

-l 显示组员

案例:

完成以下任务

 现有用户zhang、sun,将zhang加入到sun的用户组中,再将其移出。

usermod -a -G sun zhang
-a:表示追加用户到指定的组,而不是替换现有的组。
-G sun:指定要添加用户的组名。

gpasswd -d zhang sun
-d zhang:选项 -d 后面跟要删除的用户名。

ACL

ACL在传统 ower / group / other 的权限 r / w / x 之外提供为单一使用者,单一文件或目录来进行 r / w / x 的权限规范。

CentOS7默认创建的xfs和ext4文件系统具有ACL功能;CentOS7之前版本,默认手工创建的ext4文件系统无ACL功能,需要手动增加。

开启 /dev/sdb1 的acl功能

tune2fs -o acl /dev/sdb1

在挂载时开启 /dev/sdb1 的acl功能

mount -o acl /dev/sdb1 /mnt/test

getfacl:取得某个文件或目录的ACL设定项目 getfacl 目标文件名

setfacl:设定某个文件或目录的ACL规范  setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名

针对特定使用者:

设定规范:setfacl -m u:用户列表:权限 文件或目录

针对特定群组:

设定规范:setfacl -m g:群组列表:权限 文件或目录

针对有效权限:

使用者、群组设定的权限必须要在mask的权限设定范围内才会生效,超出的权限不生效

设定规范:setfacl -m m:权限 文件或目录

使用默认权限设定目录内的文件继承ACL权限:

设定规范:setfacl -m d:[ u / g ]:[用户/群组]:权限 文件或目录

设定一个有用户 / 群组没有任何权限的ACL语法中,权限字段不可留白,应用一个减号[-]。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值