Linux用户、组管理

Linux是一个可以实现多用户登录的操作系统,允许多个用户同时登陆到系统上使用资源。系统根据账户来区分每个用户的文件、进程、任务、给每个用户提供特定的工作环境。

一、用户组的基本概念
系统在解析用户的时候,并不能直接的去解析用户名 ,但是它你让那个够识别解析ID号,UID,GID

1、UID

管理员:0
普通用户:1-65535
系统用户:1-499(centos6) ,1-999(centos7)
登录用户:500-60000(centos6),1000-60000(centos7)
名称解析:username<------>UID
根据名称解析库: /etc/passwd

2、GID

管理员组:0
普通用户组:1-65535
系统用户组:1-499(centos6),1-999(centos7)
登录用户组:500-60000)(centos6),1000-60000(centos7)
名称解析:groupname<------>gid
名称解析库:/etc/group
组类别:用户基本组、用户附加组

3、密码策略

1、使用随机密码
2、最短长度不少于8位
3、应该使用大小写字母、数字、标点符号中至少三类
4、定期更换

4、加密算法

对称加密:加密和解密使用的是同一个密文
非对称加密,密钥对,
算法:MD5,sha128,sha256

二、用户和组的管理

安全上下文:进程以其发起者的身份运行;进程对文件的访问权限,取决于发起此进程的用户的权限

groupadd:添加组

用法:groupadd [选项] group
选项

-g GID 指定GID,默认创建时无法创建系统用户组
-r 创建系统组

groupmod:修改组

选项

-g GID 修改GID
-n newgroupname 修改组名

groupdel:删除组

goupdel  groupname

useradd:添加用户
选项

-u UID 指定UID
-g GID 指定基本组ID,此组得事先存在
-G 指明附加组
-c 添加注释信息
-d 指定家目录,复制/etc/skel并重命名实现
-s 指定默认shell
-r 创建系统用户
-D 显示创建用户的默认配置

举例

#  useradd -u 5000 -g 500 -G jerry -c "hello world" -s /bin/sh  tom

usermod:修改用户属性

选项

-u UID 指定UID
-g GID 指定基本组ID,此组得事先存在
-G 指明附加组
-a 追加新的附加组
-c 添加注释信息
-d 指定家目录,复制/etc/skel并重命名实现
-m 与-d一起使用,把原来的家目录移动为新的家目录
-l 修改用户名
-s 指定默认shell
-L 锁定用户
-U 解锁用户

举例

修改gentoo用户的家目录为/var/tmp/gentoo;要求其原有文件仍能被用户访问

# usermod -m -d /var/tmp/gentoo gentoo

userdel:删除用户

-r 和家目录一并删除

passwd:创建或者修改用户密码

  • passwd:修改自己的密码
  • passwd username:修改指定用户密码,只有root有权限

选项

-l 锁定用户
-u 解锁用户
-d 清除密码串,
-e date 过期期限
-n days 最短使用期限
-x days 最长使用期限
-w days 告警时间
- -stdin 非交互式创建密码

例如

echo "password" | passwd --stdin username

gpasswd:创建或修改组密码

gpasswd groupname

选项

-a username 向组中添加用户
-d username 从组中删除用户

id:显示用户的ID号

-u 显示UID
-g 显示GID
-G 显示所属组ID
-n 需要和-u -g -G 配合使用显示名字而非ID

chage:更改用户密码过期信息

用法

chage  options  登录名

选项

-d date 指定密码最后修改时间
-E date 密码到期日期,过了时间后帐号不可用
-w days 告警时间
-m days 密码可以更改的最小天数
-M days 密码有效的最大天数

解析库文件

        /etc/passwd   7个字段
		root:x:0:0:root:/root:/bin/bash片

以 :为分隔符

1、用户名,长度不要超过8个字符,数字字母组成
2、口令:passwd ,shawod ,使用x占位符
3、用户的标识符UID
4、用户组的标识符GID
5、注释信息
6、用户的家目录
7、登录shell

密码信息

/etc/shadow
root:$6$rxtW5qBw$yNHpzQxqF61aBP.4EgWwdZG32DiaRg537VnUFV0x947zXHs3VLgEiToxwCQB1YsdqgTBlaQuP.gYirQQABoYB.:18312:0:99999:7:::

1、登录名
2、用户的加密口令,*,被锁定,!!代表过期,666加密算法,rxtW5qBwrxtW5qBwrxtW5qBw加密因子
3、口令最后一次修改时间
4、两次修改口令最小的时间间隔
5、口令有效的最大天数
6、告警时间

组信息

/etc/group
root:x:0:

1、组名
2、口令
3、GID
4、以他为附加组的组内用户

练习
1、创建用户gentoo,UID为4001,基本组为gentoo,附加组为distro(GID为5000)和peguin(GID为5001);

        #   groupadd -g 5000 distro
		#	groupadd -g 5001 peguin
		#	useradd -u 4001 -G distro,peguin gentoo

2、创建用户fedora,其注释信息为"Fedora Core",默认shell为/bin/tcsh;

# useradd -c "Fedora Core" -s /bin/tcsh fedora

3、修改gentoo用户的家目录为/var/tmp/gentoo;要求其原有文件仍能被用户访问;

# usermod -m -d /var/tmp/gentoo gentoo

4、为gentoo新增附加组netadmin;

#	groupadd  netadmin
#	usermod -aG netadmin gentoo
上一篇:CDH 6.2.1 集成 freeipa


下一篇:如何为多个用户和多个网站设置安全权限?