linux学习第3天
时间:20180718
目录
Linux用户和组管理
sudo
内核空间
用户空间
库调用
系统调用
如何安装虚拟机
计算机的基本知识
Linux用户和组管理
管理员 root ID 0
普通用户 1-65535
配置文件解析
/etc/password
7字段: name:password:UID:GID:GECOS:directory:shell
/etc/group 组及其属性信息
4字段: group_name:password:GID:user_list
/etc/shadow 用户密码及其相关属性
9字段
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
/etc/gshadow 组密码及其相关属性
4字段: group_name:password:GID:user_list
密码的复杂性策略
1 使用数字、大写字母、小写字母及特殊字符中至少3种
2 足够长
3 使用随机密码(没有规律的密码,使用系统生成的随机序列数)
4 定期更换,不要使用最近使用过的密码
用户和组相关的管理命令
useradd, groupadd, su, usermod, passwd, userdel, groupmod, groupdel
gpasswd, newgrp, chage, chfn, chsh, finger
(详细命令解释见另一文档)
sudo 此命令可以使管理员授权给普通用户使用某些非普通用户可以使用的命令
最重要的是同时普通用户在使用命令时并不知道管理员的密码,大大的降低了系统的
安全性,要想使其生效就需要配置/etc/sudoers文件
此文件有是有配置语法规则的,所以不建议直接打开配置,有一个命令专用来负责配置
此文件,并会在退出时检查所配置的是否有语法错误,命令为visudo
定义格式规则
账号 登录者的来源主机名=(可切换的身份) 可以通过sudo执行的命令
如
mysky ALL=(root) /usr/bin/passwd
注意事项
1 代表所有的ALL必须大写
2 后面的命令必须绝对路径
3 前面的用户可以是一个组 组的表示方式 %group_name
4 如果在执行sudo的时候不需要输入密码,则可以在命令前面这样表示
NOPASSWD:COMMAND 强制密码验证使用 PASSWD:COMMAND
使用者账号、执行的命令还可以使用一些别名来进行定义
关键字 User_Alias表示用户名别名 如 User_Alias UserG=mysky,centos
关键字 Cmnd_Alias表示命令别名 如 Cmnd_Alias Comm_G=/sbin/fdisk,...
关键字 Host_Alias表示主机别名 如 Host_Alias host_G=myskyhost,...
-k 清除此前记忆下的令牌
-l 查看当前用户可执行的sudo命令,其它就是显示sudo配置文件里的那一行
-u USERNAME COMMAND 以指定的用户运行COMMAND命令