linux之redhat中的系统中输入输出的管理以及用户管理
####1.系统中输入输出的管理####
注意:由于root用户输入输出不会出现错误的项,所以以下操作应该在student用户下完成
1.理解系统的输入输出
2.管理输入输出的符号
##输出重定向
> ##重定向正确输出
2> ##重定向错误输出
&> ##重定向所有输出
注意:
重定向会覆盖原文件内容
示例:
注意:以下实验必须在student用户下完成
find /etc/ -name passwd > file ##定向正确输出到file
find /etc/ -name passwd 2> file.err ##定向错误输出到file
find /etc/ -name passwd &> file.all ##定向所有输出到file
> file ##清空file
##输出追加
>> ##追加正确输出到文件最后
2>> ##追加错误输出到文件最后
&>> ##追加所有输出到文件最后
注意:
追加不会覆盖源文件内容
示例:
find /etc/ -name passwd >> file ##追加正确输出到file
find /etc/ -name passwd 2>> file.err ##追加错误输出到file
find /etc/ -name passwd &>> file.all ##追加所有输出到file、
##3.管道的应用##
1.管道的作用
“|” 管道的作用是把前一条命令的输出变成后一条命令的输入
注意:
管道只允许正确输出通过
通过管道的输入将会变成输入,而变成输入的这些输出是会被第二条命令处理的
如果需要保存输出内容,那么需要复制一份输出,用到的命令是“tee”
此实验在普通用户下操作:
find /etc/ -name passwd | wc -l ##会看到的结果为2,因为错误输出不能通过管道
find /etc -name passwd 2>&1|wc -l ##会看到19,因为编号为2的输出被“2>&1”转换为编号1
find /etc -name passwd 2>&1|tee file |wc -l ##保存一份输出到file再统计行数
##4.输入重定向####
cat >file <<eof
kkkk
kkk
eof
注意 :eof可以替换为任意字符,但是上下必须保持一致
##############用户管理######################
########1.用户存在的意义##########
########2.组存在的一意义##########
#######3.用户的查看########
1)
查看当前用户
whoami ##查看当前用户
2)
系统中用户的查看
id ##查看指定用户id信息
id
-u ##查看用户的uid
-g ##查看用户的gid
-G ##查看用户所在的所有组的id
-n ##显示名字而不显示id数字
#### 用户切换 ####
su - 用户名称
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户
#### 用户在系统中的存储方式 ###
/etc/passwd
用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell
/etc/group
用户组信息文件
组的名字:组密码:组id:组成员
/etc/shadows
认证信息文件
/etc/skel/.*
默认开启shell的配置,用户的骨文件
/home/username
用户的家目录
##### 用户管理命令####
1)用户的建立
用户信息监控命令
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home 监控用户的建立
useradd ####建立用户的。读取建立
useradd -g 33 kkk 指定用户的组,用户的组必须存在
useradd -d /home/jjj kkk 指定用户的家目录。
useradd -G 88 kkk 指定用户的附加组ID。必须存在
useradd -c hello kkk ##指定用户
的说明useradd
useradd -u 333 kkk 指定用户u的ID
useradd -s /bin/sh LL kkk ##指定用户的默认SHE
2)用户的删除
userdel
userdel student ###### 删除用户不删除用户的配置文件
userdel -r studengt ######删除用户的并删除用户的配置文件
;前面的命令执行。后面不执行
3)用户组的建立与删除
groupadd ### 建立用户组
groupadd -g 666 ## 建立用户组宾指定用户组的ID
groupdel ## 删除用户组
/etc/login.defs 普通用户ID在1000以后。。超级用户 ID00
3)更改用户信息
usermod
usermod -l 新名称 kkk ##更改用户的名称man
usermod -u 6666 kkk ##更改用户的ID
usermod -g 21 kkk ## 更改用户的初始组
usermod -G 21 kkk ##更改用户附加组
usermod -aG 21 kkk ##添加用户的附加组
usermod -G “” kkk ## 删除用户所有的附加组的身份
usermod -c "" kkk ##指定用户说明文字
usermod -d /home/lee kkk ##更改用户的家目录的指向
usermod -md /home/lee kkk ## 更改用户家目录
usermod -s /bin/sh kkk ## 更改用户的shell
usermod -L kkk ## 冻结用户
usermod -U kkk ## 解锁用户
######用户在系统中的存储方式
/etc/passwd
用户信息文件
用户名称:密码:uid:gid说明:家目录 默认SHELL
/etc/shadows
认证信息文件
用户名称
用户密码:
passwd student
passwd -l student
passwd -u student
passwd -d student 清除密码
usermod -L student
usermod -U student
注意
普通用户改密码‘
1.必须输入当前密码
2.密码不能和帐号名称相似
3.密码不能为纯数字或字母
4.密码不能为有序的字母和数字的组合
用户密码最后一次被修改的时间
passwd -e westos ##会改变用户最后一次更改密码
chage -d 0 westos ## 用户登陆会被强制更改密码
密码最短有效期
passwd -n 1 westos ####westos用户一天之内不能修改密码
chage -m 1 westos ###
密码最长有效期
passwd -s westos #### 设定30天内必须改密码
chage -M westos #
密码警告期限
chage -W 2 westos
passwd -w 2 westos 密码过期前俩天有警告输出
用户非活跃天数
passwd -i 1 kkk 密码过期后仍可登陆天数
chage -I 1 kkk
密码到期日
chage -E 2018-12-12 用户在2018---会被冻结
##用户自定义列,目前没有启用
##########用户授权######
用户授权配置文件
/etc/sudoers
授权配置命令
visudo
规范操作
文件100 行左右
普通用户 主机名称=(转换成的新用户身份)、命令1,空格 命令2,空合格
普通用户 主机名称=(转换成的新用户身份)、NOPASSWD 命令
示例
westos 查找用户名称 hostname =(root) /usr/sbin/useradd 执行命令要密令
westos 查找用户名称 hostname=(root) nopasswd ; /usr/ 执行命令免密令