Linux系统下的输入输出管理、用户信息管理、root密码的更改

1.对于输入输出的认识及对于输出方式的管理

(1) .定义 输入:键盘鼠标一些可以用于电脑上输入信息的硬件

                输出:就是系统接收到我们想要实现的功能字符后,经过进程的处理产生字符,但是输出存在正确输出和错误输出,把正确输出编号为1,错误输出编号为2,来进行系统管理

(2)管理方法   非交互式多行录入:在文件中输入命令,然后用sh 执行命令,显示不能自动运行文件中的命令,但是按照正确的格式添加开始符和结束符,就能避免交互自动运行

vim C_pass.sh                                     

passwd

sh C_pass.sh

不可以自动运行

passwd <<END

lee
lee
END
sh C_pass.sh

可以避免交互自动运行自动运行

2.如何管理输出

#重定向
>       #
重定向正确输出
2>      #
重定向错误输出
&>      #
重定向所有输出
2>&1        #
把错误输出的编号由2转换为1
"
注意:从定向是会覆盖原文件内容的"
Linux系统下的输入输出管理、用户信息管理、root密码的更改
#
保持原文件内容不变的情况下把输出追加到文件之后
>>   :
追加正确输出
2>>   :
追加错误输出
&>>  :
追加所有输出
管道
#
把输出变成下一个程序的输入
#
管道是用来组合多条命令的使用的
ls /bin | wc -l
Linux系统下的输入输出管理、用户信息管理、root密码的更改
"
注意:通过管道后输出会变成输入,那么是无法保存在文件中的"

tee     ##复制输出到指定位置

*对用户的管理*

首先预习一下用户相关概念以及系统配置文件

用户概念:用户就是系统使用者的身份
在系统中用户存储为若干窜字符+若干个系统配置文件
用户信息涉及到的系统配置文件:/etc/passwd     用户信息
用户:密码:uidgid:说明:家目录:用户使用的shell
 /etc/shadow    
用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group     
组信息
组名称:组密码:组id:附加组成员
/etc/gshadow    
组认证信息
/home/username  
用户家目录
/etc/skel/.*       
用户骨架文件
#
注意: /etc/skel/ 这个目录中的所有文件或目录在用户新建的过程中会被复制到用户的家目录里
#
这个目录中默认存在的隐藏文件是用户的默认配置文件


用户的基本操作:

1.用户建立

useradd     参数        用户名字
        -u  ##
指定用户uid
        -g  ##
指定用户初始组信息,这个组必须已经存在
        -G  ##
指定附加组,这个组必须存在
        -c  ##
用户说明
        -d  ##
用户家目录
        -s  ##
用户所使用的shell/etc/shells记录了用户能使用shell的名字
2.
用户删除
userdel     -r 
用户名称 -r表示删除用户信息及用户的系统配置

3.
组的建立
groupadd    -g      组名字   
建立组
groupdel   
组名字             删除组
4.
用户id信息查看
id 
参数    用户
    -u  ##
用户uid
    -g  ##
用户初始组id
    -G  ##
用户所有所在组id
    -n  ##
显示名称而不是id数字
    -a  ##
显示所有信息
Linux系统下的输入输出管理、用户信息管理、root密码的更改
5.
用户信息更改
usermod
参数    用户
    -l  ##
更改用户名称
    -u  ##
更改uid
    -g  ##
更改gid
    -G  ##
更改附加组
    -aG ##
添加附加组
    -c  ##
更改说明
    -d  ##
更改家目录指定
    -md ##
更改家目录指定及家目录名称
    -s  ##
更改shell
    -L  ##
冻结帐号
    -U  ##
解锁

6.
用户权力下放
1.
在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers
2.
下放权力的方法
*
)超级用户执行visudo进入编辑/etc/sudoers模式
*
)格式:
获得权限用户    主机名称=(获得到的用户身份)  命令
test    desktop0.example.com=(root) /usr/sbin/useradd
test
用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd

3.执行下放权限命令
sudo   
命令    ##如果第一次执行sudo需要输入当前用户密码
/etc/sudoers中如果设置如下:
test    desktop0.example.com=(root)     NOPASSWD
/usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码


7.用户认证信息的控制

chage   参数    用户

    -d  ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
    -m  ##
最短有效期
    -M  ##
最长有效期
    -W  ##
警告期
    -I  ##
用户非活跃天数
    -E  ##
帐号到期日格式 -E "YYYY-MM-DD"

8、root密码的更改

第一步:reboot到重启界面

第二步:点击上下键让界面停止,按e进入

第三步:将linux16行的ro改为rw,加入rd,break后面的全部删除,ctrl X退出

第四步:进入系统root界面

chroot /sysroot/

passwd

修改完密码后exit两次退出,root密码修改完毕

9.用户认证信息的控制
1."passwd"
用来修改用户认证信息
passwd westos   ##
如果是超级用户不许要知道原来密码
                           ##
直接修改,没密码强度限制
                           ##
如果是普通用户需要输入原始密码
                           ##
密码不能少于8个字符,不能是纯数字,不能是纯字母
       
passwd -S
用户  ##查看用户密码信息
passwd -d
用户  ##删除用户密码
passwd -l
用户  ##冻结帐号密码
passwd -u
用户  ##解锁用户
passwd -e
用户  ##更改密码默认使用天数
passwd -x
用户  ##密码最长有效期
passwd -n
用户  ##密码最短有效期
passwd -w
用户  ##密码过期前警告期
passwd -i
用户  ##密码非活跃天数
passwd --stdin
用户 ##非交互式更改用户密码
#
例如:
echo westos | passwd --stdin lee   


chage  
参数    用户
    -d  ##
用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
    -m  ##
最短有效期
    -M  ##
最长有效期
    -W  ##
警告期
    -I  ##
用户非活跃天数
    -E  ##
帐号到期日格式 -E "YYYY-MM-DD"