云计算百科
云计算领域专业知识百科平台

Linux——基础指令(下)

 💁‍♂️个人主页:进击的荆棘

👇作者其它专栏:

《数据结构与算法》《算法》《C++起始之路》《Linux》


目录

1.Linux背景

2.使用XShell 远程登录Linux

3.Linux下基本指令

4.Linux权限的问题


4.Linux权限的问题

4.1Linux下的两种用户

●超级用户:可以在Linux系统下做任何事情,不受限制

●普通用户:在Linux下做有限的事情

●超级用户的命令提示符是'#',普通用户的命令提示符是'$'

命令:su [用户名]

功能:切换用户

例如,要从root用户切换到普通用户user,则使用su user即可

要从普通用户user切换到root用户,则使用su root(root可以省略),此时系统会提示输入root用户的密码。

4.2Linux权限管理

4.2.1文件访问者的分类

●文件和文件目录的所有者:u—User

●文件和文件目录的所有者所在的组的用户:g—Group

●其它用户:o—Others

4.2.2文件类型和访问权限(事物属性)

●文件类型:

        ▢ d:文件夹

        ▢ -:普通文件

        ▢ l:软链接(类似Windows的快捷方式)

        ▢ b:块设备文件(例如硬盘、光驱等)

        ▢ p:管道文件

        ▢ c:字符设备文件(例如屏幕等串口设备)

        ▢ s:套接口文件

●基本权限:

        ▢读(r/-):Read如文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

        ▢写(w/-):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

        ▢执行(x/-):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

        ▢'-'表示不具有该权限

4.2.3文件权限的表示方式

●字符表示方法

●8进制数值表示方法

4.2.4文件访问权限的相关设置方法

4.2.4.1chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项:

●R -递归修改目录文件的权限

●说明:只有文件的拥有者和root才可以改变文文件的权限

chmod命令权限值的格式:

●用户表示符+/-=权限字符

        ▢ +:向权限范围增加权限代号所表示的权限

        ▢ -:向权限范围取消权限代号所表示的权限

        ▢ =:向权限范围赋予权限代号所表示的权限

        ▢ 用户符号:

                ▨ u:拥有者

                ▨ g:拥有者同组用

                ▨ o:其它用户

                ▨ a:所有用户

        ▢例如:

                ▨chmod u+w /home/abc.txt

                ▨chmod o-x /home/abc.txt

                ▨chmod a=x /home/abc.txt

●三位8进制数字

        ▢例如:

                ▨chmod 664 /home/abc.txt

                ▨chmod 640 /home/abc.txt

4.2.4.2chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名

例如:

●chown user1 f1.txt

●chown -R user1 filegroup1

4.2.4.3chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

常用选项:-R 递归修改文件或目录的所属组

例如:chgrp users /abc/f2

4.2.4.4umask

功能:

●查看或修改文件掩码

●新建文件默认权限为0666

●新建目录默认权限为0777

●但实际上创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建出来的权限为:mask&(~umask)

格式:umask权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

例如:

●umask        //查看

●umask 044        //设置

4.2.5file指令

功能说明:辨识文件类型

语法:file [选项] 文件或目录…

常用选项:

●-c:详细显示指令执行过程,便于排错或分析程序执行的情形。

●-z:尝试去解读压缩文件的内容。

使用sudo分配权限

(1)修改/etc/sudoers文件分配文件

# chmod 740 /etc/sudoers

# vim /etc/sudoers

格式:接受权限的用户登录的主机=(执行命令的用户)命令

(2)使用sudo调用授权的命令

$ sudo -u 用户名 命令

例如:

$ sudo -u root /usr/sbin/useradd u2

4.2.6目录的权限

●可执行权限:若目录没有可执行权限,则无法cd到目录中

●可读权限:若目录没有可读权限,则无法用ls等命令查看目录中的文件内容

●可写权限:若目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件

也就是说只要用户具有目录的写权限,用户就可以删除目录中的文件,而不论这个用户是否有这个文件的写权限。

貌似不太科学,张三创建的文件,为什么可以被李四删除?采用如下过程验证

[root@VM-0-6-centos usr]# chmod 0777 /home
[root@VM-0-6-centos usr]# ls /home -ld
drwxrwxrwx. 4 root root 4096 Jul 13 21:40 /home
[root@VM-0-6-centos usr]# touch /home/root.c
[root@VM-0-6-centos usr]# ls -l /home
total 8
drwx—— 2 lighthouse lighthouse 4096 Mar 20 22:53 lighthouse
-rw-r–r– 1 root root 0 Jul 16 00:24 root.c
drwx—— 5 sjx sjx 4096 Jul 15 20:34 sjx
[root@VM-0-6-centos usr]# su sjx
[sjx@VM-0-6-centos usr]$ rm /home/root.c
rm: remove write-protected regular empty file ‘/home/root.c’? y
[sjx@VM-0-6-centos usr]$ ll /home
total 8
drwx—— 2 lighthouse lighthouse 4096 Mar 20 22:53 lighthouse
drwx—— 5 sjx sjx 4096 Jul 15 20:34 sjx

为了解决这个不科学的问题,Linux引入了粘滞位的概念。

4.2.7粘滞位

[root@VM-0-6-centos /]# chmod +t /home //加上粘滞位
[root@VM-0-6-centos /]# ls -ld /home
drwxrwxrwt. 4 root root 4096 Jul 16 00:25 /home
[root@VM-0-6-centos /]# su sjx
[root@VM-0-6-centos /]# su sjx
[sjx@VM-0-6-centos /]$ rm /home/my.txt //sjx不能删除别人的文件
rm: remove write-protected regular empty file ‘/home/my.txt’? y
rm: cannot remove ‘/home/my.txt’: Operation not permitted

当一个目录被设置位“粘滞位”(用chmod+t),则该目录下的文件只能由

1.超级管理员

2.该目录的所有者删除

3.该文件的所有者删除

4.3关于权限的总结

●目录的可执行权限是表示你可否在目录下执行命令

●若目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录,即使目录仍然有-r读权限

●而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限

●所有在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档

赞(0)
未经允许不得转载:网硕互联帮助中心 » Linux——基础指令(下)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!