(第二章)基于Linux平台的文件操作、用户管理、用户权限下放
一、Linux基础的文件操作命令
1、ls ###显示文件信息
-l ##长列表显示文件信息
-a ##显示所有文件
-s ##显示文件大小
-S ##文件大小排序
-d ##显示目录
-dl ##显示目录属性
-R ##递归显示
2、##通配符##(先建立一些特殊的文件,方便做实验)
* ##匹配0~任意字符
? ##匹配单个字符
[[:alpha:]] ##单个字母
[[:upper:]] ##单个大写字母
[[:lower:]] ##单个小写字母
[[:digit:]] ##单个数字
[[:alnum:]] ##单个数字或字母
[[:space:]] ##单个空格
[[:punct:]] ##单个符号
{1..3} ##1 2 3 精确匹配
{a..c} ##a b c
[1-3] ##1或2或3 模糊匹配
[ac] ##a或c
[^ac] ##除了a和c
[!ac] ##不是a也不c
剩下的这些比较简单,大家可以自己在虚拟机上练习。
二、用户管理
# 1.系统中为什么要有用户?
用户是系统最底层的安全设定,为了限制权力,也就是回收权力和支配权力的。
# 2.系统中为什么要有组?
为了共享权力。
# 3.可以决定的组成为附加组。不能决定的组称为初始组。(初始组无法更改,所有用户都有初始组,附加组是超级用户给其他组附加的)
# 4.用户和组在系统中以什么形态存在?
系统中的文字,配置文件中以行的形式存在,用来记录信息
#5.用户配置文件
/etc/passwd ##用户信息文件
用户名称:密码:用户id:组id 用户说明:用户家目录:用户默认使用的shell
/etc/group ##用户组信息
组名称:组密码:组id :附加组成员
/home/username ##用户家目录
/etc/skel.* ##用户骨文件(用户环境配置模板,在用户创建时会自动复制到家目录中)
#6用户的查看
whoami #查看当前用户名称
id username ##查看用户的id信息
id -u username ##查看用户的uid
-g username ##查看用户的gid
-G username ##查看用户所在的所有的组的id
-n username ##以名称显示信息
三、用户的建立和删除和修改
userdel username ##删除用户身份
userdel -r username ##删除用户身份及用户的系统配置文件
useradd username ##使用默认规则建立用户(规则查看/etc/login.defs)
useradd -u username ##指定用户的uid
useradd -g username ##指定用户的初始组id
useradd -G username ##指定用户的附加组id
useradd -c username ##指定用户的说明文字
useradd -d username ##指定用户的家目录
useradd -s username ##指定用户的shell(系统可以用shell可在/etc/shells中查看)
groupadd -g gid groupname 创建组并给出组id
#6.用户的管理
usermod -l linux(新用户名称) westos(旧用户名称) ##改变用户名称
usermod -u uid username ##修改用户uid
usermod -g 21 westos ##修改初始组id
usermod -G 25 westos ##更改附加组
usermod -aG ##增加附加组
usermod -G "" westos ##清除所有附加组
usermod -c test westos ##改变用户说明文字
usermod -d /home/username ##改变用户存放的位置
usermod -md /home/其他名称 ##连同 家目录一起改变
usermod -s ##改变用户shell
7.用户切换
su - username ##切换用户,高级用户切换到低级用户不需要密码
##低级用户切换到高级用户或者切换到平级用户需要后者密码
“注意:”
1、用户切换后及时退出再切换到下一个用户,不退出来回切会使shell出问题
2、su - 表示切换用户身份及用户环境(不加“-”会不改变环境变量,会出错)
echo $PATH
#8.用户的认证信息
/etc/shadow ##记录用户的认证信息
用户名称:
用户密码:
@@md5(对称加密) sha512
(passwd username 是root 用户修改密码)
密码最后一次被修改的时间:
@@当此位数字为0的用户,在登陆系统时会被强制性修改密码。
change -d 0 westos
passwd -e westos
密码最短有效期:
chage -m 1 westos
passwd -n 3 westos
密码最长有效期:
chage -M 40 westos
passwd -x 40 westos
密码过期警告:(密码过期前几日进行提醒)
chage -W 2 westos
密码非活跃期:(密码过期前几日进行提醒)
chage -I 2 westos
passwd -i 0 westos
帐号到期日:
chage -E "2018-11-11" westos
未设定用户自定义:
四、用户权力的下放
1.配置文件
/etc/sudoers
2.配置命令
visudo ## 此命令提供语法检测
在/etc/sudoers的第100行左右,加入下列代码
用户名称 主机名称=(执行程序身份)命令 ##当执行命令时需要用户验证
linux11 dns-server.example.com = (root) /usr/sbin/useradd
用户名称 主机名称=(执行程序身份)NOPASSWD: 命令1,命令2 ##当执行命令时不要用户验证
linux11 dns-server.example.com=(root) /usr/sbin/useradd,/usr/sbin/userdel
情况1、如果有错误,则“e” 继续编辑
情况2、su -l linux11 (跳转到普通用户)
权限下放成功。