<--目录-->
1、理论知识
2、用户和用户组管理
3、源码包安装
【理论知识】
一.用户账户管理
AAA
A:Authentication 认证 --> 你是谁?
A:Authorization 授权 --> 你能干什么?
A:Audit 审计 --> 你干了什么?
二。用户账号UID范围 命令查看 id root
0 ->root
1-499 ->系统用户
>=500 ->普通用户
四.passwd文件格式
root:x:0:0:root:/root:/bin/bash
1 2 3 4 5 6 7
1.用户账户的名称
2.密码字患或占位符
3.用户账户的UID号
4.所属基本组的GID号
5.用户全名
6.宿主目录
7.登陆Shell程序的路径
五.shadow文件格式
root:$1$8C2tU7Sa$bdKQUIfwsz9KtVTtn/eTB0:16274:0:99999:7:::
1 2 3 4 5 6 7 8 9
1.用户账户的名称
2.加密后的密码字符串
3.上次修改密码的时间 (自1940年1月1日到最近一次修改密码那天之间的天数)
4.密码的最短有效天数,默认0 (使用多少天才可能改密码,0表示随时都可以改密码)
5.密码的最长有效天数,默认99999 (密码使用的有效期)
6.密码过期前的警告天数,默认7
7.密码过期后多少天禁用此用户账号
8.账号失效时间,默认值为空
9.保留字段(未使用)
查看用户相关密码信息的命令
十九.组管理
etc/group 保存组账号的基本信息
- 每个组记录一行 以:分割为4个字段
字段1 组账号的名称
字段2 密码占位符x
字段3 组账号的GID号
字段4 本组的成员用户列表
etc/gshadow 保存组账号的管理信息
字段1:组账号的名称
字段2: 加密号的密码字符串
字段3:本组的管理员列表
字段4:本组的成员用户列表
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999 //密码的最长使用时间
PASS_MIN_DAYS 0//密码最短使用时间
PASS_MIN_LEN 5//密码的最短长度
PASS_WARN_AGE 7 //密码警告时间
UID_MIN 500
UID_MAX 60000
GID_MIN 500
GID_MAX 60000
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
MD5_CRYPT_ENAB yes
ENCRYPT_METHOD MD5
/etc/skel //新建账户模板文件
~/.bash_profile //每次登陆时执行
~/bashrc //每次进入新的Bash环境时执行
全局
/etc/bashrc
/etc/profile
【用户和用户组管理】
三.创建用户的时候,默认会影响这几个文件
/etc/passwd: 存储用户相关信息
/etc/shadow: 存储密码相关信息
/etc/group: 存储组成员相关信息
/etc/gshadow:存储组密码相关信息
chage -l root 查看tom用户密码修改时间 或 grep root /etc/shadow
chage abc 修改abc的安全设置
useradd命令
-格式 useradd [选项]... 用户名
常用命令选项
-u 指定UID标记号
-d 指定宿住目录 ,缺省为/home/用户名
-e 指定账户的失效时间
-g 指定所属的基本组 (组名或GID)
-G 指定所附属的附加组 (组名或GID)
-M 不为用户建立并初始化蓿主目录
-s 指定用户的登陆Shell
六,创建用户
创建用户alice,UIDj是800,家目录是/home/sum,他除了在自已的主组,还在jack组中(附加组)
他没有可用的shell(无法登陆系统)
useradd -u 800 -d /home/sum -G jack -s /sbin/nologin alice
vim etc/logon.按tab健
九.设置密码
1.只用root用户才能为其他用户设置密码
2.普通用户只能改变自已的密码,而且在改变自已的密码前,要输入老密码
passwd密令
-格式:passwd [选项]... 用户名 改密码:(passwd 用户名)
常用命令选项
-d:清空用户的密码,使之无需密码即可登陆
-S:查看用户账号的状态(是否被锁定)
-l:锁定用户账号
-u: 解锁用户账号
echo 密码 | passwd --stdin 用户名
echo 111 | passwd --stdin tom
例
锁定jack用户
passwd -l jack
查看用户状态
passwd -S jack
解锁用户
passwd -u jack
十.改变用户信息
格式: usermod [选项]... 用户名
常用命令选项
-l 更改用户账号的登陆名称
-u -d -g -G -s 与 useradd 相同
例
1.把jack的登陆名改为slina
usermod -l slina jack
4.改变用户的登陆shell
usermod -s /sbin/nologin slina (不允许登陆)
usermod -s /bin/bash slina (允许登陆)
十一.删除用户
1.简单地将用户tom删除
userdel tom -> 只是把用户删除,用户的家目录仍然存在
2.删除用户tom的同时,把bob的家目录也删掉
userdel -r tom
下午
chage -m 1 tom //设置tom用户密码最短使用时间1天
注 (用 chage -l 查看时间)
chage -M 90 tom //设置tom用户密码最长使用时间90天
十五.设置密码策略
grep -vE "^#|^$" /etc/login.defs (查看login.defs文件中不以#号开头不是空行的行)
vim /etc/login.defs
十六.设置用户密码在2014年1月1日失效
chage -E 2019-1-1 tom
十七.chage语法格式
管理工具chage命令
-格式 chage [选项] 用户名
常用命令选项
-l 列出密码有效期信息
-E 指定账户过期时间 YYYY-MM-DD
-I 指定密码失效后多少天锁定
-m 指定密码的最小天数
-M 指定密码的最大天数
chage 用户名 直接修改密码
强制用户帐号过期chage -d 0 username
十八.id命令
1.直接使用id命令,查看是当前用户的信息
2.id 用户名 ->查看指定用户的信息 //id 空格
id - u tom tom的UID
G GID
G root root属于哪些组,这些组的ID号是什么
Gn root属于哪些组,组的名字是什么
创建组
groupadd -g 1000 hr //创建组 组id号为1000
grep hr /etc/group //查看组
grep hr /etc/gshadow
usermod -aG hr tom //a表示追加,G表示附加组
gpasswd -a bob hr //将用户bob加入到hr组中
id bob
进入到vim etc/group 找到相应的组修改
gpasswd -d bob hr //把bob从hr组中移除
id bob
gpasswd -M bob,alice,jerry hr //同时把多个用户一次性的加入到hr组中
grep hr etc/group
gpasswd -A bob hr //设置hr组的管理员是bob
grep /hr /etc/gshadow
usermod (-l -u -d -g -G -s )属性修改
chage (-l -I -m -M -E)安全修改
passwd (-l -u -S -d)用户
gpasswd (-a -A -M -d)组
gpasswd market //修改密码
grep maket /etc/gshadow //查看密码
gpasswd -r market //删除密码
market某一个目录有访问权限,tom用户不属于market组,也就不能访问这个目录。
tom可以临时改变自已的组员身份到market,实现对这个目录的访问,
临时改变自已组成员身份,就用到了组密码
su - tom
id -Gn 查看tom属于哪个组
newgrp market 临时把自已加入到market组中,需要知道market密码
id -Gn 再次查看自已属于哪个组
exit 退出market组
id -Gn
groupdel tom 删除组
groups tom 查看用户在哪些组
最后.相关命令
su - tom 切换到tom用户
ls ~当前用户家目录
ls -a ~tom 或 ls -a /home/tom tom为用户名 这两条命令意思为指定家目录
chsh -l 查看用什么sh linux用bash
【源码包安装】
vim hello.c
#include <stdio.h>
int main(viod)
{
printf ("hello world\n");
}
gcc hello.c //生成一个文件 a.out
./a.out //执行a.out
二.安装相关的编译环境
yum install -y gcc gcc-c++
三.安装apache web服务器
tar jxf httpd.xxx.tar.bz
cd httpd-x.xx
vim INSTALL //查看安装文件
./configure --prefix=/usr/local/apache //指定安装目录
make
make istall
四.启动Web服务器
cd /usr/local/apache/bin
./apachectl start
firefox & //打开火狐浏览器 输入入地址127.0.0.1
Web服务器的网页存放目录是/usr/local/apache/htdocs
./configure 出问题就安装gcc,gcc-c++,openssl-devel