【centos 源码安装mysql】【梦幻郊游源码】【嘉峪关软件源码】sudo源码图解

时间:2024-12-26 14:27:21 来源:运行docker源码 分类:热点

1.Linux/Ubuntu chmod命令详解使用格式和方法
2.Linux系统中的源码sudo命令使用讲解
3.剖析Linux内核源码解读之《配置与编译》

sudo源码图解

Linux/Ubuntu chmod命令详解使用格式和方法

       在 Ubuntu Linux 中用源码文件安装软件时经常都会用到chmod命令来更改文件的权限使其在安装时有执行的权限。由于 Ubuntu Linux 默认不能用root账户来登录所以在用chmod命令来更改文件的图解权限时往往需要结合sudo命令来使用,如果你对sudo命令还不太了解,源码请先看看本站的图解《sudo命令详解》

       chmod

           Linux/Ubuntu系统中文件调用的权限分为三级:文件拥有者(u)、群组(g)、源码其他(o)。图解centos 源码安装mysql用chmod就可以更改文件的源码权限。chmod是图解一个相当灵活的命令,对同一个文件的源码权限的修改可以用多种风格的命令格式来实现。

方式一:

       语法格式: chmod [-vR] mode 文件名

       参数说明:

       mode 权限设置字串,图解格式为[ugoa] [+-=] [rwx]

       u 表示文件的拥有者

       g 表示与此文件拥有者属于一个组群的人

       o 表示其他人

       a 表示包含以上三者即文件拥有者(u)、群组(g)、源码其他(o)

       + 表示增加权限

       - 表示取消权限

       = 表示唯一设置权限

       r 表示有读取的图解权限

       w 表示有写入的权限

       x 表示有执行的权限

       -v 显示权限改变的详细资料

       -R 表示对当前目录下的所有文件和子目录进行相同的权限更改

       例:

       我们要将当前目录下ownlinux这个文件的权限修为所有用户拥有该文件的读取、写入、源码执行的图解权限。在这里就需要结合sudo命令来使用,源码如果你对sudo命令还不太了解,请先看看本站的《sudo命令详解》

       ownlinux@server:/var/www$ sudo chmod a+rwx ownlinux

       [sudo] password for ownlinux: (此时输入你的密码)

       或者使用

           ownlinux@server:/var/www$ sudo chmod ugo+rwx ownlinux

       [sudo] password for ownlinux: (此时输入你的密码)

       命令不一样,但执行后的效果是一样的。

       方式二:

           语法格式: chmod [-vR] [No] 文件名

       参数说明:

       No 三位代表相应权限的数字

       -v 显示权限改变的详细资料

       -R 表示对当前目录下的所有文件和子目录进行相同的权限更改

       可能这种方式对于初学者来说有一定的难度,但这种方法学会后在更改文件权限就变得非常的简单。相信通过我的介绍大家会掌握种方法的:)

       首先了解一下读取(r)、写入(w)、执行(x)相应的数字编号,如下图所示

       如果你记住了上图所示的梦幻郊游源码数字和对应的权限就往下边看

       刚才已经说过了,[No]参数 是三位代表相应权限的数字。从左向右,第一位数学代表文件拥有者(u)的权限、群组(g)的权限、其他(o)的权限。每一个数字就对应该级用户拥有的权限即为rwx相应的数字之和。这样说可能大家不是很明白,我画了一张表帮助大家了解

       如上图可以看出来如果是所有用户拥有该文件的读取、写入、执行的权限就是拥有者(u)的权限(4+2+1=7)群组(g)的权限(4+2+1=7)其他(o)的权限(4+2+1=7即为。注意:如果没有读取的权限则”r”相应的数字编号就为”0″,写入(w)、执行(x)同理。

       例:

       就用刚才方式一的例子,我们要将当前目录下ownlinux这个文件的权限修为所有用户拥有该文件的读取(r)、写入(w)、执行(x)的权限。回顾一下方式一的命令格式。

       ownlinux@server:/var/www$ sudo chmod a+rwx ownlinux

       [sudo] password for ownlinux: (此时输入你的密码)

方式二的命令

       ownlinux@server:/var/www$ sudo chmod ownlinux

       [sudo] password for ownlinux: (此时输入你的密码)

       可以看出使用方式二的命令格式简洁明了

       如果要让当前目录下ownlinux这个文件的权限修为该文件的拥有者(u)有该文件的读取(r)、写入(w)、执行(x)的权限,群组(g)和其他(o)的用户只有读取(r)和执行(x)的权限,运行以下命令:

       ownlinux@server:/var/www$ sudo chmod ownlinux

       [sudo] password for ownlinux: (此时输入你的密码)

       相信通过我的介绍大家都已经对chmod这个命令有一定的了解了吧。我觉得方式二的命令风格一但了解了就很容易掌握,而且方式二的命令风格简单明了。

Linux系统中的sudo命令使用讲解

       “Sudo” 是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的嘉峪关软件源码“权利”,让他们执行一些只有超级用户或其他特许用户才能完成的任务,比如:运行一些像restart,reboot,passwd之类的命令,或者编辑一些系统配置文件这样以来,就不仅减少了root用户的登陆次数和管理时间,也提高了系统安全性。

       sudo是个统管一切的命令。它的字面意思是代表“超级用户才能做!”(super user do!)对Linux系统管理员或高级用户而言,它是必不可少的最重要的命令之一。你可曾有过这样的经历:在终端中试着运行某个命令,结果却遇到“拒绝访问”?这个就是你所需要的命令!但正所谓,权力越大,责任也越大!较之以根用户身份登录,或者使用 su “switch user” 命令,sudo要好得多。请耐心读下去,看看sudo能为你做些什么!

       sudo:它有什么用途?

       那么,sudo实际能做些什么呢?如果你在任何Linux命令的前面加上“sudo”这个前缀,那么它会以提升的权限来运行该命令。执行某些管理任务需要提升的权限。有一天,你可能想运行一台LAMP(Linux Apache MySQL PHP)服务器,lutube视频源码又要手动编辑配置文件。你可能还要重新启动或重置Apache Web服务器或者是其他服务后台程序。你甚至需要提升的权限来关闭或重新计算机。“嘿,谁关闭了这台机子?”

       如果你熟悉Windows,sudo与当你试图处理任何重要操作时,弹出来的Windows用户帐户控制(ACL)对话框非常相似,只是不如后者来得友好。在Windows中,如果你试图执行某项管理任务,对话框就会问你是否想继续执行(“你果真确信想要运行刚才点击的这个程序吗?”)随后执行该任务。在Mac机器上,一个安全对话框会弹出来,要求你输入密码,并点击“确定”。

       而Linux方面显得更有戏剧性。要是没有适当的权限,一些操作会显得相当怪异。你在编辑的那个重要的配置文件可能无法正确保存内容。你安装上去的那个程序可能就是拒绝运行。你已下载、想要编译的那段出色的源代码编译不了。你要是延安wap源码不走运的话,甚至还会看到“拒绝访问”或另一个错误信息。

       sudo是提升权限的最出色、最安全的方法。我们不妨看一下提升权限的另一个方法。作为切换用户命令,“su”会要求你输入根密码,并且给你一个超级用户提示符,以#符号表示。这个#符号意味着“危险!你已作根用户登录上去!”你下达的第一个命令也许顺利执行完毕。但是你一旦忘了,会继续以根用户身份登录。要是打错一个字,就完蛋了!你清除了整个硬驱,而不是清除你下载的那个盗版mp3文件。你的Web服务器和家庭公司统统不见了!如果是sudo,你就得在每一个命令之前输入“sudo”。因而,你没必要记得切回到常规用户模式,那样发生的事故就会更少。

       Suderos文件

       这个文件可谓是sudo的基础。它控制着谁可以使用sudo命令来获得提升的权限。它通常位于/etc/sudoers。想编辑这个文件,最有效最安全的方式就是,使用visudo命令。这个命令会以提升权限启动vi编辑器,那样你就能编辑并保存该文件。它还会给sudoers文件上文件锁,那样别人无法编辑该文件。一旦你完成了编辑工作,它会分析文件,查找有无简单的错误。编辑sudo文件要比仅仅使用任何旧的文本编辑器来得安全得多。

       该文件含有许多参数。你可以指定哪些用户或哪些用户助可以执行哪些命令。我们准备为自己授予访问sudo的权限,为此只要在底部添加:

       username ALL=(ALL) ALL //为用户“username”授予sudo访问权 %wheel ALL=(ALL) ALL //为属于wheel用户组的所有用户授予sudo访问权

       现在指定的用户名就能够使用所有根权限了。你还可以允许某个用户或用户组只对特定服务或服务器拥有sudo访问权,以取代ALL参数,不过那是另一个话题了。

       几个选项

       与任何优秀的命令一样,也有几个很棒的选项可以让sudo处理更多的事务。

       sudo -b会在后台运行命令。这对显示许多实时输出内容的命令来说很有用。

       sudo -s 会运行以提升权限指定的外壳,为你提供#提示符(别忘了退出!)

       sudo su -会让你成为根用户,并装入你那些自定义的用户环境变量。

       有没有现在就用它?

       我们想要运行重要任务时,sudo提供了安全的提升权限。在Ubuntu用户当中,它也许是使用最广泛、功能最强大的命令,因为它已成为该发行版中的首选方法。既然你拥有了这么大的权利,那么在运行命令时务必要做到安全!世上可没有su-undo撤销命令!

       sudo的特点

       sudo扮演的角色注定了它要在安全方面格外谨慎,否则就会导致非法用户攫取root权限。同时,它还要兼顾易用性,让系统管理员能够更有效,更方便地使用它。sudo设计者的宗旨是:给用户尽可能少的权限但仍允许完成他们的工作。所以,sudo 有以下特点:

       # 1. sudo能够限制指定用户在指定主机上运行某些命令。

       # 2. sudo可以提供日志,忠实地记录每个用户使用sudo做了些什么,并且能将日志传到中心主机或者日志服务器。

       # 3. sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。它默认的存放位置是/etc/sudoers。

       # 4.sudo使用时间戳文件来完成类似“检票”的系统。当用户执行sudo并且输入密码后,用户获得了一张默认存活期为5分钟的“入场券”(默认值可以在编译的时候改变)。超时以后,用户必须重新输入密码。

       sudo常用命令

       代码如下:

       sudo -h Help

       列出使用方法,退出。

       代码如下:

       sudo -V Version

       显示版本信息,并退出。

       代码如下:

       sudo -l List

       列出当前用户可以执行的命令。只有在sudoers里 的用户才能使用该选项。

       代码如下:

       sudo -u username|#uid User

       以指定用户的身份执行命令。后 面的用户是除root以外的,可以是用户名,也可以 是#uid。

       代码如下:

       sudo -k Kill

       清除“入场卷”上的时间,下次再使用sudo时要 再输入密码。

       代码如下:

       sudo -K Sure kill

       与-k类似,但是它还要撕毁“入场卷”,也 就是删除时间戳文件。

       代码如下:

       sudo -b command Background

       在后台执行指定的命令。

       代码如下:

       sudo -p prompt command Prompt

       可以更改询问密码的提示语, 其中%u会代换为使用者帐号名称,%h会显示主机名称。 非常人性化的设计。

       代码如下:

       sudo -e file Edit

       不是执行命令,而是修改文件,相当于命 令sudoedit。

剖析Linux内核源码解读之《配置与编译》

       Linux内核的配置与编译过程详解如下:

       配置阶段

       首先,从kernel.org获取内核源代码,如在Ubuntu中,可通过`sudo apt-get source linux-$(uname -r)`获取到,源码存放在`/usr/src/`。配置时,主要依据`arch//configs/`目录下的默认配置文件,使用`cp`命令覆盖`/boot/config`文件。配置命令有多种,如通过`.config`文件进行手动修改,但推荐在编译前进行系统配置。配置时注意保存配置,例如使用`/proc/config.gz`,以备后续需要。

       编译阶段

       内核编译涉及多种镜像类型,如针对ARM的交叉编译,常用命令是特定的。编译过程中,可能会遇到错误,需要针对具体问题进行解决。编译完成后,将模块和firmware(体系无关)分别存入指定文件夹,记得为某些硬件添加对应的firmware文件到`lib/firmware`目录。

       其他内容

       理解vmlinux、vmlinuz(zImage, bzImage, uImage)之间的关系至关重要。vmlinuz是压缩后的内核镜像,zImage和bzImage是vmlinuz的压缩版本,其中zImage在内存低端解压,而bzImage在高端解压。uImage是uBoot专用的,是在zImage基础上加上特定头信息的版本。