练习1:创建用户Oracle,所属附加组database和sql,ID号为3000, 家目录为/home/database
groupadd database
groupadd sql (先新建两个用户组,问:groupadd是否可一次新建多个组?)
useradd oracle -u 3000 -d /home/database -G database,sql
id oracle (查看用户oracle id以及组相关信息)
uid=3000(oracle) gid=3000(oracle) groups=3000(oracle),1000(database),1001(sql)
cat /etc/passwd |grep oracle (从passwd文件中筛选出oracle相关信息)
oracle:x:3000:3000::/home/database:/bin/bash
cat /etc/shadow |grep oracle (查看oracle用户账户密码相关信息) oracle:$6$bnk5PioM$8h04509U0yhpq5bkicoJYWpE1yEJlIuIhD5jg3vu.orPs2ICFqTLl.chuKFASekW4UkEilZfLrc2C57YPcCnf1:16673:0:99999:7:::
用户管理和权限管理:
AAA认证机制(验证、授权、计费Authencattion、Authorzation、Accounting)
A:认证机制
identity(username/password)
token
A:permission
mode
ownership
Linux用户:UserName/password
UID:0-65535
管理员:0
普通用户:1-60000
系统用户:
CentOS6: 1-499
CentOS7:1-999
登录用户:
CentOS6: 500+
CentOS7: 1000+
Linux组:GroupName/GID
管理员组:0
普通组:
1-499, 1-999
500+, 1000+
用户的基本组:
用户的私有组:
用户的附加组:
Linux用户和组的相关的配置文件:
/etc/passwd:用户名、UID、基本组等信息
/etc/group:组名、GID、组内包含的用户;
/etc/shadow:用户密码及相关属性;
/etc/gshadow:组的密码及相关属性;
/etc/passwd:
name:password:UID:GID:GECOS:directory:shell
登录名:x:UID:GID:comment:主目录:用户默认shell
/etc/shadow:
login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field
$6$YNzGOv5VyXxmDU2n$PxariU7Ag0mBlzBoNLWUjubn9OBtoLJauXIfoRqQ1FtZt058FrQKJO6QVJTUXkP4LUKPsiH7ejWo8bg6c4RrC1
6:加密算法
单向加密:
提取数据指纹;
md5, sha1, sha224, sha256, sha384, sha512
雪崩效应:
定长输出:
相对于Unix元年;
1970年1月1号;
/etc/group
group_name:password:GID:user_list
密码的复杂性策略:
1、使用数字、小写字母、大写字母、特殊字符四类中至少三类;
2、足够长;
3、使用随机密码;
4、定期更换;
用户和组管理的相关命令:
useradd、usermod、passwd、userdel
groupadd、groupmod、gpasswd、groupdel
chage, chsh, chfn
id, w, who, whoami
su
useradd:创建用户
useradd [options] LOGIN
useradd -D [options]
-r: 创建系统用户
-u UID: 指定UID;
-g GID: 指定用户所属基本组,此组必须事先存在
-c ‘COMMENT‘:
-d /PATH/TO/SOMEWHERE:指定用户的主目录路径;此位置不能事先存在,否则,其用户相关配置文件将被复制;/etc/skel
-s SHELL:设定用户的默认shell;
cat /etc/shells
-G GID,...:指定所属的附加组;
-M: 不给用户创建家目录;
groupadd:创建组
groupadd [OPTIONS] GROUPNAME
-g GID: 指明组ID;
-r: 创建系统组;
id:查看用户相关的id信息;
id [OPTION]... [USER]
-u: UID
-g: GID
-G: Groups
-n: NAME
su:switch user, 切换用户或以其它用户的身份执行命令;
切换方式:
su USERNAME: 非完全切换;非登录式切换
su - USERNAME或su -l USERNAME: 完全切换;登录式切换
仅以指定用户的身份执行指定的命令:
su - USERNAME -c ‘COMMAND‘
usermod:用户属性修改
usermod [OPTION]... LOGIN
-u UID
-g GID
-G GID[,GID,...]:修改用户所属的附加组;同时使用-a选项;
-s SHELL
-c ‘COMMENT‘
-d HOME: 修改用户的家目录为新位置时,用户原来的文件是不会被移动至新家;-m选项可实现同时将其迁至新的家目录;
-l LOGIN:
-L:lock user
-U: unlock user
passwd:给用户添加密码
passwd [OPTION] [UserName]
-l: lock user
-u: unlock user
-n mindays: 最短使用期限;
-x maxdays:默认为99999天;
-w warndays:
-i inactivedays:
--stdin:从标准输出接收用户密码;
echo ‘centos‘ | passwd --stdin centos
userdel:删除用户
userdel [-r] USERNAME
-r:删除用户的同时删除其家目录;
groupmod: 组属性修改
groupmod [OPTION] GROUPNAME
-n GROUP_NAME
-g GID
gpasswd:设定组密码
newgrp:切换基本组为指定的组
groupdel:删除组
chage:修改用户账号及密码的属性
chage [OPTION]... LOGIN
-d LAST_DAY
-E
-l
-m
-M
-W
其它命令:chfn, chsh, finger, whoami, who, w
文件权限:
用户对文件的访问权限有三种:
r, w, x
文件:
r: 可使用文件查看工具查看其内容;
w: 可使用文件编辑工具编辑其内容;
x: 可向内核请求将此文件运行为进程;
目录:
r: 可使用ls命令列出目录中的文件或子目录列表;
w: 可在此目录中创建或删除文件;
x:可使用‘ls -l’列出目录文件及子目录的详细属性信息;可使用cd命令切换工作目录为指定目录;
文件的权限主要针对三类对象进行定义:
ownuer: u, 属主;
group: g, 属组;
other: o, 其它;
某类用户对某文件的访问权限:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
664:rw-rw-r--
rwxr-x---: 750
权限管理:
权限管理: chmod
所属关系管理: chown, chgrp
文件遮罩码:umask
作业:用户管理各命令的使用