Linux用户管理类命令总结

用户和权限管理:

1、用户是什么?

用户是实现权限管理的基础,可以标示资源可以被哪些用户使用(读、写、执行),进行资源分配,是安全权限模型的核心要素之一。

2、没有用户,可否?可以



密码的作用:用户认证,在多用户的操作系统:

保存用户的方式---信息库:1用户、2密码

名称解析:User IDentifier, UID


用户容器:组(group),角色(role)

组名,Group IDentifier, GID

解析:在数据库按搜索码查找到对应的条目,并找与之对应额外其它数据过程

 

可以用于用户数据存放的方式:

数据库

文本文件

SQL数据库

ldap数据库


用户数据文件:/etc/passwd:

加密方法:

对称加密:DES, 3DES, AES

公钥加密:DSA, RSA

单向加密:雪崩效应,定长输出,不可逆

MD5: 信息摘要 Message Digest Algorithm,128bits

SHA1: 安全的hash算法, Secure Hash Algorithm 160bits

SHA256:

SHA512:

密码信息库:/etc/shadow

   Tom:mageeduabce, $6$abce$fkdlagjdkalghio3qu4389qjtrkiejgr

   Jerry:mageeduxyzm $6$xyzm$878956ukijotrjiytoeutyvimyeuiore

md5sum, sha1sum

组:用户容器,角色

/etc/group

/etc/gshadow

安全上下文:

运行中的进程有其属主和属组:


大纲:useradd, id, passwd, usermod, chsh, chage, chfn, userdel, groupadd, groupmod, groupdel, su


创建用户:

useradd UserName

/etc/passwd:

用户名:x:UID:基本组ID:comment信息:HOME:默认shell

useradd: adduser

  -u UID:指定UID

  -g GID: 指定GID,即指定用户的基本组,但GID要事先存在

  -G GID:指定用户的额外组,组要事先存在;

  -d /path/to/somewhre:

  -c "Comment":

  -s /path/to/shell: 指定默认shell,应该指定使用/etc/shells文件中出现的shell;

  -m: 创建用户时,强制给用户创建家目录;

  -M: 创建用户,但不创建家目录;

  -r: 创建系统用户

   id: 1-499

   不会为用户创建家目录

   默认shell为/sbin/nologin

  -D: default,为useradd命令创建的用户指定新的默认值

 groupadd GrpName

  -g GID: 创建组并为其指定GID


用户类别:

 管理员:0

 普通用户:1-65535

  系统用户:1-499

  登录用户:500+

用户组:

 管理员组

 普通组

 以用户为视角,组可为两类:

  基本组: 显示在/etc/passwd中GID字段组,为用户的基本组;

  额外组,附加组: /etc/group

 userdel: 删除用户, 默认会保留家目录

  格式:userdel UserName

  -r: 一并删除家目录


总结:

/etc/passwd:Username:x:UID:GID:Comment:Home:Shell

/etc/group:GroupName:x:GID:User List

/etc/skel, /etc/default/useradd

设定用户密码: passwd

 普通用户:passwd

 管理员:

  改自己密码:passwd

  改其它用户密码:passwd UserName

 密码安全性策略:足够复杂

  够长;

  交叉应用数字、大写字母、小写字母和特殊中的至少三种;

  尽量避免使用易猜测的密码;

  定期更换;


/etc/shadow文件的格式:

UserName:加密的密码:最近一次密码修改时间:最短使用期限:最长使用期限:警告区间:非活动区间:帐号的过期期限:预留段

 -l: 锁用户

 -u: 解锁

设定组密码:gpasswd GroupName

如何修改用户的属性定义:

修改用户默认shell: chsh 查看当前系统可用shell #cat /etc/shells

修改用户注释:chfn

 usermod:

  -u UID:

  -g GID:

  -G GID: 默认会覆盖原有的附加组;如果是添加,则同时使用-a选项;

  -c String:

  -d /path/to/New_Home: 默认不会迁移用户的家目录;如果要迁移,则同时使用-m

  -s SHELL:

  -l New_login_name:

  -L: 锁定用户帐号

  -U: 解锁

如何修改组属性定义:

 groupmod:

  -g GID

  -n New_Group_Name:

修改帐号日期属性:chage

 -E --expiredate EXPIRE DATE 过期

 -I --inactive 非活动

 -m --mindays

 -M --maxdays

 -W --warndays 警告日期

查看用户相关信息id:

id UserName

  -u: 显示UID,跟-n一起使用则显示用户名

  -g: 显示基本组ID,跟-n一起使用则显示基本组名

  -G: 显示所有组ID,跟-n一起使用则显示所有组名


组管理相关命令总结:

 groupadd

 groupmod

 groupdel

 gpasswd

 newgrp 前登录用户临时加入到已有的组中

su: Switch User

切换用户:

su Username

  -l --login make the shell a login shell

  -c --command 'COMMAND' pass a single command to the shell with -c

 # su -l user1 -c 'ls -l -a'


练习:

1、创建一个用户mandriva,其ID号为2002,基本组为distro(组ID为3003),附加组为linux;

# groupadd linux

# groupadd -g 3003 distro

# useradd -u 2002 -g distro -G linux mandriva


2、创建一个用户fedora,其全名为Fedora Community,默认shell为tcsh;

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


3、修改mandriva的ID号为4004,基本组为linux,附加组为distro和fedora;

# usermod -u 4004 -g linux -G distro,fedora mandriva


4、给fedora加密码,并设定其密码最短使用期限为2天,最长为50天;

# passwd fedora

# chage -m 2 -M 50 fedora


5、将mandriva的默认shell改为/bin/bash;

#chsh  -s /bin/bash mandriva


你可能感兴趣的:(用户管理类命令)