标签 linux 下的文章

linux 文件权限解析

常用权限

linux系统内有档案有三种身份 u:拥有者  g:群组   o:其他人

这些身份对于文档常用的有下面权限:

r:读权限,用户可以读取文档的内容,如用cat,more查看

w:写权限,用户可以编辑文档

x:该目录具有可以被系统执行的权限

其他权限

除了读写执行权限外系统还支持强制位(s权限)和粘滞位(t权限)

s权限

s权限: 设置使文件在执行阶段具有文件所有者的权限,相当于临时拥有文件所有者的身份. 典型的文件是passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.

ls -al /usr/bin/passwd-rwsr-xr-x 1 pythontab pythontab 32988 2018-03-16 14:25 /usr/bin/passwd

我们可以通过字符模式设置s权限:chmod a+s filename,也可以使用绝对模式进行设置:

设置s u i d:将相应的权限位之前的那一位设置为4;

设置g u i d:将相应的权限位之前的那一位设置为2;

两者都置位:将相应的权限位之前的那一位设置为4+2=6。

 

注意:在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(c h m o d命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)

t权限

t权限:要删除一个文档,您不一定要有这个文档的写权限,但您一定要有这个文档的上级目录的写权限。也就是说,您即使没有一个文档的写权限,但您有这个文档的上级目录的写权限,您 也能够把这个文档给删除,而假如没有一个目录的写权限,也就不能在这个目录下创建文档。 

怎样才能使一个目录既能够让任何用户写入文档,又不让用户删除这个目录下他人的文档,t权限就是能起到这个作用。t权限一般只用在目录上,用在文档上起不到什么作用。 

在一个目录上设了t权限位后,(如/home,权限为1777)任何的用户都能够在这个目录下创建文档,但只能删除自己创建的文档(root除外),这就对任何用户能写的目录下的用户文档 启到了保护的作用。

可以通过chmod +t filename 来设置t权限

 

文章转载自:http://www.pythontab.com/html/2018/linuxkaiyuan_0316/1260.html

 

Linux设置系统时间命令

  • 一、命令介绍

这次博主为一些linux新手带来一些常用的基本命令,用于设置linux系统时间。
命令:date、ntpdate

  • 二、date命令

date命令可以用作查看和手动设置系统时间,具体用法如下:
查看系统当前时间:date
设置时间(时间点):date -s "23:18:05"
设置时间(日期):date -s "2018-1-26"
设置完整时间(年月日、时分秒):date -s "2018-1-26 23:18:05"
设置效果如图:
20180126233813.jpg

  • 三、ntpdate命令

ntpdate命令则是用于自动同步网络时间。
命令用法:ntpdate 空格 指定的时间服务器地址
例如:ntpdate time.windows.com
即可自动向时间服务器time.windows.com同步时间。如图,出现:adjust time server 52.163.118.68 offset -0.009404 sec 则表示同步成功。
20180126234824.jpg
当然也可能出现:no server suitable for synchronization found等类似错误,这主要是由于你的vps无法连接到你指定的时间服务器地址导致的,具体原因就不详细说了。更换时间服务器即可。

  • 四、常用的NTP时间服务器

下面列举一些常用的时间服务器地址,你可以根据你的vps服务器所在位置选择相近的服务器来同步获取时间。
常用的NTP时间服务器地址:
time.windows.com 微软
pool.ntp.org
asia.pool.ntp.org
time.nist.gov
time-a.nist.gov
time-b.nist.gov
210.72.145.44 国家授时中心服务器IP地址
cn.ntp.org.cn
edu.ntp.org.cn 教育网
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
s1d.time.edu.cn 东南大学
s1e.time.edu.cn 清华大学
s2a.time.edu.cn 清华大学
s2b.time.edu.cn 清华大学

linux之du命令详解(文件目录排序)

  • 命令简介

Linux下的du命令也是查看使用空间的,但是与df命令不同的是du命令是对文件和目录磁盘使用的大小的查看。
博主就常用这个命令配合sort命令对文件进行排序,以便查看是那些大文件占有磁盘(相信大家都会遇到过突然有一天磁盘空间就被占满了)。

  • 命令语法格式

格式:du 选项
选项即可以简单理解为跟的参数

  • 常用参数说明

参数说明:
-a或-all 为每一个指定文件显示磁盘使用情况,或者为文件夹中每一个文件显示各自磁盘使用情况。
-b或-bytes 显示文件夹或文件大小时,以byte为单位。
-c或–total 除了显示文件夹或文件的大小外,同一时候也显示全部文件夹或文件的总和。
-D或–dereference-args 显示指定符号连接的源文件大小。
-h或–human-readable 以K,M,G为单位,提高信息的可读性。
-H或–si 与-h參数同样,可是K,M,G是以1000为换算单位,而不是以1024为换算单位。
-k或–kilobytes 以1024 bytes为单位。
-l或–count-links 反复计算硬件连接的文件。
-L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或–megabytes 以1MB为单位。
-s或–summarize 仅显示总计,即当前文件夹的大小。
-S或–separate-dirs 显示每一个文件夹的大小时,并不含其子文件夹的大小。
-x或–one-file-xystem 以一開始处理时的文件系统为准,若遇上其它不同的文件系统文件夹则略过。
-X<文件>或–exclude-from=<文件> 在<文件>指定文件夹或文件。
–exclude=<文件夹或文件> 略过指定的文件夹或文件。
–max-depth=<文件夹层数> 超过指定层数的文件夹后,予以忽略。
–help 显示帮助。
–version 显示版本号信息。

  • 常用方法示例

linux下du命令的几个常用方法:
1、直接输出当前目录统计总大小
du -sh
2、显示文件夹下的文件大小(默认以字节为单位输出)
du /data1/
3、以字节方式输出,参数-s
du -s /data1/
4、以兆(M)方式输出,参数-h
du -h /data1/
5、配合sort排序输出(默认会递归所有子目录,并同时显示指定目录总大小以及子目录大小)
从小到大排序:
du -h /data1/ |sort -n
从大到小排序:
du -h /data1/ |sort -rn
6、配合sort、head排序前十个输出
du -h /data1/ |sort -n| head
7、只统计当前目录下所有文件夹(默认递归统计所有子目录)
du -h --max-depth=1 /data1/ (--max-depth=n,这里=1就表示当前目录、指定目录)
20180102215734.jpg

  • 小结

这个命令呢,其实很好用的,使用管道符配合其他命令,能实现比较多的功能!博主最常用的就是排序找大文件目录!
很早的时候就用这个命令来找到了mysql的binlog日志文件(当时占用了整个磁盘的80%左右,直接爆了)!
ps:咳咳咳!既然提到了mysql日志呢,说一下:一般默认安装的mysql是没有关闭bin日志的,下次可以为大家带来如何关闭bin日志的方法!