标签:用户管理和权限管理
用户管理和权限管理
用户账号:用户、组
/etc/
passwd用户账号家目录属性
shadow用户密码和使用期限
group组账号家目录属性
gshadow组密码和使用期限
Linux用户
UID:0-65535(一般0-60000)
管理员:0
系统用户
centOS6:1-499
centOS7:1-999
登录用户
centOS6:500---60000
centOS7:1000---60000
/etc/shadow
加密就是将明文加密到密文
解密就是将密文还原到明文
破解:密文破解
加密方法有3种
对称加密算法:加密解密使用同一个密钥
加密过程:明文------------加密算法-------- 密文
安全依赖密钥:加解密过程子再通过同一密钥到密文
加密速度快,密钥分发困难。分发过程不安全。分发过多使用统一个密钥也会不安全
公钥加密
成对出现,一个public key一个secret key
过程:对方的公钥加密,已知配对的私钥解密。相当于密钥对。
优点的:如果有50个人通信,只要有对方公钥,就可以了。
问题:1.怎么认证这是你的公钥,通常会遭受中间人的攻击,相反中间人攻击需要算法。
2.公钥长度非常长,公钥加密的速度慢,一般而言比对称加密慢3个数量级,1个数量级是10倍,公钥加密一般不作为公钥加密。
3.私钥可以推倒公钥
单向加密:只能从明文到密文,反之不成,实现数据的特征码
验证:同一数据得到统一结果,用于数据验证数据完整性。
特性:定长输出,无论大小,结果输入相同
蝴蝶效应(雪崩效应),如下:
结果有不一样。
添加随机数进去,密码一样的话,使用的单向加密,两个用户人仍然市不同密码,随机数在第2个和第3个$之间:
/etc/shadow文件中的密码
$加密算法$8位随机数$密码
加密算法:(1-6)
md5----128位 ----------- centOS5.5
sha1-----160bits
sha256---256bits
sha512---512bits() ---- centOS6.7;centOS7.0
useradd
用户创建经历的过程
1.在/etc/passwd添加信息
account:x:uid:gid:comment:home:shell
2.在/etc/group文件中添加一行信息
group:x:gid:user_list
3.创建家目录/home/USERNAME
复制/etc/skel目录中的隐藏文件至用户的家目录中
修改属主,属组及权限
4.在/etc/shadow创建用户密码及相关属性信息
用户的名称解析
输入: login : root
login应用程序调用名称解析库
名称解析库实现,库文件位于/lib64;/usr/lib64目录下,通常以libnss开头
nss=network service switch
安全上下文
任何进程运行,是以用户的身份运行;用户的权限来取决于进程访问资源的能力。
判断运行此进程的用户,是否与访问资源的属主相同,相同则游泳属主权限,否则应用其他权限。
ls -l 来查看
三类账号
属主 u
属组 g
其他 o
所有 a
对于资源,每一类账号都通过三位权限限定
r
w
x
-
rwx: r-x; r--; -w-;--x
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
644: rw-r-r
练习:
1.640,600,660,755,775,750,700
rw-r-----;
rw-------;
rw-rw----
rwxr-xr-x
rwxrwxr-x
rwxr-x---
rwx------
2.rwxr-xr--;r-xr-xr--;rw-r-----;rwxrwxrwx
754
554
640
777
命令:
useradd、usermod、passwd、userdel、
groupadd、groupmod、gpasswd、groupdel
chage、chsh、chfn
id、w、who、whoami
su
useradd
useradd有下面几种:
-c 设置账号描述信息,一般为账号全程。
-d 设置账号的home目录
-e 设置账号的失效日期,格式为YYYY-MM-DD
-g 设置账号的基本组
-G 设置账号的附加组,多个附加组需要用","隔开
-M 不创建家目录,一般与-s结合使用
-s 设置账号的登录shell,默认为bash
-u 指定账号UID
usermod
描述:修改账号信息
用法:usermod[选项] 账户名称
选项:
-d 修改账户的home目录
-e 修改账户失效的日期
-g 修改用户的基本组
-G 修改用户的附加组
-a 如果要增加用户的附加组,必须加-a参数
-s 修改用户的登录shell
-u 修改用户的UID
passwd
描述:更新账号认证信息
用法:passwd [选项][账户名称]
选项:
-l 锁定账号,仅root可以使用此选项
--stdin 从管道读取密码
-u 解锁用户
-d 快速清空密码,仅root可以使用此命令
chage:修改用户密码的过期使用信息
chage -l USERNAME -------查看root用户的密码期限
man chage------查看具体信息
userdel [-r] UAERNAME
删除用户,包括家目录
groupmod
-g Gid 修改gid
-n NEW-NAME 修改名称
groupdel
删除组
gpasswd
给组添加密码,当切换基本组是此组时,如果基本组是其附加组时,则直接切换,否则是提供组密码。
newgrp
临时切换一个用户组
newgrpGROUP_NAME
使用exit,切换到默认组
su
切换用户
su [option]...[-] [user [arg]...]
[user]省略时,表示root
su USERNAME---表示非登录切换,仍然使用原用户的环境设定
su - USERNAME---表示登录切换,使用新用户的环境设定
su-l USERNAME:属于登录式切换
su- USERNAME -c ‘command‘以目标用户执行命令后退出,不做真正切换
注意:返回原用户,使用exit命令
chmod
操作有3类用户权限,使用8进制
chmod [-R] OCTAL-MODE FILE...
-R:递归修改:(一般不常用)
操作制定类别用户的权限
u=,g=,0=
ug= a=
操作某类用户的某位或某些权限:+、-
u+,g+,o+
u-,g-,0-
引用性修改
--reference=/PATH/TO/SOMEFILE
练习: 复制/etc/skel目录文件复制到/home/tuser1,要求/home/tuser1机器内部文件的属组和其他哟呼均没有任何访问权限。
修改ownship,仅管理员权限
chown
chown [-R] [--reference]USER FILE...
chown [-R] [--reference][USER][:GROUP] FILE...
[USER]:只改属主
[:GROUP] :只改属组
[USER] [:GROUP]:改属组和属主
chgrp
chgrp [-R][--reference] USER FILE...
umask:权限的遮罩码
文件:666-umask
注意:如果见得的数字中存在执行权限,则让用户类别的八进制权限数字加1
目录:777-umask
设定umsk
umask [mode]
注意:此设置只对当前shell设置有效。
练习:
1.创建用户slackware,id2002,基本组distro,附加组peguin;
2.修改slackware的默认shell位/bin/tcsh,
3.为其新附加组admins
4.密码,密码最短3天啊,最长180天,警告3天
5. 添加系统用户mysql,其要求shell为/sbin/nologin
6.使用echo命令,非交互为opentaack添加密码
标签:用户管理和权限管理
原文地址:http://youenstudy.blog.51cto.com/6722910/1690365