输入输出定义:
输入:键盘,鼠标和我们用这些硬件在系统录入的字符
输出:系统接受到我们想要得到的功能字符后,经过进程的处理产生字符
输入会有两种出现,编号1为正确输出,编号2位错误输出,默认着两种输出都会被系统定向到字符设备中
输出管理:
1.非交互式多行录入
不能自动运行
可以自动运行,避免交互。
2.重定向
> 重定向正确输出
2> 重定向错误输出
&> 重定向所有输出
2>&1 把错误输出的编号由1转换为2
在重定向时,保存的文件会覆盖文件的原内容。
3.追加
>> 追加正确输出
2>> 追加错误输出
&>> 追加所有输出
4.管道
把输出变成下一个程序的输入,管道是用来组合多条命令使用的。
tee 复制输出到指定位置
用户理解:
1.用户就是系统使用者的身份,在系统中用户存储为若干串字符+若干个系统配置文件
/etc/passwd 用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/shadow 用户认证信息
用户:密码:最后一次密码修改时间:最短有效时间:最长有效期:警告期:非活跃期:账号到期日
/etc/group 组信息
组名称:组密码:组id:附加组成员
/etc/shadow 组认证信息
/home/username 用户家目录
/etc/skel/.* 用户骨架文件
注:/etc/skel/ 这个目录中的所有文件或目录在用户新建的过程中会复制到用户的家目录里,此目录中默认存在的隐藏文件是用户的默认配置文件。
2.用户建立
useradd 参数 用户名字
-u ##指定用户uid
-g ##指定用户初始组信息,这个组必须已经存在
-G ##指定附加组,这个组必须存在
-c ##用户说明
-d ##用户家目录
3.用户删除
userdel -r 用户名称-r表示删除用户信息及用户的系统配置
组的建立
groupadd -g 建立组 groupdel 组名字 删除组
4.用户id信息查看
id 参数 用户
-u ##用户uid -g ##用户初始组id -G ##用户所在组id -n ##显示名称而不是id数字 -a ##显示所有信息
5.用户信息更改
usermod 参数 用户
-l ##更改用户名称
-u ##更改uid
-g ##更改gid
-G ##更改附加组
-aG ##添加附加组
-c ##更改说明
-d ##更改家目录指定
-md ##更改家目录指定及家目录名称
-s ##更改shell
-L ##冻结帐号
-U ##解锁
用户权力下放:
1.在系统中超级用户可以放普通用户不能执行的操作给普通用户下放权力配置文件:/etc/sudoers
编辑/etc/sudoers文件如下
2."passwd" 用来修改用户认证信息
passwd westos ##如果是超级用户不许要知道原来密码
##直接修改,没密码强度限制
##如果是普通用户需要输入原始密码
##密码不能少于8个字符,不能是纯数字,不能是纯字母
passwd -S 用户 ##查看用户密码信息
passwd -d 用户 ##删除用户密码
passwd -l 用户 ##冻结帐号密码
passwd -u 用户 ##解锁用户
passwd -e 用户 ##更改密码默认使用天数
passwd -x 用户 ##密码最长有效期
passwd -n 用户 ##密码最短有效期
passwd -w 用户 ##密码过期前警告期
passwd -i 用户 ##密码非活跃天数
passwd --stdin 用户 ##非交互式更改用户密码
chage 参数 用户
-d ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-m ##最短有效期
-M ##最长有效期
-W ##警告期
-I ##用户非活跃天数
-E ##帐号到期日格式 -E "YYYY-MM-DD"
4.root密码忘记重置的方法
重新启动系统
在系统启动阶段按上下健停止系统系统引导
选择启动引导标题,按“E”进行编辑
找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
ctrl+x启动设定过后的系统引导条目
进入系统后执行chroot /sysroot切换到真实的系统环境
passwd root修改超级用户密码
exit两次使系统自动重新启动
ls -l 文件名 查看文件属性
文件类型
- 普通文件; d 目录; s socket套接字; l 软链接; p 管道; c 字符设备; b 块设备
ls -ld directoy 查看目录属性
5.文件用户组的更改
chown 用户名称 文件 ##更改文件所有人
chgrp 组名称 文件 ##更改文件所有组
chown -R 用户 目录 ##更改目录本身以及目录中的子文件的所有人
chgrp -R 组名 目录 ##更改目录本身以及目录中的子文件的所有组
6.权限的识别
ls -l 中2-10字符为文件权限
rwx r-x r-x
用户权限(u) 组成员权限(g) 其他用户权限(o)
权限种类
r
r权限针对文件,表示可以查看文件内容
r权限针对目录,表示可以ls 查看目录中存在的文件名称
w
w权限针对文件,表示可以更改文件的内容
w权限针对目录,表示是否可以删除目录中的子文件或者子目录
x
x权限对于文件,表示是否可以开启文件当中记录的程序
x权限对于目录,表示是否可以进入目录中
7.文件的默认权限
umask 显示系统预留权限限;umask 077 临时修改umask值
永久修改
vim /etc/bashrc 71行是普通用户的更改,73是超级用户的更改
vim /etc/profile 60行是普通用户的更改,62是超级用户的更改
source /etc/bashrc ##刷新bash配置
source /etc/profile ##刷新系统配置
8.特殊权限
o+t ###之针对目录,当一个目录上有t权限时,这个目录中的文件只能被文件拥有者删除
g+s ##针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的
u+s ###针对文件,文件记录动作在执行时是一文件所有人身份执行的,与是谁发起的无关
9.权限列表
acl 指定特定的用户对特定的文件拥有权限
-rw-rwx---+ 1 root root 0 Mar 28 02:39 file (+ 代表权限列表开启)
查看权限列表
getfacl 文件名称
设定用户对文件的读写权限
设定组对文件的读写权限
在权限列表中删除用户信息
在权限列表中删除组信息
关闭权限列表
mask值 mask值是能够赋予用户的最大权限值
当设定acl列表后,如果chmod命令缩小文件的权限,那么mask值会被更改
更改后
delfaut权限的设定
setfacal -Rm u:username:rwx 目录名 设定目录及其目录原有文件的rwx权限
对目录中后续建立的文件不生效
setfacl -m d:u:username:rwx 目录名 设定目录中后续建立的文件/目录的rwx权限
对目录本身无效
对目录中原有的文件/目录无效