Linux OS 学习笔记(1)


1. roothtml


1)由普通用户进入rootnode

首先,要容许 su 到 root,在当前用户(系统安装时创建的用户及密码)终端输入:sudo passwdlinux

me@tipfoo:~$ sudo passwd 
 
Password: <--- 输入安装时那个用户的密码 (输入时屏幕不会显示密码)
 
Enter new UNIX password: <--- 新的Root用户密码 
 
Retype new UNIX password: <--- 重复新的Root用户密码 
 
passwd:已成功更新密码
 
其次,要切换root,使用su命令

2)退出root权限:
终端输入:exit
  终端输入:su - username

3)关闭root登陆算法

修改以下文件:vim

$vim /etc/sudoers/

赋予某个用户root权限。如:用户sysadmin。确保在编辑上述文件时使用的用户是系统已有的用户。找到下面这行:安全

root ALL=(ALL) ALL

增长一行:bash

root ALL=(ALL) ALL
sysadmin ALL=(ALL) ALL

关闭经过SSH直接访问root,须要再次打开sshd_config,找到下面这行:服务器

#PermitRootLogin yes

更改成:网络

PermitRootLogin no

而后保存文件,重启sshd守护进程使改动生效:ssh

sudo /etc/init.d/sshd restart

 


 
2. linux 里设置环境变量的方法

  通常来讲,配置交叉编译工具链的时候须要指定编译工具的路径,此时就须要设置环境变量。 “/bin”、“/sbin”、“ /usr/bin”、“/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中了,若是可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(若是须要参数),回车便可。 

 1)export命令:
#export $NODE_PATH=/opt/node-v7.8.0-linux-x86/lib/node_modules

可用命令export查看是否设置成功:

...

declare -x PATH="/opt/node-v7.8.0-linux-x86/lib/node_modules"

export的效力仅及于该次登录操做。

  命令 export $PATH="路径”(或“PATH=$PATH:路径”) ($PATH为环境变量名,如DVSDK;调用时用$DVSDK)能够把这个路径加入环境变量,可是退出这个命令行就失效了。要想永久生效,须要把这行添加到环境变量文件里。有两个文件可选:“/etc/profile”和用户主目录下的“.bash_profile”,“/etc/profile”对系统里全部用户都有效,用户主目录下的“.bash_profile”只对这个用户有效。与DOS/Window不一样,UNIX类系统环境变量中路径名用冒号分隔,不是分号。

2)修改profile文件:
#vi /etc/profile
在里面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

3) 修改.bashrc文件:
# vi /root/.bashrc
在里面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"

后两种方法通常须要从新注销系统才能生效,最后能够经过echo命令测试一下:
# echo $PATH


3. Linux下源码的安装 


Linux下源码的安装通常由3个步骤组成:配置(configure)、编译(make)、安装(make install).

1)configure

Configure 是一个脚本,可经过命令查看具体信息:

./configure -help
--prefix=PREFIX      install architecture-independent files in PREFIX
                [/usr/local]
--exec-prefix=EPREFIX  install architecture-dependent files in EPREFIX
                [same as prefix]

其余的参数无论,重点关注上述--prefix参数。使用这个参数可将软件安装到--prefix参数后指定的路径中,方便管理和移植.

 

2)编译

make

3)安装

make install

以上操做都是在源文件目录里进行.

 


4. echo命令


看了别人的介绍已经十分详细,传送门以下:

1)echo基础输出:http://www.zsythink.net/archives/96http://www.cnblogs.com/ZhangShuo/articles/1829589.html

2)echo输出带格式字符:http://www.zsythink.net/archives/111


5. ssh_config和sshd_config配置文件


   SSH(Secure Shell)是专为远程登陆会话和其余网络服务提供安全性的协议。如今远程管理linux系统基本上都要使用到ssh,缘由很简单:telnet、FTP等传输方式是‍以明文传送用户认证信息,本质上是不安全的,存在被网络窃听的危险。利用SSH协议能够有效防止远程管理过程当中的信息泄露问题,透过SSH能够对全部传输的数据进行加密,也可以防止DNS欺骗和IP欺骗。ssh_config和sshd_config都是ssh服务器的配置文件,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。

1)ssh_config文件参数

# Site-wide defaults for various options
带“#”表示该句为注释不起做,该句不属于配置文件原文,意在说明下面选项均为系统初始默认的选项。说明一下,实际配置文件中也有不少选项前面加有“#”注释,虽然表示不起做用,实际上是说明此为系统默认的初始化设置。
Host *
"Host"只对匹配后面字串的计算机有效,“*”表示全部的计算机。从该项格式前置一些能够看出,这是一个相似于全局的选项,表示下面缩进的选项都适用于该设置,能够指定某计算机替换*号使下面选项只针对该算机器生效。
ForwardAgent no
"ForwardAgent"设置链接是否通过验证代理(若是存在)转发给远程计算机。
ForwardX11 no
"ForwardX11"设置X11链接是否被自动重定向到安全的通道和显示集(DISPLAY set)。
RhostsAuthentication no
"RhostsAuthentication"设置是否使用基于rhosts的安全验证。
RhostsRSAAuthentication no
"RhostsRSAAuthentication"设置是否使用用RSA算法的基于rhosts的安全验证。
RSAAuthentication yes
"RSAAuthentication"设置是否使用RSA算法进行安全验证。
PasswordAuthentication yes
"PasswordAuthentication"设置是否使用口令验证。
FallBackToRsh no
"FallBackToRsh"设置若是用ssh链接出现错误是否自动使用rsh,因为rsh并不安全,因此此选项应当设置为"no"。
UseRsh no
"UseRsh"设置是否在这台计算机上使用"rlogin/rsh",缘由同上,设为"no"。
BatchMode no
"BatchMode":批处理模式,通常设为"no";若是设为"yes",交互式输入口令的提示将被禁止,这个选项对脚本文件和批处理任务十分有用。
CheckHostIP yes
"CheckHostIP"设置ssh是否查看链接到服务器的主机的IP地址以防止DNS欺骗。建议设置为"yes"。
StrictHostKeyChecking no
"StrictHostKeyChecking"若是设为"yes",ssh将不会自动把计算机的密匙加入"$HOME/.ssh/known_hosts"文件,且一旦计算机的密匙发生了变化,就拒绝链接。
IdentityFile ~/.ssh/identity
"IdentityFile"设置读取用户的RSA安全验证标识。
Port 22
"Port"设置链接到远程主机的端口,ssh默认端口为22。
Cipher blowfish
“Cipher”设置加密用的密钥,blowfish能够本身随意设置。
EscapeChar ~
“EscapeChar”设置escape字符。

2)sshd_config文件参数

Port 22
"Port"设置sshd监听的端口号。
ListenAddress 192.168.1.1
"ListenAddress”设置sshd服务器绑定的IP地址。
HostKey /etc/ssh/ssh_host_key
"HostKey”设置包含计算机私人密匙的文件。
ServerKeyBits 1024
"ServerKeyBits”定义服务器密匙的位数。
LoginGraceTime 600
"LoginGraceTime”设置若是用户不能成功登陆,在切断链接以前服务器须要等待的时间(以秒为单位)。
KeyRegenerationInterval 3600
"KeyRegenerationInterval”设置在多少秒以后自动从新生成服务器的密匙(若是使用密匙)。从新生成密匙是为了防止用盗用的密匙解密被截获的信息。
PermitRootLogin no
"PermitRootLogin”设置是否容许root经过ssh登陆。这个选项从安全角度来说应设成"no"。
IgnoreRhosts yes
"IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。
IgnoreUserKnownHosts yes
"IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的"$HOME/.ssh/known_hosts”
StrictModes yes
"StrictModes”设置ssh在接收登陆请求以前是否检查用户家目录和rhosts文件的权限和全部权。这一般是必要的,由于新手常常会把本身的目录和文件设成任何人都有写权限。
X11Forwarding no
"X11Forwarding”设置是否容许X11转发。
PrintMotd yes
"PrintMotd”设置sshd是否在用户登陆的时候显示“/etc/motd”中的信息。
SyslogFacility AUTH
"SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。
LogLevel INFO
"LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。
RhostsAuthentication no
"RhostsAuthentication”设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。
RhostsRSAAuthentication no
"RhostsRSA”设置是否容许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。
RSAAuthentication yes
"RSAAuthentication”设置是否容许只有RSA安全验证。
PasswordAuthentication yes
"PasswordAuthentication”设置是否容许口令验证。
PermitEmptyPasswords no
"PermitEmptyPasswords”设置是否容许用口令为空的账号登陆。
AllowUsers admin
"AllowUsers”的后面能够跟任意的数量的用户名的匹配串,这些字符串用空格隔开。主机名能够是域名或IP地址。

6. /etc/fstab


      当Linux系统下划分了新的分区后,须要将这些分区设置为开机自动挂载,不然,Linux是没法使用新建的分区的。 /etc/fstab 文件负责配置Linux开机时自动挂载的分区。

该文件包含六个域:

# <file system> <mount point> <type> <options> <dump> <pass>
proc                  /proc                  proc defaults 0 0
/dev/hda1         / ext3               errors=remount-ro 0 1
/swapfile           swap                swap defaults 0 0
/dev/hdc           /media              /cdrom0 udf,iso9660 user,noauto 0 0

1)设备名称(file system )

这里用来指定你要挂载的文件系统的设备名称或块信息,也能够是远程的文件系统。能够是实际分区名,也能够是实际分区的卷标(Lable)。若是磁盘是SATA接口,且有多个磁盘,则每一个磁盘被标记为 /dev/hda 、 /dev/hdb、 /dev/hdc 等以此类推;而每一个磁盘的分区被标记为 /dev/hda一、 /dev/hda2等。若是磁盘是SCSI类型,则多个磁盘会被分别标记为 /dev/sda、/dev/sdb等等。分区同理。若是使用标签来表示,则格式如:1  LABLE=/

2)默认挂载点

建立挂载点方法以下:
    # mkdir /mnt/hda1     建立挂载/dev/hda1分区的目录;
    # chmod 777 /mnt/hda1   打开权限,全部用户可读可写可执行;

执行完了以上两步就能够在/etc/fstab里使用这个挂载点了。

3)文件系统类形。若是想了解你的kernel目前支持哪些文件系统,能够查看/proc/filesystems的内容。

Linux file systems: ext2, ext3, jfs, reiserfs, reiser4, xfs, swap.
Windows:
vfat = FAT 32, FAT 16
ntfs= NTFS
Note: For NTFS rw ntfs-3g
CD/DVD/iso: iso9660
Network file systems:
nfs: server:/shared_directory /mnt/nfs nfs <options> 0 0
smb: //win_box/shared_folder /mnt/samba smbfs rw,credentials=/home/user_name/winbox-credentials.txt 0 0
auto: The file system type (ext3, iso9660, etc) it detected automatically. Usually works. Used for removable devices
(CD/DVD, Floppy drives, or USB/Flash drives) as the file system may vary on thesedevices.

4)挂载选项

fstab中的第四列表示设备或者分区所须要的挂载选项。这一列也是fstab中最复杂最容易出错的一列,若是你想知道更多的东西,求助于man。

auto 和 noauto:这是控制设备是否自动挂载的选项。auto是默认选择的选项,这样,设备会在启动或者你使用mount -a命令时按照fstab的内容自动挂载。若是你不但愿这样,就使用noauto选项,若是这样的话,你就只能明确地经过手工来挂载设备。

user 和 nouser:这是一个很是有用的选项,user选项容许普通用户也能挂载设备,而nouser则只容许root用户挂载。nouser是默认选项,这也是让不少 Linux新手头疼的东西,由于他们发现没有办法正常挂载光驱,Windows分区等。若是你做为普通身份用户遇到相似问题,或者别的其余问题,就请把 user属性增长到fstab中。

exec 和 noexec: exec容许你执行对应分区中的可执行二进制程序,同理,noexec的做用恰好相反。若是你拥有一个分区,分区上有一些可执行程序,而刚好你又不肯意,或者不能在你的系统中执行他们,就可使用noexec属性。这种状况多发生于挂载Windows分区时。exec是默认选项,理由很简单,若是 noexec变成了你/根分区的默认选项的话……

ro: 以只读来挂载文件系统。

rw: 以可读可写的属性来挂载系统。

sync 和 async:对于该文件系统的输入输出应该以什么方式完成。sync的意思就是同步完成,通俗点讲,就是当你拷贝一个东西到设备或者分区中时,全部的写入变化将在你输入cp命令后当即生效,这个东西应该立马就开始往设备或者分区里面拷贝了。而若是是async,也就是输入输出异步完成的话,当你拷贝一个东西到设备或者分区中时,可能在你敲击cp命令后好久,实际的写入操做才会执行,换句话说,就是进行了缓冲处理。

有时候这种机制蛮不错的,由于sync会影响你系统的运行速度,可是这也会带来一些问题。想想,当你但愿将一个文件拷贝到u盘上时,你执行了 cp 命令,却忘记执行umount命令(它会强行将缓冲区内容写入),那么你拷贝的文件实际上并无在u盘上面。若是你是使用的mv命令,而你又很快将u盘拔出……恭喜你,文件会从这个星球上消失的。所以,虽然async是默认属性,可是对于u盘,移动硬盘这种可移动存储设备,最好仍是让他们使用sync选项。

defaults: 全部选项所有使用默认配置,包括rw, suid, dev, exec, auto, nouser, 和 async。

通常用户没有特殊需求,直接使用defaults就能够了。看完介绍,咱们再回过头去看看前面的示例内容,以光驱为例,主要关注挂载选项这里,能够看到,光驱和其余分区设备的不一样是ro,由于普通光驱是只读的。而exec则让你能够从光驱上直接执行某些程序。

5)dump:可否被dump备份命令做用:dump是一个用来做为备份的命令。

一般这个参数的值为0或者1。0:表明不要作dump备份;1:表明要天天进行dump的操做;2:表明不定日期的进行dump操做

6)fsck选项,告诉fsck程序以什么顺序检查文件系统,为0就表示不检查,(/)分区永远都是1,其它的分区只能从2开始,当数字相同就同时检查(但不能有两1),

 注意:当你修改了/etc/fstab后,必定要从新引导系统才会有效。

参考:http://lspgyy.blog.51cto.com/5264172/1297432;http://diamonder.blog.51cto.com/159220/282542;http://www.cnblogs.com/qiyebao/p/4484047.html

相关文章
相关标签/搜索