笔记2

#############input & output#####
ps
  PID TTY          TIME CMD              ##
输出桌面是/dev/pts/0文件
 2856 pts/0    00:00:00 bash
 6594 pts/0    00:00:00 ps
linux中正确的用1表示  错误的用2表示
在普通用户模式下
[kiosk@foundation14 Desktop]$ find /etc -name passwd
find: ‘/etc/pki/CA/private’: Permission denied            ##
错误输出 没有权限
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
/etc/passwd                                                 ##
正确输出
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/audit’: Permission denied
/etc/pam.d/passwd
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/virt-who.d’: Permission denied
find: ‘/etc/sudoers.d’: Permission deni
find /etc -name passwd
find /etc -name passwd > file       ##
重定向正确输出   |
find /etc -name passwd 2> file      ##
重定向错误输出   |  这三项会覆盖源文件
find /etc -name passwd &> file      ##
重定所有输出   |
>file                                   ##
清空文件的内容
find /etc -name passwd >> file      ##
追加正确输出
find /etc -name passwd 2>> file     ##
追加错误输出
find /etc -name passwd &>> file     ##
追加所有输出
上面三项不会覆盖源文件 只是把内容追加到文件的最后
|
管道  把前一句命令的输出作为后一句命令的输入
find /etc -name passwd 2>/dev/null     ##
把错误的全部垃圾站
find /etc -name passwd |wc -l   
系统中错误的是通不过通道的       2>&1可以把错误的编号转为正确的编号
find /etc -name passwd 2&1>|wc -l
tee 
复制输出
find /etc -name passwd 2&1>|tee westos    
在屏幕上面显示并且复制输出指定的文件

##########vim
命令模式##############
:set nu         ##
行号添加
:set nonu       ##
取消行号
:set mouse=a        ##
添加鼠标选择
:set cursorline     ##
行线显示
这些操作只是临时操作 向要永久
vim /etc/vimrc 
打开vim的配置文件,在此文件后面加上以上参数,保存退出即可。


“u”  undo 
恢复操作
ctrl + r  
撤销操作
###########
字符的复制###############
yl      ##
复制一个字母
ynl     ##
复制n个字母
yw      ##
复制一个单词
ynw     ##
复制n个单词
yy      ##
复制一行
yny     ##
复制n
p       ##
复制完成后按P粘贴
###########
字符的剪切##################
cl      ##
剪切一个字母
cnl     ##
剪切n个字母
cw      ##
剪切一个单词
cnw     ##
剪切n个单词
cc      ##
剪切一行
cnc     ##
剪切n
先按esc  再按pzhan   ##因为在剪贴后会进入插入模式所以要县退出插入模式

###########
字符的删除###########
dl      ##
删除一个字母
dnl     ##
删除n个字母
dw      ##
删除一个单词
dnw     ##
删除n个单词
dd      ##
删除一行
dnd     ##
删除n

##########vim
的可视化模式#########

在命令模式下按“ctrl+v”进入到可视模式
在可视模式下可以区域选择字符

可视模式下批量添加字符
*>> ctrl+v
选中要加入字符所在列
*>>
“I”进入插入模式,写入要加入的字符
*>>
esc


#######
修改字符#############


:%s/
原有字符/替换后字符     ##只替换每一行中出现的第一个原有字符
:%s/
原有字符/替换后字符/g   ##替换所有
:%s/\t//g           ##
把全文的tab键替去掉,\t 表示tab
:%s/^\ *//g         ##
把全文行首的空格去掉,"^\ *"表示行首的空格
:%s/^\#\ */#/g          ##
把全文#后的空格去掉



####
分屏功能#########
ctrl+w s     ###
上下分屏
ctrl+w v    ###
左右分屏
ctrl+w c    ###
关闭光标所在屏幕
ctrl+w
上下左右   ###光标移动到指定屏幕
:sp filename    ##
同时编辑当前文件和和另一个文件

######
光标移动#########
命令模式下
:数字    ##移动到数字所指行
G        #
移动到末行
gg      ##
移动到首行
#######
在插入模式下########
首先保证在插入模式下,然后按下列字母会主动进入INSERT模式
i       ##
光标所在位置插入
I       ##
光标所在行行首
a       ##
光标所在字符的下一个位置
A       ##
光标所在行行尾
o       ##
光标所在行下一行
O       ##
光标所在行上一行
s       ##
删除光标所在字符插入
S       ##
删除光标所在行插入
###########vim
的退出##########
q    ###不做任何操作就退出
q  ###对字符操作,但是不保存退出
wq   ###保存退出
wq ###强行保存年退出
######gedit#########
ctrl+n          ##
gedit中打开一个新的tab
ctrl+s          ##
保存文件
ctrl+o          ##
打开文件
ctrl+x             ##
剪切字符
ctrl+v          ##
粘贴字符
ctrl+c          ##
复制字符
ctrl+z                  ##
恢复
ctrl+shift+z            ##
撤销
ctrl+q          ##
退出
yelp help
gedit     ##gedit的帮助




############
用户########
用户就是系统使用者的身份
在系统中用户存储为若干串字符+若干个系统配置
用户信息涉及到的系统配置文件:
/etc/passwd      ##
用户信息
用户:密码:uidgid:说明:家目录:用户使用的shell       cat/etc/shells
/etc/shadow      ##
用户认证信息
用户:密码:最后一次修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group
组名称:组密码:组id:附加组成员
chown westos:westos /home/westos   
/etc/gshadow


watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls /home
####
查看id######
id  username    ##
查看用户id信息
  -u username  ##
初始用户id

   -g       ##
用户初始组id
   -G       ##
用户所有所在组id
   -n       ##
显示名称而不是id数字
   -a       ##
显示所有信息
############
用户信息更改#########
usermod
参数    用户
    -l  ##
更改用户名称
    -u  ##
更改uid
    -g  ##
更改gid
    -G  ##
更改附加组
    -aG ##
添加附加组
    -c  ##
更改说明
    -d  ##
更改家目录指定
    -md ##
更改家目录指定及家目录名称
    -s  ##
更改shell
    -L  ##
冻结帐号
    -U  ##
解锁

###########
用户权力下放##########

echo
密码|passwd --stdin 用户       ###输出密码 然后通过管道把输出当作输入送给 passwd --stdin 用户 命令
需要进入这个配置文件/etc/sudoers

visudo             ##
进入/etc/sudoers

获得权限用户      主机名称(hostname获取)=(用户身份) 下放的命令权限
amin    desktop14.example.com=
root  /usr/sbin/useradd
kang    desktop14.example.com=
root  NOPASSWD /sbin/userdel

sudo   
命令                ##如果第一次执行sudo需要输入当前用户密码,上面的NOPASSWD表示第一次执行也不需要密码
sudo useradd
用户       ###用当前用户创建一个新的用户
sudo userdel -r
用户    ###用当前root给有删除用户权限的用户删除用户

########
用户认证信息的控制#########

watch -n 1 tail -n 1 /etc/shadow 
监控功能
root用户权限
chage  
参数    用户
    -d 
天数  用户  ##用户密码最后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
   
先用chage -d 0 用户
       
root切换到student用户 su - studnet 再从student用户切换到amin用户su - amin
       
然后提示输入第一次密码,然后接着再输入一遍密码  然后提示重新输入新密码 再输入一次  然后改掉密码
    -m 
天数  用户  ##最短有效期  然后用amin用户修改密码  提示必须要等待时间才能修改
    -M 
天数  用户  ##最长有效期
    -W 
天数  用户  ##警告期
    -I 
天数  用户  ##用户非活跃天数
    -E 
天数  用户  ##帐号到期日格式 -E "YYYY-MM-DD"






usermod -U
用户  解锁
passwd -u
用户    解锁
passwd -l
用户   锁定
passwd
锁定要比usermod锁定更加彻底 需要用usermod解锁两次才能成功


#########
文件属性的查看###########
ls -l filename        
查看文件的属性
-|rw-r--r--.|1| root| root|   42|Jan  1 00:37 |file
1    2       3  4    5       6      7          8
1."-":
文件类型
2.
文件的权限
3.
文件被系统记录的次数和目录的个数
4.
文件的所有人
5.
文件所有组
6.
文件的内容大小
7.
文件最后一次被修改的日期
8.
文件的名字

1.-       ##
普通文件
d       ##
目录
p       ##
管道
s       ##socket
c       ##
字符
l       ##
连接
b       ##
快设备
2.rw-    ###*
所有人的权限
  r--   ###$
所有组权限
  r--   ###@
其他人权限
3.
文件被记录的次数
 
目录的个数
4 |root 
文件所有人
5 |root 
文件所有组
6
文件内容的大小
7
文件最后一次被修改的时间
8
文件的名字
#########
文件所有人所有组的管理####

chown  
用户名                  文件/目录             ##更改文件的所有人
chown   username:groupname
文件/目录   ##更改所有人所有组
chown -R username       dir     ##
更改目录本身及里面所有内容的所有人
chgrp -R groupname      dir     ##
更改目录本身及里面所有内容的所有组

监控命令
watch -n 1 ls -lR /mnt

####3.
文件普通权限####
rw-|r--|r--
 u  g   o
u
:文件所有人对文件可以读写
g
:文件组成员对文件可读
o
:其他人对文件可读
u
优先匹配,g次优先,oug不匹配时匹配

1.r
对文件:可以查看文件中的字符
对目录:可以查看目录中文件的信息

2.w
对文件:可以更改文件内字符
对目录:可以在目录中添加删除文件

3.x
对文件:可以运行文件内记录的程序动作
对目录:可以进入目录中


4.
字符方式修改该文件权限
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir  

chmod u-x file1         ##file1
拥有者去掉x权限
chmod g+w file1         ##file1
拥有组添加w权限
chmod u-x,g+w file1     ##file1
拥有者去掉x权,file1拥有组添加w权限
chmod ugo-r file2       ##file2
的用户组其他人去掉r权限
chmod ug+x,o-r file3        ##file3
用户和组添加x权限,其他人去掉r权限
5.
数字方式修改该文件权限
linux
r=4
w=2
x=1
文件权限数字表示方式
rw-|r--|r--
 u  g   o
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
所以文件权限表示为644

chmod  
修改后权限值    file
chmod   777 file

7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---




####4.
系统默认权限的设定####

从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限
设定方式
umask       ##
查看系统保留权限默认为022
umask 077   ##
修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

永久设定方式:
vim /etc/bashrc     ##shell
 70    if [ $UID -gt 199 ] && [ "`id -gn`" = "`id-un`" ]; then
 71       umask 002    ##
普通用户umask
 72    else
 73       umask 077    ##
超级用户umask                                                                      
 74    fi

vim /etc/profile    ##
系统
 59 if [ $UID -gt 199 ] && ["`id -gn`" = "`id -un`" ]; then
 60    umask 002   ##
普通用户umask
 61 else
 62    umask 077       ##
超级用户umask                                                                                        
 63 fi

以上两个文件umask设定值必须保持一致
source /etc/bashrc                source
再读一次
source /etc/profile
让设定立即生效



t
权限:
只针对与目录,当一个目录上有t权限,那么目录中的文件只能被所有人删除

设定方式:
chmod o+t direcotry
t=1
chmod   1777 direcotry
mkdir /pub
chomd 777 /pub
su - student
touch /pub/file
exit
su - harry
touch /pub/file1
rm -rf /pub/file1  ####
当前情况下可以删除filefile1
exit
chmod 1777 /pub   ###
这种情况下每个用户只能删除自己所建立的文件


ps px -o user,group,comm|grep watch   
检索查看watch字母的进程 的用户  ,组,命令
chmod g+s
文件                 程序进程产生所有组都是文件的所有组  与程序发起人的身份所有组无关
example
chgrp student /bin/watch
         ls -l  /bin/watch
         watch date
   ps ax -o user
groupcomm|grep watch
         chmod g+s /bin/watch
         watch  date
chmod g+s
目录     


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值