linux中的权限
第1章 显示或设置网络相关信息
1.1 ip address 与ifconfig 类似
[root@znix ~]# ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:a8:e4:14 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
inet6 fe80::20c:29ff:fea8:e414/64 scope link
valid_lft forever preferred_lft forever
1.2 显示第一块网卡 ip a s eth0
[root@znix ~]# ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:a8:e4:14 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
inet6 fe80::20c:29ff:fea8:e414/64 scope link
valid_lft forever preferred_lft forever
1.2.1 ip address show eth0
[root@znix ~]# ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:a8:e4:14 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
inet6 fe80::20c:29ff:fea8:e414/64 scope link
valid_lft forever preferred_lft forever
第2章 查找命令的位置
2.1.1 which 命令
which 是根据PATH 变量里的内容来查找。
[root@znix ~]# which awk
/bin/awk
2.1.2 find 命令
"*awk*" 找其中包含的字段。模糊查找。
[root@znix ~]# find / -type f -name "*awk*"
2.1.3 whereis
找出与命令相关的帮助的位置
[root@znix ~]# whereis awk
awk: /bin/awk /usr/bin/awk /usr/libexec/awk /usr/share/awk /usr/share/man/man1/awk.1.gz /usr/share/man/man1p/awk.1p.gz
2.1.4 locate
根据名字找文件 (根据一个表格找,表格需要更新,一般不用)
更新 locate数据库的命令update db
[root@znix ~]# locate oldboy.txt
/data/oldboy.txt
/oldboy/oldboy.txt
/oldboy/20170118/oldboy.txt
/root/oldboy.txt
/root/123/oldboy.txt
/root/123/oldboy.txt-hard
/root/123/oldboy.txt.bak
第3章 查看系统哪些用户在线
w 命令,可以显示谁登陆了,并显示干什么。
[root@znix ~]# w
09:01:01 up 3 days, 10:50, 4 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 24Aug17 7days 0.00s 0.00s -bash
root pts/0 10.0.0.1 Mon14 13:22m 0.05s 0.05s -bash
root pts/1 10.0.0.1 Mon20 0.00s 1.71s 0.00s w
root pts/2 10.0.0.1 Mon20 12:30m 0.00s 0.00s -bash
第4章 系统关机相关命令
4.1 关机
shutdown 10 十分钟后关机
shutdown -h 10 十分钟后关机
shutdown -h now 关机
shutdown -c 取消 关机/重启
halt 关闭系统,不关闭电源
4.2 重启
shutdown -r 10 重启
reboot 重启,没有提示
第5章 快捷键系列
5.1 Linux命令行中
ctrl+d 退出当前用户 logout/exit
ctrl+a 把光标移动到这一行的开头
ctrl+e 把光标移动到这一行的行尾
ctrl+u 剪切 光标所在位置到行首
ctrl+k 剪切 光标所在位置到行尾
ctrl+y 粘贴
ctrl+r 查找历史的命令history
(reverse-i-search)`-F': stat /etc/hosts | awk -F "(" 'NR==4 {print $2}'
ctrl+→ 向右移动光标 移动一个单词的位置
ctrl+← 向左移动光标 移动一个单词的位置
ctrl+s 锁屏
ctrl+q 解锁
5.2 vim/vi中的快捷键
G 把光标移动到这个文件的最后一行
gg 把光标移动到这个文件的第一行
:set nu 显示行号
:set nonu 不显示行号
dd 删除光标所在这一行
dG 删除光标所在位置到行尾
o 光标所在位置的下一行插入空行,并进入编辑模式
第6章 权限基础
6.1 rwx含义
r read 读
w write 写
x execute 执行
r==4 w==2 x==1
rw- r-- r--
文件所有者 所有者属于的组 隔壁老王
6.2 如何找到当前用户对某个文件拥有什么权限
6.2.1 看看你是谁
使用命令id 或whoami 可以查看,还可看命令行中的用户。
[root@znix oldboy]# id
uid=0(root) gid=0(root) groups=0(root)
[root@znix oldboy]# whoami
root
6.2.2 看你跟这个文件什么关系
linux中权限的三种关系主人 陌生人 家人
6.2.3 根据关系找到权限
[root@znix ~]# ls -l /etc/hosts
-rw-r--r--. 2 root root 250 Aug 28 11:31 /etc/hosts
这个文件权限为rw-r--r-- 属于root用户,root用户拥有读写权限。
6.3 如何修改权限
使用chmod命令丢文件或目录的权限进行修改。
chmod ==== change mode
u == user 文件所有者 主人
g ==group 家人
o ==others 陌生人
6.3.1 创建一个文件,默认权限644
[root@znix ~]# touch oldboy.sh
[root@znix ~]# ll oldboy.sh
-rw-r--r-- 1 root root 0 Sep 5 10:54 oldboy.sh
6.3.2 给所有者加上x权限
[root@znix ~]# chmod u+x oldboy.sh
[root@znix ~]# ll oldboy.sh
-rwxr--r-- 1 root root 0 Sep 5 10:54 oldboy.sh
6.3.3 都加上执行权限
chmod +x chmod a+x chmod ugo+x
[root@znix ~]# chmod +x oldboy.sh
[root@znix ~]# ll oldboy.sh
-rwxr-xr-x 1 root root 0 Sep 5 10:54 oldboy.sh
6.3.4 把文件权限设置为755
[root@znix ~]# ll oldboy.sh
-rwxrwxrwx 1 root root 33 Sep 5 11:01 oldboy.sh
[root@znix ~]# chmod 755 oldboy.sh
[root@znix ~]# ll oldboy.sh
-rwxr-xr-x 1 root root 33 Sep 5 11:01 oldboy.sh
6.3.5 更改文件所有者
chown === chang own 修改文件的所有者和用户组
[root@znix ~]# chown oldboy.oldboy oldboy.sh
[root@znix ~]# ll oldboy.sh
-rwxr-xr-x 1 oldboy oldboy 33 Sep 5 11:01 oldboy.sh
6.4 rwx 对与文件或目录的含义
测试文件的rwx含义
6.4.1 测试环境
groupadd incahome
useradd oldboy -g incahome
useradd oldgirl -g incahome
usermod -g incahome oldboy
usermod -g incahome oldgirl
useradd test
id oldboy
id oldgirl
id test
6.4.2 创建文件
mv /oldboy /tmp/oldboy_bak$(date +%F)
mkdir /oldboy -p
echo "echo oldboylinux" >/oldboy/test.sh
chmod +x /oldboy/test.sh
cat /oldboy/test.sh
ls -l /oldboy/test.sh
6.4.3 修改文件所有者
[root@znix oldboy]# chown oldboy.incahome test.sh
[root@znix oldboy]# ll
total 4
-rwxr-xr-x 1 oldboy incahome 17 Sep 5 11:27 test.sh
6.4.4 测试读属性 r
使用root 进行修改权限,让oldboy用户,仅有读权限。
[root@znix oldboy]# chmod u=r test.sh
[root@znix oldboy]# ll test.sh
-r--r-xr-x 1 oldboy incahome 17 Sep 5 11:27 test.sh
可以查看
[oldboy@znix oldboy]$ cat test.sh
echo oldboylinux
不能写入
[oldboy@znix oldboy]$ echo "pwd" >>test.sh
-bash: test.sh: Permission denied 权限不足
不能执行
[oldboy@znix oldboy]$ /oldboy/test.sh
-bash: /oldboy/test.sh: Permission denied
6.4.5 测试文件读 w 权限
[root@znix oldboy]# chmod u=w test.sh
[oldboy@znix oldboy]$ ll test.sh
--w-r-xr-x 1 oldboy incahome 17 Sep 5 11:45 test.sh
不可以看
[oldboy@znix oldboy]$ cat test.sh
cat: test.sh: Permission denied
可以往里写
[oldboy@znix oldboy]$ echo "pwd" >> test.sh
不能执行
[oldboy@znix oldboy]$ /oldboy/test.sh
-bash: /oldboy/test.sh: Permission denied
6.4.6 测试文件执行 x 权限
[root@znix oldboy]# chmod u=x test.sh
[root@znix oldboy]# ll test.sh
---xr-xr-x 1 oldboy incahome 21 Sep 5 11:48 test.sh
x权限对文件单独使用,没有作用
[oldboy@znix oldboy]$ cat test.sh
cat: test.sh: Permission denied
[oldboy@znix oldboy]$ >> test.sh
-bash: test.sh: Permission denied
[oldboy@znix oldboy]$ /oldboy/test.sh
bash: /oldboy/test.sh: Permission denied
6.4.7 对于文件rwx 小结
r 查看文件的内容
w 修改文件的内容 需要r权限的配合
x 执行文件的权限 需要r的权限配合
6.5 测试对于目录的rwx
r 显示目录里的内容 相当于ls
w 对目录里面的内容就行修改 可以在目录中删除,创建文件
x 进入到目录中的权限 cd 是否能查看目录里面的文件属性信息
6.5.1 实验环境
[root@znix oldboy]# tree oldboydir/
oldboydir/
├── 1.txt
├── 2.txt
└── 3.txt
0 directories, 3 files
目录所有者改为oldboy
[root@znix oldboy]# ll
drwxr-xr-x 2 root root 4096 Sep 5 12:10 oldboydir
[root@znix oldboy]# chown oldboy.incahome oldboydir/
[root@znix oldboy]# ll -d oldboydir/
drwxr-xr-x 2 oldboy incahome 4096 Sep 5 12:10 oldboydir/
6.5.2 测试目录的读权限 r
修改目录权限,仅有可读
[root@znix oldboy]# chmod u=r oldboydir/
[root@znix oldboy]# ll -d oldboydir/
dr--r-xr-x 2 oldboy incahome 4096 Sep 5 12:10 oldboydir/
无法进入目录
[oldboy@znix oldboy]$ cd oldboydir/
-bash: cd: oldboydir/: Permission denied
只能查看目录里的文件名,不能查看详细信息。
[oldboy@znix oldboy]$ ll oldboydir/
ls: cannot access oldboydir/3.txt: Permission denied
ls: cannot access oldboydir/2.txt: Permission denied
ls: cannot access oldboydir/1.txt: Permission denied
total 0
-????????? ? ? ? ? ? 1.txt
-????????? ? ? ? ? ? 2.txt
-????????? ? ? ? ? ? 3.txt
6.5.3 测试目录的写权限 w
[root@znix oldboy]# chmod u=w oldboydir/
[root@znix oldboy]# ll -d oldboydir/
d-w-r-xr-x 2 oldboy incahome 4096 Sep 5 12:10 oldboydir/
仅有写权限,不能查看目录里的内容,不能对目录中的文件进行修改。
[oldboy@znix oldboy]$ ls oldboydir/
ls: cannot open directory oldboydir/: Permission denied
[oldboy@znix oldboy]$ \rm -f oldboydir/1.txt
rm: cannot remove `oldboydir/1.txt': Permission denied
6.5.4 测试目录的写执行权限 wx
[root@znix oldboy]# chmod u=wx oldboydir/
[root@znix oldboy]# ll -d oldboydir/
d-wxr-xr-x 2 oldboy incahome 4096 Sep 5 12:10 oldboydir/
不能参看目录里文件的信息,但是可以第一已知文件进行
[oldboy@znix oldboy]$ ls oldboydir/
ls: cannot open directory oldboydir/: Permission denied
[oldboy@znix oldboy]$ \rm -f oldboydir/1.txt
[oldboy@znix oldboy]$
6.5.5 目录的rwx小结
对于目录来说
r 显示目录里的内容 相当于ls 需要x配合
w 对目录里面的内容就行修改 可以在目录中删除,创建文件 需要x权限的配合
x 进入到目录中的权限 cd 是否能查看目录里面的文件属性信息
第7章 rwx 对与文件或目录的含义
7.1 对于文件rwx
r 查看文件的内容
w 修改文件的内容 需要r权限的配合
w权限需要r的配合
只有w权限的时候,文件的所有者可以强制修改(vim),但是原文件内容消失
x 执行文件的权限 需要r的权限配合
7.2 对于目录rwx
r 显示目录里的内容 相当于ls 需要x配合
w 对目录里面的内容就行修改 可以在目录中删除,创建文件 需要x权限的配合
x 进入到目录中的权限 cd 是否能查看目录里面的文件属性信息