基础

基础

admin
10月7日发布

格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。

格式化目的是为了写入文件系统,分配iNode,block等

iNode存放i节点号,时间,权限,文件位置

sdb5表示第二块SATA接口硬盘的第一个逻辑分区

软链接命令要写绝对路径,硬链接没有要求

umask配置文件位置在 /etc/profile

whatis用来查看命令拥有哪个级别的帮助;whereis只能搜索系统二进制命令,同时可以查到帮助文档的位置;which也是搜索系统命令,如果这个命令有别名,还可以找到别名命令

locate命令搜索文件名,只要包含关键字就能搜出来,手动更新locate数据库命令updatedb,配置文件位置/etc/updatedb.conf

find用于匹配文件名,是完全匹配(通配符);grep用于匹配字符串,查找文件内容,是包含匹配(正则表达式)

alias别名命令,配置文件可以写在 ~/.bashrc,别名优先级比系统命令高。修改后 source ~/.bashrc 重新加载配置文件立即生效。单独的 . 也能代表source命令,. ~/.bashrc 与 source ~/.bashrc 相同。文件名的 . 代表隐藏文件。

-rw-r-xr--+ +是ACL权限

drwsrwsrwt. s,t是SUID,SGID,SBIT权限

tar -zxvf test.tar.gz -C /tmp 解压到指定位置,-C选项必须在压缩包名字后面
tar -jxvf test.tar.bz2 -C /tmp test/123 解压包中的特定文件到指定位置

普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行
普通用户可以修改所有者是自己的文件的权限

配置IP地址文件位置 /etc/sysconfig/network-scripts/ifcfg-eth0

netstat -rn 查网关

自动挂载文件位置 /etc/fstab,mount -a 命令使系统根据此配置文件自动挂载,同时自动检查此配置文件错误

驱动以模块的形式放入硬盘,位置在 /lib/moudules/

vim配置文件位置 ~/.vimrc

yum是二进制包的在线安装方法

未安装软件包用包全名和绝对路径,已安装软件包在任意路径用包名就可以,因为有RPM包数据库。RPM包的数据库位置在 /var/lib/rpm/

RPM包安装的Apache:

启动:service httpd start 或 /etc/rc.d/init.d/httpd   start|stop|restart|status(标准方法)service命令就是搜索此位置        /etc/init.d -> rc.d/init.d/
网页位置:/var/www/html/
配置文件位置:/etc/httpd/conf/httpd.conf

RPM包安装不指定位置,用默认位置service命令可以直接进行启停等操作,RPM包数据库记录了安装位置,可以用卸载命令删除干净
源码包要指定位置,源码包没有数据库记录安装位置,没指定位置的话要各个位置删

RPM包:

安装:rpm -ivh 包全名
升级或安装:rpm -Uvh 包全名
仅升级:rpm -Fvh 包全名
卸载:rpm -e 包名
-q查询 -a所有 -i软件包详细信息 -p未安装的软件包 -l列出软件包所有的文件列表和软件所安装的目录 -f查询系统文件所属软件包 -R软件包的依赖性
        软件包是否安装:rpm  -q 包名
        所有已安装的软件包:rpm -qa
        已安装软件包的详细信息:rpm -qi 包名
        未安装软件包的详细信息:rpm -qip 包全名
        列出已安装软件包的文件列表和完整安装目录:rpm -ql 包名
        列出未安装软件包的文件列表和完整安装目录:rpm -qlp 包全名
        系统文件属于哪个RPM包:rpm -qf 系统文件名
        已安装软件包的依赖关系:rpm -qR 包名
        未安装软件包的依赖关系:rpm -qRp 包全名
校验(内容,大小,权限,路径等是否改变):rpm -V 包名    rpm -Vf 系统文件名

新系统记得导入数字证书 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

提取包中的某个文件rpm2cpio 包全名 | cpio -idv .这个文件的绝对路径
rpm2cpio /mnt/cdrom/Packages/httpd-2.2.15-53.el6.centos.x86_64.rpm | cpio -idv ./etc/httpd/conf/httpd.conf

yum源配置文件位置 /etc/yum.repos.d/    默认CentOS-Base.repo生效

yum卸载b包会把依赖b的a包也卸载,避免留下损坏的软件包,那么依赖a的软件包会出现问题

yum无所谓包名和包全名,都写包名就行。包名和包全名只有在RPM包手工安装时要区分

査询yum源服务器上所有可安装的软件包列表:yum list
查询yum源服务器中是否包含某个软件包:yum list 包名
搜索yum源服务器上所有和关键字相关的软件包:yum search 关键字
查询指定软件包的信息:yum info 包名
安装:yum -y install 包名
升级:yum -y update 包名
卸载:yum remove 包名
列出所有可用的软件组列表: yum grouplist
列出软件组中包含的软件:yum groupinfo 软件组名
安装指定软件组,组名可以由 grouplist 查询出来:yum groupinstall 软件组名
卸载指定软件组:yum groupremove 软件组名

ps aux 查看系统中所有运行的进程

生成补丁:diff -Naur 旧文件 新文件(注意要写绝对路径,补丁文件会记录此路径)
打入补丁:patch -pn < 补丁文件(补丁是打到旧文件的,所以取消的是旧文件的目录级数,n是数字代表取消补丁文件中的n级目录)


/etc/passwd 用户信息文件
用户名:密码标识:用户ID:初始组ID:用户说明:用户的家目录位置:登录shell
用户的权限绑定在UID之上,0是超级用户的UID,把其他用户的UID改成0,就会升级成超级用户。

/etc/shadow 影子文件
内容解析:

第1列:用户名
第2列:加密过的密码(在密码前加 ! 密码失效,用户无法登录。伪用户无法登陆,密码是 !! 或 * ,创建的新用户不设定密码,也是 !! ,代表没有密码无法登陆。)
第3列:密码最近更改的时间(只要改密码这个值就会更新)
第4列:两次密码修改的间隔时间,例如3代表密码修改后,再过3天才能再次修改(和第3字段相比)
第5列:密码有效期(和第3字段相比只要改密码了,即第3列更新了,就能继续用)
第6列:密码到期前的警告天数(和第5字段相比)
第7列:密码过期后的宽限天数,默认为空即-1代表无限宽限(和第5字段相比)
第8列:用户失效时间(真正的密码失效时间,到期之后会在密码前加 ! )
第9列:保留位

/etc/group 组信息文件
组名:组密码标识:组ID:组中的其他用户
初始组:每个用户初始组有且只有一个,一般都是和用户名相同的组作为初始组
附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组

/etc/gshadow 组密码文件 /home/ 用户家目录 /var/spool/mail/ 用户邮箱目录

添加一个用户就是操作写入了这六个文件

/etc/skel/ 用户模板目录(新建用户的家目录会有这些模板文件)


useradd添加用户的默认值文件位置在 /etc/deafult/useradd 和 /etc/login.defs

/etc/deafult/useradd
    INACTIVE=-1:/etc/shadow 中的第7列宽限天数的默认值
    EXPIRE=    :/etc/shadow 中的第8列密码失效时间的默认值,默认是空,代表永久有效
/etc/login.defs 
    UMASK 077        建立用户时创建的家目录的默认权限
    USERGROUPS_ENAB yes     默认删除用户时,同时删除用户的初始组
    

passwd -l 用户名:锁定用户,会在 /etc/shadow 密码前加入 !! ,-u 解锁
passwd --stdin 用户名:可以将通过管道符输出的数据作为用户的密码,主要在批量添加用户时使用,例如 echo "123" | passwd --stdin user1
chage -d 0 用户名:把 /etc/shadow 第3列密码最近修改日期变为0,这样用户一登录就要修改密码

usermod -G 组名 用户名:修改用户的附加组,就是把用户加入其他用户组
usermod -l 新名 旧名:修改用户名,不建议使用

userdel -r :删除用户同时删除用户的家目录

su 用户名:切换用户
su - 用户名:连带用户的环境变量一起切换,su - user1
su -c "命令" 用户名:以其他用户身份执行命令,su -c "ls -la /home" user1

添加组:groupadd 组名
删除组:groupdel 组名

把用户添加进组或从组中删除 gpasswd

gpasswd -a 用户名 组名:把用户添加进组
gpasswd -d 用户名 组名:把用户从组中删除

id 用户名:查看用户信息

设定ACL权限:setfacl -m u:用户名:权限 文件名 setfacl -m g:用户组名:权限 文件名
删除指定用户和用户组的ACL权限:setfacl -x u:用户名 文件名 setfacl -x g:用户组名 文件名
删除文件的所有ACL权限:setfacl -b 文件名

对目录递归赋予ACL权限加参数 -R:setfacl -m u:user1:rwx -R /test/ (只对已经存在的文件生效)
设定ACL默认权限:setfacl -m d:u:user1:7 -R /test/ (之后新建的文件的默认权限,对之后的新建文件生效)
递归赋予ACL权限会导致权限溢出,例如赋予权限是rx,目录正常权限,文件却是最大权限

sudo:给普通用户赋予部分管理员权限
visudo:赋予普通用户权限命令,赋予的权限越详细,普通用户得到的权限越小
格式:用户名/%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)

       组名前加%                                           省略即为root

例子:user1 ALL=/sbin/shutdown -r now

sudo -l:查看可用授权

4代表SUID 2代表SGID 1代表 SBIT umask第一位代表这个权限

SetUID:针对可执行文件,用户要对此文件有执行权限,命令执行者在执行有SUID的程序时,是以该程序的所属者身份执行的 例如passwd命令

          chmod u+s 可执行文件名        chmod 4755 可执行文件名        rws

SetGID:针对可执行文件,用户要对此文件有执行权限,命令执行者在执行程序时,组身份升级为该程序文件的所属组 例如locate命令

           针对目录,用户要对此目录有7权限,普通用户新建的文件的默认所属组是这个目录的所属组
           chmod g+s 可执行文件名/目录        chmod 2755 可执行文件名/目录        rws

StickyBIT:针对目录,用户要对此目录有7权限,如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件。一但赋予了粘着位,除了root 可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,而不能删除其他用户建立的文件。

            chmod o+t 目录        chmod 1755 目录        rwt        例如/tmp/目录
            

文件系统属性chattr权限:chattr [+-=] [iae] 文件名或目录名 chattr +i test/

i:如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据,等于不能对这个文件做任何操作;如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件        可以理解为insert
a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除        可以理解为append

查看文件系统属性lsattr:-a显示所有文件和目录        -d显示目录属性        lsattr -d test/

常用硬盘管理命令:

df -ahT:a显示特殊文件系统,h人性化显示,T显示文件系统
du -ahs 目录或文件名:a显示每个子文件的磁盘占用量,h人性化显示,s统计总占用量
df是统计空间大小的,统计的剩余空间大小是准确的,du用于统计文件大小是准确的

dumpe2fs /dev/sda1:显示磁盘状态,-h显示超级块状态

fdisk -l:查看系统所有硬盘及分区

file 文件名:判断文件类型 type 命令名:判断命令类型

查看硬盘分区的uuid:dumpe2fs /dev/sdb1 或 ls -l /dev/disk/by-uuid/

用fdisk命令分区只识别MBR分区,GPT分区要用parted命令

1.分区 2.格式化建立文件系统 3.挂载

free命令查内存,-h人性化显示

buffers缓冲,缓冲CPU把数据写入到硬盘。cache缓存,提升CPU从硬盘读取数据

磁盘配额是限制普通用户在分区上使用磁盘空间和文件个数的

磁盘配额需要关闭SELinux,getenforce查看,setenforcing 0暂时关闭。永久关闭配置文件在 /etc/selinux/config

喜欢就支持一下吧
点赞 1 分享 收藏
评论
所有页面的评论已关闭
SSL