1、vimlinux
1.vim光标移动ios
1)在命令模式下shell
:数字 ###移动到指定的行vim
G ###文件最后一行安全
gg ###文件第一行bash
2)在插入模式下运维
i ###光标所在位置插入工具
I ###光标所在行行首ui
a ###光标所在字符的下一个位置spa
A ###光标所在行行尾
o ###光标所在行下一行
O ###光标所在行上一行
s ###删除光标所在字符插入
S ###删除光标所在行插入
2.vim的退出模式
:q ###当用vim打开文件但没有对字符做任何操做时可直接退出
:q! ###当用vim打开文件并对字符做操做,放弃全部操做退出
:wq ###保存退出
:wq! ###强行保存退出,对超级用户及文件全部人生效
3.vim手册
vimtutor ###vim的手册
:q ###退出vimtutor
2、gedit
ctrl+n ###在gedit中打开一个新的tab
ctrl+s ###保存文件
ctrl+o ###打开文件
ctrl+x ###剪切字符
ctrl+v ###粘贴字符
ctrl+c ###复制字符
yelp help:gedit ###gedit的图形手册
3、用户理解
限制,共享
用户就是系统使用者的身份
在系统中用户存储为若干字符串+若干个系统配置文件
用户信息涉及到的系统配置文件:
/etc/passwd ###用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/shadow ###用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:账号到期日
/etc/group ###组信息
组名称:组密码:组id:附加组成员
/etc/gshadow ###组认证信息
/home/username ###用户家目录
/etc/skel/.* ###用户骨架文件
4、用户管理
1.用户创建
useradd 参数 用户名称
-u ###指定用户uid
-g ###指定用户初始组信息,这个组必须已经存在
-G ###指定附加组,这个组必须存在
-c ###用户说明
-d ###用户家目录
-s ###用户所使用的shell,/etc/shells记录了用户能使用shell的名字
eg:[root@foundation42 Desktop]# useradd westos ###创建新用户,参数皆为默认
[root@foundation42 Desktop]# useradd -u 6666 westos ###创建新用户,指定用户uid为6666
[root@foundation42 Desktop]# groupadd -g 9999 westo ###创建组,指定组gid为9999
[root@foundation42 Desktop]# useradd -g 9999 westos ###创建新用户,指定组gid为9999
[root@foundation42 Desktop]# useradd -G 21 westos ###创建新用户,指定附加组id为21
[root@foundation42 Desktop]# useradd -c "westos user" westos ###创建新用户,指定用户说明为westos user
[root@foundation42 Desktop]# useradd -d /home/linux westos ###创建新用户,指定用户家目录为/home/linux/
[root@foundation42 Desktop]# useradd -s /bin/sh westos ###创建新用户,指定用户所使用的shell
ps:[root@foundation42 Desktop]# userdel -r westos ###删除用户westos,新建用户存在时,先删除用户,再新建
2.用户删除
userdel -r 用户名称 ###-r表示删除用户信息及用户的系统配置
eg:[root@foundation42 Desktop]# userdel -r westos ###删除westos用户信息及其westos的系统配置
3.组的创建
groupadd -g 组名称 ###创建组
groupdel 组名字 ###删除组
ps:作以上实验的监控命令:
[root@foundation42 Desktop]# watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'
eg:[root@foundation42 Desktop]# groupadd linux ###创建组linux,参数皆为默认
[root@foundation42 Desktop]# groupadd -g 8888 westos ###创建名称为westos,id为8888的组
[root@foundation42 Desktop]# groupdel westos ###删除组westos
4.用户id信息查看
id 参数 用户
-u ###用户uid
-g ###用户初始组id
-G ###用户全部所在组id
-n ###显示名称而不是id数字
-a ###显示全部信息
eg:[root@foundation42 Desktop]# id -a westos ###查看westos的全部信息
[root@foundation42 Desktop]# id -u westos ###查看westos的用户uid
[root@foundation42 Desktop]# id -g westos ###查看westos的用户初始组gid
[root@foundation42 Desktop]# id -G westos ###查看westos全部所在组id
[root@foundation42 Desktop]# id -un westos ###查看westos的用户名称
[root@foundation42 Desktop]# id -gn westos ###查看westos的初始组名称
[root@foundation42 Desktop]# id -Gn westos ###查看westos的全部所在组的名称
5.用户信息更改
usermod 参数 用户
-l ###更改用户名称
-u ###更改uid
-g ###更改gid
-G ###更改附加组
-aG ###添加附加组
-c ###更改说明
-d ###更改家目录指定及家目录名称
-s ###更改shell
-L ###冻结账号
-U ###解锁
eg:[root@foundation42 Desktop]# usermod -l linux westos ###将用户名称westos改成linux
[root@foundation42 Desktop]# usermod -u 1111 linux ###将用户uid改成1111
[root@foundation42 Desktop]# usermod -g 72 linux ###更改用户组id,组id要已存在的
[root@foundation42 Desktop]# usermod -G wheel linux ###更改用户的附加组为wheel,wheel要已存在
[root@foundation42 Desktop]# usermod -aG 21 linux ###在原有附加组的基础上,添加id为21的附加组
[root@foundation42 Desktop]# usermod -c "linux user" linux ###更改linux用户的说明
[root@foundation42 Desktop]# usermod -d /home/linux linux ###更改linux用户家目录指定
[root@foundation42 Desktop]# usermod -md /home/linux linux ###更改linux用户家目录指定及家目录名称
[root@foundation42 Desktop]# usermod -s /bin/shell ###更改shell
5、用户权力下放
1.在系统中超级用户能够下放普通用户不能执行的操做给普通用户
下放权力配置文件:/etc/sudoers
2.下放权力的方法
*)超级用户执行visudo进入编辑/etc/sudoers模式
*)格式:
得到权限用户 主机名称=(得到到的用户身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
eg:[root@foundation42 Desktop]# visudo-->进入/etc/sudoers编辑模式-->kiosk foundation42.ilt.example.com=(root) /usr/sbin/useradd-->保存退出
3.执行下放权限命令
sudo 命令 ###若是第一次执行sudo须要输入当前用户密码
ps:在/etc/sudoers中若是设置以下:kiosk foundation42.ilt.example.com=(root) NOPASSWD: /usr/sbin/useradd,表示用户调用sudo命令的时候不须要本身密码
eg:[kiosk@foundation42 Desktop]$ sudo /usr/sbin/useradd linux ###执行下放权限命令
6、用户认证信息的控制
chage 参数 用户
-d ###用户密码组后一次修改的时间,若是设定成0,用户登录系统后必须修改本身的密码
-m ###最短有效期
-M ###最长有效期
-W ###警告期
-I ###用户非活跃天数
-E ###账号到期日格式 -E "YYYY-MM-DD"
eg:[root@foundation42 Desktop]# watch -n 1 tail -n 5 /etc/shadow ###实时监控密码信息变化
[root@foundation42 Desktop]# chage -d 0 student ###用户登录系统后必须修改本身的密码
[root@foundation42 Desktop]# chage -m 1 student ###最短有效期为1天,至少1天后才能修改密码
[root@foundation42 Desktop]# chage -M 30 student ###最长有效期为30天,必须在30天内修改密码
[root@foundation42 Desktop]# chage -W 2 student ###警告期2天,密码到期的前2天,系统发出警告,提醒修改密码
[root@foundation42 Desktop]# chage -I 1 student ###用户非活跃天数1天,30天以后多给1天,若是还没修改密码,系统直接冻结帐户
[root@foundation42 Desktop]# chage -E "2017-04-21" student ###设定帐户到期格式
7、文件属性的查看
ls -l filename
-|rw-r--r--.|1| root| root| 46 |Oct 1 05:03 |filename
— ————————— — ———— ———— —— ———————————— ————————
1 2 3 4 5 6 7 8
1."-":文件类型
- ###普通文件
d ###目录
c ###字符设备
s ###套接字
p ###管道
b ###快设备
l ###链接
eg:[kiosk@foundation42 Desktop]$ ls -l /etc/passwd
-rw-r--r--. 1 root root 2270 Mar 20 00:45 /etc/passwd ###普通文件
[kiosk@foundation42 Desktop]$ ls -ld /etc/
drwxr-xr-x. 134 root root 8192 Mar 23 09:04 /etc/ ###目录
2."rw-r--r--":文件读写权限
rw-|r--|r--
u g o
u:全部人的权限
g:全部组的权限
o:其余人的权限
3."1":
对文件:文件内容被系统记录的次数
对目录:目录中文件属性的字节数
eg:[kiosk@foundation42 Desktop]$ ls -l /etc/passwd
-rw-r--r--. 1 root root 2270 Mar 20 00:45 /etc/passwd ###文件内容被系统记录1次,1次可删除
[kiosk@foundation42 Desktop]$ ls -ld /etc/
drwxr-xr-x. 134 root root 8192 Mar 23 09:04 /etc/ ###/etc目录中文件属性的字节数
4."root":文件全部人
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件全部人是用户kiosk
5."root":文件全部组
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件全部组是组kiosk
6."46":文件内容的大小
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件是空文件,文件内容大小为0
7."Oct 1 05:03":文件最后一次被修改的时间
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件最后一次修改时间是03-23 10:12
8."filename":文件名字
eg:[kiosk@foundation42 Desktop]$ ls -l file
-rw-rw-r-- 1 kiosk kiosk 0 Mar 23 10:12 file ###文件名称为file
8、文件全部人全部组的管理
chown username file|dir ###更改文件的全部人
chown username:groupname file|dir ###更改全部人全部组
chown -R username dir ###更改目录自己及里面全部内容的全部人
chgrp -R groupname dir ###更改目录自己及里面全部内容的全部组
eg:[root@foundation42 Desktop]# watch -n 1 ls -lR /mnt ###实时监控/mnt中文件和目录的信息变化
[root@foundation42 Desktop]# chown student /mnt/file ###将file文件的全部人更改成student
[root@foundation42 Desktop]# chown student.wheel /mnt/dir ###将dir目录的全部人更改成student,全部组更改成wheel
[root@foundation42 Desktop]# chown student:wheel /mnt/dir ###和上条命令效果相同
[root@foundation42 Desktop]# chown -R student /mnt/dir ###更改dir目录自己及里面全部内容的全部人为student
[root@foundation42 Desktop]# chgrp -R wheel /mnt/dir ###更改dir目录自己及里面全部内容的全部组为wheel
9、文件普通权限
rw-|r--|r--
u g o
u:文件全部人对文件能够读写
g:文件组成员对文件可读
o:其余人对文件可读
u优先匹配,g次优先,o当u,g不匹配时匹配
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权限
eg:[root@foundation42 Desktop]# watch -n 1 ls -lR /mnt ###实时监控/mnt中文件和目录的信息变化
[root@foundation42 Desktop]# chmod u-x /mnt/dir ###dir拥有着student去掉x权限,切换到student用户,没法进入目录
[root@foundation42 Desktop]# chmod g+w /mnt/dir ###dir拥有组wheel添加w权限,wheel组内其余用户拥有在dir目录内添加删除文件的权力
[root@foundation42 Desktop]# chmod u-x,g+w /mnt/dir ###和上两条命令效果相同
[root@foundation42 Desktop]# chmod ugo-r /mnt/dir ###给dir目录的拥有者,用户组和其余人都去掉r权限,没法查看目录中文件的信息
[root@foundation42 Desktop]# chmod ug+x,o-r /mnt/dir ###dir目录的拥有者和用户组添加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
7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---
eg:[root@foundation42 Desktop]# chmod 640 /mnt/file ###file文件的拥有者对其可读可写,全部组对其可读,其余人对其什么也无法干
10、系统默认权限的设定
从系统存在角度来讲,开放权力越大,系统存在乎义越高
从系统安全角度来讲,开放权力越少,系统安全性越高
因此系统设定新建文件或目录会去掉一些权限
设定方式
umask ###查看系统保留权限默认为022
umask 077 ###修改该系统保留权限为077,此设定为临时设定,只当前shell中生效
永久设定方式:
vim /etc/bashrc ###shell,进入编辑
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002 ###普通用户umask
else
umask 077 ###超级用户umask,修改成077
fi
vim /etc/profile ###系统,进入编辑
if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
umask 002 ###普通用户umask
else
umask 077 ###超级用户umask,修改成077
fi
以上两个文件umask设定值必须保持一致
source /etc/bashrc
source /etc/profile
让设定当即生效
ps:修改umask以前,新建文件默认参数为644,拥有者可读可写,全部组和其余人仅可读。修改参数后,变为600,仅拥有者可读可写,全部组和其余人没有任何权限
11、特殊权限
1.suid ###冒险位
只针对二进制可执行文件,
文件内记录的程序产生的进程的全部人为文件全部人
和进程发起人身份无关
设定方式:
chmod u+s file
suid=4
chmod 4xxx file
2.sgid ###强制位
对文件:只针对二进制可执行文件,
任何人运行二进制文件
程序时程序产生的进程的全部组都是文件的全部组
和程序发起人组的身份无关
对目录:当目录有sgid权限后,目录中新建的全部文件的全部组
都自动归属到目录的全部组之中,和文件创建者所在的组无关
设定方式:
chmod g+s file|dir
sgid=2
chmod 2xxx file|dir
3.sticky ###粘制位
t权限:
只针对与目录,当一个目录上有t权限,那么目录中的文件只能被全部人删除
设定方式:
chmod o+t direcotry
t=1
chmod 1777 direcotry
1.新建用户组shengchan,caiwu,jishu
[root@localhost Desktop]# groupadd shengchan
[root@localhost Desktop]# groupadd caiwu
[root@localhost Desktop]# groupadd jishu
2.新建用户要求以下:
*)tom是shengchan组的附加用户
*)harry是caiwu组的附加用户
*)leo是jishu组的附加用户
*)新建admin用户,此用户不属于以上提到的三个部门
[root@localhost Desktop]# useradd -G shengchan tom
[root@localhost Desktop]# useradd -G caiwu harry
[root@localhost Desktop]# useradd -G jishu leo
[root@localhost Desktop]# useradd admin
3.新建目录要求以下:
*)/pub目录为公共存储目录对全部用户可读可写可执行,但用户只能删除属于本身的文件
*)/sc目录为生产部存储目录,只能对生产部门人员可写,而且生产部人员所创建的文件都自动归属到shengchan组中
*)/cw目录为财务部存储目录,只能对财务部人员可写,而且财务部人员所创建的文件都自动归属到caiwu组中
*)admin用户能用touch工具在/sc目录和/cw目录中任意创建文件,但不能删除文件
[root@localhost Desktop]# mkdir /pub
[root@localhost Desktop]# chmod 777 /pub
[root@localhost Desktop]# chmod o+t /pub
ps:上面两条命令能够合为一条[root@localhost Desktop]# chmod 1777 /pub
[root@localhost Desktop]# mkdir /sc
[root@localhost Desktop]# chgrp shengchan /sc
[root@localhost Desktop]# chmod 770 /sc
[root@localhost Desktop]# chmod g+s /sc
ps:上面两条命令能够合为一条[root@localhost Desktop]# chmod 2770 /sc
[root@localhost Desktop]# mkdir /cw
[root@localhost Desktop]# chgrp caiwu /cw
[root@localhost Desktop]# chmod 770 /cw
[root@localhost Desktop]# chmod g+s /cw
ps:上面两条命令能够合为一条[root@localhost Desktop]# chmod 2770 /cw
[root@localhost Desktop]# visudo-->进入编辑状态,添加-->
admin localhost=(root) NOPASSWD: /bin/touch
[root@localhost Desktop]# su - admin
[admin@localhost ~]$ sudo /bin/touch /sc/file
4.设定普通用户新建文件权限为"r--r-----"
[root@localhost Desktop]# vim /etc/profile-->进入编辑状态-->
59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
60 umask 002 ###修改成226
61 else
62 umask 022
63 fi
[root@localhost Desktop]# vim /etc/bashrc-->进入编辑状态-->
70 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
71 umask 002 ###修改成226
72 else
73 umask 022
74 fi
[root@localhost Desktop]# source /etc/profile
[root@localhost Desktop]# source /ect/bashrc
5.设定admin用户能够经过sudo自由创建新用户
[root@localhost Desktop]# visudo-->进入编辑状态,添加-->
admin localhost=(root) NOPASSWD: /usr/sbin/useradd
[root@localhost Desktop]# su - admin
[admin@localhost ~]$ sudo /usr/sbin/useradd xyh