1.列出当前目录下的文件ls
2.切换目录cd
3. 删除文件rm -rf
4. 重启系统reboot
5. 关机poweroff
6.复制文件cp
7.移动文件mv
8.内存使用量free
9. 磁盘使用量df -h
10. 输出一段文字echo
11. 创建普通文本touch
12.创建目录mkdir -p
13.改变主机名hostname #注意使用该命令立即生效但是重启系统失效
14.改变主机名hostnamectl set-hostname #注意使用该命令立即生效重启系统仍然有效
15. 当前的工作目录pwd
1> 把正确的结果输出倒文本并且覆盖原文
1>> 把正确的结果输出倒文本步覆盖原文
2> 把错误的结果输出倒文本并且覆盖原文
2>>把错误的结果输出到文本步不覆盖原文
&>把正确和错误的结果输出倒文本并且覆盖原文
&>> 把正确和错误的结果输出倒文本不覆盖原文
绝对路径是从系统根目录开始查找
ls /root/test
相对路径是相对于当前的位置root
ls test #注意:这种方法只能是在test所处的工作目录之下才能进行查看
ls /root/test #注意:你可以再任意的目录下
双引号:解释变量
单引号:所见即所得
反引号:执行命令
规范:如果一句话中需要用到几次引号规范来说外层如果是双引号,里层就应该是单引号
如果外层是单引号,里层就应该是双引号
vim三种工作模式
命令模式
编辑模式
末行模式
命令模式切换至编辑模式:i,a,o
编辑模式切换至命令模式:esc
命令模式切换至末行模式::
末行模式切换至命令模式:esc
删除,剪切: dd
复制:yy
黏贴:p
跳转到首行:1G,gg
跳转到末行:G
删除光标所在行到末尾的行:dG
查找:/ n往下查找,N网上查找
光标跳转到行首:home
光标跳转到行尾:end
显示行号:set nu
不显示行号:set nonu
替换全文内容:1,$ 或者 % s/root/ken/g
保存退出:wq
强制退出:q!
崩溃缓存文件实现了在系统意外宕机的情况下保证了文件的完整性
崩溃文件的产生:
1.两人同时编辑该文本
2.系统意外宕机
崩溃缓存文件的处理:
xshell
/etc/passwd 详解
root:x:0:0:root:/root:/bin/bash
root 用户名
x 密码位用x进行占位
0 UID 身份证 唯一标识该用户
0 GID 组身份证
root 描述信息
/root 指明家目录
/bin/bash shell类型
常用shell类型:
1./bin/bash 可登陆系统
2. /sbin/nolgin 不可登陆系统
linux中的用户类别以及UID的划分
三类用户:
超级管理员root 0
系统用户 1-999 #注意系统用户一般不让他登录系统,而且没有家目录
普通用户 1000+
作用:创建用户
常用选项:
-u 指定uid
-g 指定gid
-s 指定shell类型
-c 描述信息
-r 创建系统用户
例子1:创建用户ken
[root@ken2 ~]# useradd kenken
[root@ken2 ~]# tail -1 /etc/passwd
kenken:x:1001:1001::/home/kenken:/bin/bash
例子2:创建用户的时候添加描述信息
[root@ken2 ~]# useradd -c “this is for test linux” test
[root@ken2 ~]# tail -1 /etc/passwd
test:x:1002:1002:this is for test linux:/home/test:/bin/bash
例子3:指定创建的用户UID为1005
[root@ken2 ~]# useradd -u 1005 test1
[root@ken2 ~]# tail -1 /etc/passwd
test1:x:1005:1005::/home/test1:/bin/bash
例子4:指定gid为1005
[root@ken2 ~]# useradd -g 1005 test2
[root@ken2 ~]# tail -1 /etc/passwd
test2:x:1006:1005::/home/test2:/bin/bash
例子5:指定shell类型为/sbin/nologin
[root@ken2 ~]# useradd -s /sbin/nologin test4
[root@ken2 ~]# tail -1 /etc/passwd
test4:x:1007:1007::/home/test4:/sbin/nologin
例子6:创建系统用户
[root@ken2 ~]# useradd -r -s /sbin/nolgin test7
面试题:系统用户是不可以登录linux系统的吗?
系统用户是可以登录linux系统的,因为在/etc/default/useradd下已经定义了我们的shell类型为/bin/bash,也就是说创建的每个用户如果没有特别指定shell类型的话都会默认为./bin/bash.都可登录系统
但是为了系统的安全,我们通常情况下需要设置系统用户不可登录系统。
练习题:
1.创建用户你的名字
useradd ken
2.创建一个用户指定uid为1010
useradd -u 1010 test
3.创建一个系统用户而且不可登录系统
useradd -r -s /sbin/nolgin test1
4. 创建一个普通用户并且添加描述信息test for linux
useradd -c “test for linux” test2
作用:查看用户信息,判定用户是否存在
-u 仅仅查看uid
-g 仅仅查看主组id
-G 仅仅查看附加组
例子1:
[root@ken2 ~]# id ken
uid=1000(ken) gid=1000(ken) groups=1000(ken)
作用:swich user 切换用户
例子1:切换至用户ken
[root@ken2 ~]# su – ken
Last login: Sat Jun 22 17:33:15 CST 2019 from 192.168.163.1 on pts/1
[ken@ken2 ~]$
退出当前登录用户:
[ken@ken2 ~]$ exit
注意:1.在切换用户的时候需要加上-进项环境变量的整体切换
2.切换用户的时候该用户必须为可登录系统
例子2:尝试登录系统用户test1
[root@ken2 ~]# su – test7
Last login: Sat Jun 22 17:59:29 CST 2019 on pts/0
su: warning: cannot change directory to /home/test7: No such file or directory
su: failed to execute /sbin/nolgin: No such file or directory
作用:user modify 修改用户信息
-u 修改uid
-g 修改主组
-s 修改shell登录类型
-l 修改用户名
例子1:更改test7系统用户可登录系统
[root@ken2 ~]# usermod -s /bin/bash test7
[root@ken2 ~]# tail -1 /etc/passwd
test7:x:997:995::/home/test7:/bin/bash
[root@ken2 ~]# su – test7
Last login: Sat Jun 22 18:30:27 CST 2019 on pts/0
su: warning: cannot change directory to /home/test7: No such file or directory
-bash-4.2$ ls
ls: cannot open directory .: Permission denied
-bash-4.2$
创建用户家目录
[root@ken2 ~]# mkdir /home/test7
[root@ken2 ~]# cp /etc/skel/.bash* /home/test7
[root@ken2 ~]# su – test7
Last login: Sat Jun 22 18:33:02 CST 2019 on pts/0
[test7@ken2 ~]$ exit
logout
例子2:更改用户test7的uid为1009
[root@ken2 ~]# usermod -u 1009 test7
[root@ken2 ~]# id test7
uid=1009(test7) gid=995(test7) groups=995(test7)
例子3:更改用户test7的主组gid为1005
[root@ken2 ~]# usermod -g 1005 test7
[root@ken2 ~]# id test7
uid=1009(test7) gid=1005(test1) groups=1005(test1)
例子4:把test7用户更改为test8
[root@ken2 ~]# usermod -l test8 test7
[root@ken2 ~]# tail -1 /etc/passwd
test8:x:1009:1005::/home/test7:/bin/bash
用户切换问题:
1.root切换到其他用户无需密码
2.普通用户切换至root需要密码
3.普通用户切换到其他普通用户需要面
4.这种情况可以不输入密码:
比如你之前登录ken用户,现在切换到了Ken1用户,只需要输入exit即可退回到ken用户
作用:给用户设置密码
常用选项:
-l: lock锁定用户
-u: unlock 解锁用户
-d: delete 删除密码
-e: expire 用户密码过期
例子1:给ken用户设置密码
[root@ken2 ~]# passwd ken1
Changing password for user ken1.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
例子2:锁定用户ken
[root@ken2 ~]# passwd -l ken
Locking password for user ken.
passwd: Success
[root@ken2 ~]# su – ken1
Last login: Sat Jun 22 18:47:40 CST 2019 on pts/0
[ken1@ken2 ~]$ su – ken
Password:
su: Authentication failure
例子3:解锁用户ken
[root@ken2 ~]# passwd -u ken
Unlocking password for user ken.
passwd: Success
[root@ken2 ~]# su – ken1
Last login: Sat Jun 22 18:48:43 CST 2019 on pts/0
[ken1@ken2 ~]$ su – ken
Password:
Last login: Sat Jun 22 18:47:49 CST 2019 on pts/0
Last failed login: Sat Jun 22 18:48:52 CST 2019 on pts/0
There was 1 failed login attempt since the last successful login.
[ken@ken2 ~]$
例子4:让ken用户密码过期
[root@ken2 ~]# passwd -e ken
Expiring password for user ken.
passwd: Success
例子5:删除用户密码
[root@ken2 ~]# passwd -d ken
Removing password for user ken.
passwd: Success
[root@ken2 ~]# su – ken1
Last login: Sat Jun 22 18:52:53 CST 2019 on pts/0
[ken1@ken2 ~]$ su – ken
Last login: Sat Jun 22 18:55:04 CST 2019 on pts/0
[ken@ken2 ~]$
作用:创建组
例子1:创建组
[root@ken2 ~]# groupadd ken8
[root@ken2 ~]# tail -1 /etc/group
ken8:x:1011:
注意:在使用useradd和usermod指定组的时候,该组必须存在!
[root@ken2 ~]# usermod -g ken8 test8
[root@ken2 ~]# id test8
uid=1009(test8) gid=1011(ken8) groups=1011(ken8)
[root@ken2 ~]# usermod -g ken9 test8
usermod: group ‘ken9’ does not exist
1. 创建用户java,uid 1000 基本组是gp001 附加组 gp002 gp003
[root@ken ~] # useradd -u 1000 -g gp001 -G gp002,gp003 java
2. 修改用户java,
将名称修改为python,
将uid修改为 2000,
修改主组是cats,
shell类型改为 /sbin/nologin
让该用户在10月1号到期
[root@ken ~]# usermod -l python -u 2000 -g cats -s /sbin/nologin -e 10/01 java
linux系统密码破解
方法一:删除/etc/shadow文件中加密的密码
方法二:bios修改
方法三:直接进入救援模式修改
用户管理相关的命令
useradd 创建用户
-u 指定uid
-g 指定主组id
-G 指定附加组id #主组只能有一个,附加组可以有多个,用户共享组权限
-s 指定shell类型 可登陆:/bin/bash 不可登陆:/sbin/nologin
-r 创建系统用户 #系统用户一般设置为不可登陆系统,且系统用户无家目录
usermod 修改用户的相关信息
-u 指定uid
-g 指定主组id
-G 指定附加组id #主组只能有一个,附加组可以有多个,用户共享组权限
-s 指定shell类型 可登陆:/bin/bash 不可登陆:/sbin/nologin
-r 创建系统用户 #系统用户一般设置为不可登陆系统,且系统用户无家目录
-l 修改用户名
userdel 删除用户
-r 删除用户的时候连带着用户家目录一起删掉
例子1:删除用户test
[root@ken2 ~]# userdel test
[root@ken2 ~]# id test
id: test: no such user
[root@ken2 ~]# ls /home
java ken1 test test2 test7
ken kenken test1 test4
例子2:删除用户的时候删除用户家目录
[root@ken2 ~]# userdel -r test2
[root@ken2 ~]# id test2
id: test2: no such user
[root@ken2 ~]# ls /home
java ken1 test test4
ken kenken test1 test7
passwd 修改用户密码
-l lock锁定用户密码
-u unlock解锁用户密码
-d delete 删除用户密码
-e expire 使用户密码过期
echo “密码” | passwd –stdin 用户名
例子1:修改ken用户密码
[root@ken2 ~]# echo “123” | passwd –stdin ken
Changing password for user ken.
passwd: all authentication tokens updated successfully.
id 查看用户相关信息
su 切换用户 su – root
三种权限:
读 写 执行
r w x
读写执行权限对于目录来说表示的含义:
读权限:对于目录来说读权限表示用户可以查看目录下有哪些文件ls
写权限:对于目录来说写权限表示用户可以在目录写进行创建文件,删除文件,移动文件,复制文件rm,mv,cp,touch
执行权限:对于目录来说执行权限表示可以进行目录切换cd
读写执行权限对于文件来说表示的含义:
读权限:表示用户可以查看文件内容cat
写权限:表示用户可以编辑文件echo ,vim
执行权限:表示用户可以执行该文本 #执行权限一般是给二进制可执行命令或者脚本的
在linux系统中一切皆文件!
属主:谁创建的这个文件谁就是属主
属组:在用户创建该文件的时候就是和属主的属组保持一致
#注意:属主和属组都是可以更改的
其他人:既不是属主也没再属组中
权限的介绍:
怎么查看权限那?
ls -l
[root@ken2 ~]# ls -l
-rw-r–r-x 1 root root 0 Jun 21 16:53 test1
– 文件类型
属主权限:
r read读权限
w write写权限
– 没有执行权限
属组权限:
r 属组里面的用户有读权限
– 属组里面的用户没有写权限
– 属组里面的用户没有执行权限
其他人权限:
r 其他人有读权限
– 其他人没有写权限
x 其他人拥有执行权限
权限设置
chmod
作用:更改权限
选项:
-R 级联更改
三类权限:
r
w
x
三类人:
u —->表示属主
g —->表示属组
o —> 其他人
a —>all表示属主属组其他人
在练习的时候去/tmp目录下:
例子1:给test文件赋予读写权限
[root@ken2 tmp]# ll
total 0
-rw-r–r– 1 root root 0 Jun 22 22:42 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
[root@ken2 tmp]# su – ken
Last login: Sat Jun 22 22:40:39 CST 2019 on pts/1
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ echo “123” >> test #现在是显示被拒绝
-bash: test: Permission denied
给test文件增加写权限
方法一:
[root@ken2 tmp]# chmod o+w test
[root@ken2 tmp]# ll
total 0
-rw-r–rw- 1 root root 0 Jun 22 22:42 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
[root@ken2 tmp]# ll
total 0
-rw-r–rw- 1 root root 0 Jun 22 22:42 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
[root@ken2 tmp]# su – ken
Last login: Sat Jun 22 22:42:55 CST 2019 on pts/1
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ echo “123” >> test
方法二:
[root@ken2 tmp]# chmod o=rw test
[root@ken2 tmp]# ll
total 4
-rw-r–rw- 1 root root 4 Jun 22 22:44 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
[root@ken2 tmp]# su – ken
Last login: Sat Jun 22 22:44:19 CST 2019 on pts/1
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ echo “123” >> test
[ken@ken2 tmp]$ cat test
123
123
例子2:去掉w权限
方法一:
[root@ken2 tmp]# chmod o-w test
[root@ken2 tmp]# ll
total 4
-rw-r–r– 1 root root 8 Jun 22 22:45 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
方法二:
[root@ken2 tmp]# chmod o=r test
[root@ken2 tmp]# ll
total 4
-rw-r–r– 1 root root 8 Jun 22 22:45 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
例子4:去掉test文件的读权限
[root@ken2 tmp]# chmod o-r test
[root@ken2 tmp]# ll
total 4
-rw-r—– 1 root root 8 Jun 22 22:45 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
进行验证:
[root@ken2 tmp]# su – ken
Last login: Sat Jun 22 22:45:24 CST 2019 on pts/1
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ ls
test vmware-root
[ken@ken2 tmp]$ cat test
cat: test: Permission denied
例子5:把ken用户添加进root组获取test文件的读权限
[root@ken2 tmp]# usermod -G root ken
[root@ken2 tmp]# id ken
uid=1000(ken) gid=1000(ken) groups=1000(ken),0(root)
[root@ken2 tmp]# su – ken
Last login: Sat Jun 22 22:50:04 CST 2019 on pts/1
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ cat test
123
123
例子7:给所有的用户加执行权限
方法一:
[root@ken2 tmp]# chmod +x test
[root@ken2 tmp]# ll
total 4
-rwxr-x–x 1 root root 8 Jun 22 22:45 test
方法二:
[root@ken2 tmp]# chmod a+x test
[root@ken2 tmp]# ll
total 4
-rwxr-x–x 1 root root 8 Jun 22 22:45 test
例子9:给所有的用户添加读权限
方法一:
[root@ken2 tmp]# chmod +r test
[root@ken2 tmp]# ll
total 4
-r-xr-xr-x 1 root root 8 Jun 22 22:45 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
方法二:
[root@ken2 tmp]# chmod a+r test
[root@ken2 tmp]# ll
total 4
-r-xr-xr-x 1 root root 8 Jun 22 22:45 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
例子10:给所有的用户添加写权限
[root@ken2 tmp]# chmod a+w test
[root@ken2 tmp]# ll
total 4
-rwxrwxrwx 1 root root 8 Jun 22 22:45 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
例子11:给test文件属主拥有读写权限,其他人有读权限
[root@ken2 tmp]# chmod u=rw,o=r test
[root@ken2 tmp]# ll
total 4
-rw-rwxr– 1 root root 8 Jun 22 22:45 test
drwx—— 2 root root 6 Jun 19 23:00 vmware-root
用数字表示权限
r –>4
w –>2
x –>1
777 表示含义所有人拥有读写执行权限
600 表示只有属组拥有读写权限
644 属主拥有读写权限,属组以及其他人只拥有读权限
例子1:属主拥有读写权限,属组拥有读权限,其他人仅拥有执行权限
[root@ken2 tmp]# chmod 641 test
[root@ken2 tmp]# ll
total 4
-rw-r—-x 1 root root 8 Jun 22 22:45 test
例子2:属主拥有读写执行权限,属组以及其他人拥有读写权限
[root@ken2 tmp]# chmod 766 test
[root@ken2 tmp]# ll
total 4
-rwxrw-rw- 1 root root 8 Jun 22 22:45 test
例子3:属主拥有读写权限,属组以及其他人仅拥有执行权限
[root@ken2 tmp]# chmod 611 test
[root@ken2 tmp]# ll
total 4
-rw—x–x 1 root root 8 Jun 22 22:45 test
常用到的权限:
777
664 #文本创键时默认的权限
600
000
755 #目录创建时默认权限
文本创建时的初始权限为666,但是需要减去umask值022,644
目录创建时的权限为777,但是需要减去umask值022,755
验证目录的读写执行权限
执行权限:
例子1:减去目录其他人的执行权限并验证其他人是否还可以切换进该目录
[root@ken2 ~]# ls -ld /ken
drwxr-x— 2 root root 6 Jun 22 23:31 /ken
[root@ken2 ~]# su – ken
Last login: Sat Jun 22 23:08:04 CST 2019 on pts/1
[ken@ken2 ~]$ cd /ken #已经显示被拒绝
-bash: cd: /ken: Permission denied
给/ken增加执行权限
[root@ken2 ~]# chmod o+x /ken
[root@ken2 ~]# ll /ken
total 0
[root@ken2 ~]# ll /ken -ld
drwxr-x–x 2 root root 6 Jun 22 23:31 /ken
[root@ken2 ~]# su – ken
Last login: Sat Jun 22 23:34:34 CST 2019 on pts/1
[ken@ken2 ~]$ cd /ken
[ken@ken2 ken]$
例子2:验证下用户是否可以在/ken目录下创建文件
[ken@ken2 ken]$ touch test
touch: cannot touch ‘test’: Permission denied
[root@ken2 ~]# chmod o+w /ken
[root@ken2 ~]# ll
total 16
-rw——-. 1 root root 1246 Apr 4 06:53 anaconda-ks.cfg
-rw-r–r– 1 root root 3392 Jun 22 22:15 passwd
-rw-r–r– 1 root root 4 Jun 22 17:33 test
-rw-r–r– 1 root root 0 Jun 21 16:53 test1
-rw-r–r– 1 root root 196 Jun 22 22:15 useradd.sh
[root@ken2 ~]# ls -ld /ken
drwxr-x-wx 2 root root 6 Jun 22 23:31 /ken
[root@ken2 ~]# su – ken
Last login: Sat Jun 22 23:36:02 CST 2019 on pts/1
[ken@ken2 ~]$ touch /ken/test
[ken@ken2 ~]$
例子3:验证用户是否就可以查看该目录下的文件
[ken@ken2 ~]$ ls /ken
ls: cannot open directory /ken: Permission denied
[root@ken2 ~]# chmod o+r /ken
[root@ken2 ~]# ls -ld /ken
drwxr-xrwx 2 root root 18 Jun 22 23:38 /ken
[root@ken2 ~]# su – ken
Last login: Sat Jun 22 23:39:32 CST 2019 on pts/1
[ken@ken2 ~]$ ls /ken
test
-R选项:
例子1:给/ken目录下的所有及其/ken目录本身添加777权限
[root@ken2 ~]# ls /ken -l
total 0
-rw-rw-r– 1 ken ken 0 Jun 22 23:38 test
[root@ken2 ~]# chmod 777 /ken #如果在更改权限的时候对象是目录的话,如果不加-R选项仅仅只对目录本身做权限的更改
[root@ken2 ~]# ls /ken -l
total 0
-rw-rw-r– 1 ken ken 0 Jun 22 23:38 test
[root@ken2 ~]# ls -ld /ken
drwxrwxrwx 2 root root 18 Jun 22 23:38 /ken
[root@ken2 ~]# chmod -R 777 /ken
[root@ken2 ~]# ls -ld /ken
drwxrwxrwx 2 root root 18 Jun 22 23:38 /ken
[root@ken2 ~]# ls -l /ken #发现目录下的所有文件都已经更改
total 0
-rwxrwxrwx 1 ken ken 0 Jun 22 23:38 test
chown
作用:更改属主以及属组
-R:级联更改
例子1:更改test文件属主为ken
[root@ken2 tmp]# chown ken test
[root@ken2 tmp]# ll
total 4
drwxr-xr-x 2 root root 6 Jun 22 23:26 ken
-rw—x–x 1 ken root 8 Jun 22 22:45 test
例子2:更改属组为ken
方法一
[root@ken2 tmp]# chown :ken test
方法二
[root@ken2 tmp]# chown .ken test
方法三
[root@ken2 tmp]# chown root.ken test
方法四
[root@ken2 tmp]# chown root:ken test
更改属主属组的几种方法:
chown ken test
chown ken:root test
chown ken.root test
chown ken: test #表示的含义同时更改属主和属组为ken
chown ken. test
chown :ken test #只更改属组
chown .ken test
SUID
SGID
SBIT
SUID: 给二进制可执行命令设置,效果就是用户在执行该命令的时候使用属主权限相当于在使用root用户执行该命令。注意:SUID不可以设置在目录上面
例子1:让其他让人可以查看/etc/shadow文件
[root@ken2 tmp]# su – ken
Last login: Sat Jun 22 23:50:38 CST 2019 on pts/1
[ken@ken2 ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[root@ken2 tmp]# chmod u+s /usr/bin/cat
SGID: 可以设置在目录上面,也可以设置在命令上面,设置在命令上面和SUID效果一样
设置在目录上面效果:创建的文件会自动继承该目录的属组
例子1:给目录/ken添加SGID权限
[root@ken2 ~]# chmod -R g+s /ken #级联更改
[ken@ken2 ken]$ touch test1
[ken@ken2 ken]$ ll
total 0
-rwxrwsrwx 1 ken ken 0 Jun 23 00:18 test
-rw-rw-r– 1 ken root 0 Jun 23 00:18 test1
SBIT:作用是给目录设置,该目录下的文件只能属主进行删除修改等操作,其他人是没有权限去更改其他人的文件的
[root@ken2 ~]# chmod -R o-t /tmp #去掉SBIT权限
[root@ken2 ~]#
[root@ken2 ~]#
[root@ken2 ~]#
[root@ken2 ~]# su – ken1
Last login: Sun Jun 23 00:22:13 CST 2019 on pts/1
[ken1@ken2 ~]$
[ken1@ken2 ~]$ cd /tmp
[ken1@ken2 tmp]$ ls
ken kenken test test1 vmware-root
[ken1@ken2 tmp]$ rm -rf kenken
[ken1@ken2 tmp]$ ls
ken test test1 vmware-root
怎么添加SBIT权限?
[root@ken2 ~]# chmod o+t /tmp
[root@ken2 ~]# ls -ld /tmp
drwxrwxrwt. 9 root root 169 Jun 23 00:23 /tmp
ACL权限
作用:可以对特定的用户进行特定的管控
例子1:实现对ken用户管控,只允许该用户对test1文件进行读操作,不可以写操作
设置:
[root@ken2 tmp]# setfacl -m u:ken:r test1
查看acl权限:
[root@ken2 tmp]# getfacl test1
# file: test1
# owner: root
# group: root
user::rw-
user:ken:r–
group::r–
mask::r–
other::rw-
验证:
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ cat test1
123
[ken@ken2 tmp]$ echo “123” >> test1
-bash: test1: Permission denied
去掉acl权限:
[root@ken2 tmp]# setfacl -b test1 #-b去掉所有的acl权限
[root@ken2 tmp]# getfacl test1
# file: test1
# owner: root
# group: root
user::rw-
group::r–
other::rw-
[root@ken2 tmp]# su – ken
Last login: Sun Jun 23 00:29:10 CST 2019 on pts/1
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ echo “123” >> test1
[ken@ken2 tmp]$
[ken@ken2 tmp]$ cat test1
123
123
[ken@ken2 tmp]$