王杰

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文件     inode          block

           文件属性      文件内容-数据

 

目录         目录属性               目录下的文件名及文件的inode号码

                block的位置          

 

文件      一般可以给的最大权限         666       rw-rw-rw-

目录      一般可以给的最大权限          777         rwxrwxrwx

 

查看当前系统默认的权限

[root@manager ~]$ umask
0022

文件默认的权限644  ?

文件最大权限  666 -022=644

目录默认的权限 755 ?

目录最大权限 777-022=755

umask 是032

文件默认的权限  666-032=634

目录默认的权限 777-032=745

umask 是035  file?  dir?

创建一个文件要求默认权限是000,  目录默认权限是111  问 umask 是多少?

单机站点 权限设置

 

 

 

网站程序存放的位置

  /app/blog  站点目录 

网站要通过什么用户运行   www  (虚拟用户)

创建环境:

[root@manager ~]$ mkdir -p /app/blog/uploads
[root@manager ~]$ touch /app/blog/{ink.mv,jun.mp4,ping,toorent,jpg10g.torrent}
[root@manager ~]$ ll /app/blog/
total 0
-rw-r--r--. 1 root root 0 Dec 11 15:09 ink.mv
-rw-r--r--. 1 root root 0 Dec 11 15:09 jpg10g.torrent
-rw-r--r--. 1 root root 0 Dec 11 15:09 jun.mp4
-rw-r--r--. 1 root root 0 Dec 11 15:09 ping
-rw-r--r--. 1 root root 0 Dec 11 15:09 toorent
drwxr-xr-x. 2 root root 6 Dec 11 15:08 uploads
[root@manager ~]$ useradd www
[root@manager ~]$ su - www
[www@manager ~]$ cd /app/blog/
[www@manager /app/blog]$ ll
total 0
-rw-r--r--. 1 root root 0 Dec 11 15:09 ink.mv
-rw-r--r--. 1 root root 0 Dec 11 15:09 jpg10g.torrent
-rw-r--r--. 1 root root 0 Dec 11 15:09 jun.mp4
-rw-r--r--. 1 root root 0 Dec 11 15:09 ping
-rw-r--r--. 1 root root 0 Dec 11 15:09 toorent
drwxr-xr-x. 2 root root 6 Dec 11 15:08 uploads
[www@manager /app/blog]$ touch uploads/project.doc
touch: cannot touch ‘uploads/project.doc’: Permission denied

1、 给uploads 目录  o+w  (给的权限太大)

2、修改uploads所有者和用户组(实际工作环境)

3、给用户加入到root 用户组 (给的权限太大)

4、sudo

5、suid

[root@manager ~]$ ll -d /app/blog/uploads/
drwxr-xrwx. 2 root root 6 Dec 11 15:08 /app/blog/uploads/
[root@manager ~]$ chown www.www /app/blog/uploads/
[root@manager ~]$ ll -d /app/
drwxr-xr-x. 3 root root 18 Dec 11 15:08 /app/
[root@manager ~]$ ll -d /app/blog/uploads/
drwxr-xrwx. 2 www www 6 Dec 11 15:08 /app/blog/uploads/
[root@manager ~]$ chmod o-w /app/blog/uploads/
[root@manager ~]$ ll -d /app/blog/uploads/
drwxr-xr-x. 2 www www 6 Dec 11 15:08 /app/blog/uploads/

  [root@manager ~]$ chown .www /app/blog/uploads/
  [root@manager ~]$ ll -d /app/blog/uploads/
   drwxr-xr-x. 2 www www 6 Dec 11 15:08 /app/blog/uploads/

 

系统所有用户分为

root     uid=0

虚拟用户   /sbin/nologin

普通用户  uid >=1000 (c6 >=500)    /bin/bash

对于某一个文件来说所有用户可以分为几类:所有者    所属组  其它      电脑

Linux 隐藏属性

lsattr     list    attr   显示隐藏属性

 

chattr     change

[root@manager ~]$ lsattr /exam/exam.txt
---------------- /exam/exam.txt  (Centos7)  (Centos 6.x)有个e

a  append 只能追加

[root@manager /exam]$ lsattr exam.txt
---------------- exam.txt
[root@manager /exam]$ chattr +a exam.txt
[root@manager /exam]$ lsattr exam.txt
-----a---------- exam.txt

i    immutable   不被毁灭的    无敌的

[root@manager /exam]$ ll /bin/rm
-rwxr-xr-x. 1 root root 62864 Apr 11  2018 /bin/rm
[root@manager /exam]$ chmod u+s /bin/rm     chmod 4755 /bin/rm
[root@manager /exam]$ ll /bin/rm
-rwsr-xr-x. 1 root root 62864 Apr 11  2018 /bin/rm
[root@manager /exam]$ stat /bin/rm
  File: ‘/bin/rm’
  Size: 62864         Blocks: 128        IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 100665384   Links: 1
Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:bin_t:s0
Access: 2019-12-11 03:45:01.878357424 -0500
Modify: 2018-04-11 00:35:02.000000000 -0400
Change: 2019-12-11 15:33:34.483375810 -0500
 Birth: -
[root@manager /exam]$ umask
0022
[root@manager /exam]$ chmod u-s /bin/rm
[root@manager /exam]$ ll /bin/rm
-rwxr-xr-x. 1 root root 62864 Apr 11  2018 /bin/rm

Linux特殊权限

作用:运行某一个命令的时候相当于这个命令的所有者(root)

 

rpm  -qa cronie  查看软件包是否安装

rpm -ql cronie   查看软件包里有什么

[root@manager /exam]$ rpm -qa cronie
cronie-1.4.11-19.el7.x86_64
[root@manager /exam]$ rpm -ql cronie
/etc/cron.d
/etc/cron.d/0hourly
/etc/cron.deny
/etc/pam.d/crond
/etc/sysconfig/crond
/usr/bin/crontab
/usr/lib/systemd/system/crond.service
/usr/sbin/crond
/usr/share/doc/cronie-1.4.11
/usr/share/doc/cronie-1.4.11/AUTHORS
/usr/share/doc/cronie-1.4.11/COPYING
/usr/share/doc/cronie-1.4.11/ChangeLog
/usr/share/doc/cronie-1.4.11/INSTALL
/usr/share/doc/cronie-1.4.11/README
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/man/man8/cron.8.gz
/usr/share/man/man8/crond.8.gz
/var/spool/cron

yum  yellowdog  软件包管理命令   替你下载  替你安装

-y   都选择 yes

yum install -y tree

yum repolist  显示系统yum 源

yum provides   查询命令属于哪个软件包

no   package  anxxx

rpm    软件包管理命令  手动安装

-qa    查询软件是否安装

-ql    查询软件包内容

-ivh   安装

-qf    文件或命令绝对路径   查询文件或命令属于哪个软件包

-e  eraser  删除某个软件包

[root@manager /exam]$ rpm -qf `which ifconfig`
net-tools-2.0-0.22.20131004git.el7.x86_64

 

Linux系统的定时任务

/etc/cron.hourly/   系统定时任务每小时运行这个目录里的内容

/etc/cron.daily/    系统定时任务每天运行这个目录里的内容

/etc/cron.weekly/  系统定时任务每周运行这个目录里的内容

/etc/cron.monthly  系统定时任务每月运行这个目录里的内容

/etc/cron.deny    定时任务的黑名单

/etc/crontab        系统定时任务的配置文件之一

系统定时任务+ logrotate 命令完成对日志的切割/日志轮询

[root@manager /exam]$ ll  /var/log/messages /var/log/secure
-rw-------. 1 root root 30662 Dec 11 15:14 /var/log/messages
-rw-------. 1 root root  4990 Dec 11 15:14 /var/log/secure
[root@manager /exam]$ ll /var/log/messages*  /var/log/secure*
-rw-------. 1 root root  30662 Dec 11 15:14 /var/log/messages
-rw-------. 1 root root  25011 Nov 17 03:01 /var/log/messages-20191117
-rw-------. 1 root root 281438 Nov 24 03:01 /var/log/messages-20191124
-rw-------. 1 root root  68264 Dec  1 03:01 /var/log/messages-20191201
-rw-------. 1 root root 409014 Dec  8 03:01 /var/log/messages-20191208
-rw-------. 1 root root   4990 Dec 11 15:14 /var/log/secure
-rw-------. 1 root root   1133 Nov 12 13:04 /var/log/secure-20191117
-rw-------. 1 root root   8166 Nov 21 14:09 /var/log/secure-20191124
-rw-------. 1 root root   1077 Nov 30 22:01 /var/log/secure-20191201
-rw-------. 1 root root  14056 Dec  8 03:15 /var/log/secure-20191208
[root@manager /exam]$ cat /etc/logrotate.d/syslog 
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    missingok
    sharedscripts
    postrotate
    /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

用户定时任务

crontab           cron  table  用户定时任务管理命令

  crontab -l (list) 列表  查看用户的定时任务 cron  table

  crontab -e (edit)编辑用户的定时任务

visudo  ===   /etc/sudoers

/var/spool/cron/root   (root 是用户名  root 用户的定时任务)

一个命令 + 一个目录

  crontab       /var/spool/cron

  crontab -l   ===== cat /var/spool/cron/root  (root用户)

  crontab -e  ===== vi /var/spool/cron/root (root用户)

检查定时任务当前是否运行

[root@manager /exam]$ ps -ef |grep crond
root 825 1 0 Dec02 ? 00:00:01 /usr/sbin/crond -n
root 6374 4131 0 15:59 pts/1 00:00:00 grep --color=auto crond
[root@manager /exam]$ systemctl is-active crond.service
active

检查定时任务是否开机运行
[root@manager /exam]$ systemctl is-enabled crond.service
enabled

[root@manager /exam]$ tail -f /var/lo
local/ lock/  log/   
[root@manager /exam]$ tail -f /var/log/secure
Dec 11 03:33:34 manager sshd[28197]: pam_unix(sshd:session): session closed for user root
Dec 11 03:33:34 manager sshd[11482]: pam_unix(sshd:session): session closed for user root
Dec 11 03:33:34 manager su: pam_unix(su-l:session): session closed for user us01
Dec 11 14:46:36 manager sshd[2699]: Accepted password for root from 10.74.144.167 port 50925 ssh2
Dec 11 14:46:36 manager sshd[2699]: pam_unix(sshd:session): session opened for user root by (uid=0)
Dec 11 15:10:29 manager useradd[3904]: new group: name=www, GID=1104
Dec 11 15:10:29 manager useradd[3904]: new user: name=www, UID=1104, GID=1104, home=/home/www, shell=/bin/bash
Dec 11 15:10:33 manager su: pam_unix(su-l:session): session opened for user www by root(uid=0)
Dec 11 15:14:31 manager sshd[4126]: Accepted password for root from 10.74.144.167 port 52952 ssh2
Dec 11 15:14:32 manager sshd[4126]: pam_unix(sshd:session): session opened for user root by (uid=0)
[root@manager /exam]$ systemctl is-active crond.service rsyslog.service
active
active
[root@manager /exam]$ systemctl start crond.service rsyslog.service
[root@manager /exam]$ systemctl enable crond.service rsyslog.service

 

 分    时    日     月      周

每天的上午8点30分到公司上班  (go to  work)

30  08  *  *  *  go to work

每天晚上12点加家 (go  home)

00  12  *  *  *  go  home

 

第周日的晚上12点准时睡觉  (go to bed)

00  12  *  *  00   go  to bed

*     12  *  *  00   go  to bed

修改系统时间

[root@manager /exam]$ date -s '20111111 11:11:11'
Fri Nov 11 11:11:11 EST 2011
[root@manager /exam]$ date -s '20111111'
Fri Nov 11 00:00:00 EST 2011
[root@manager /]# ntpdate ntp1.aliyun.com
20 Sep 17:33:17 ntpdate[177736]: step time server 120.25.115.20 offset -27192.744941 sec
[root@manager /]# date
2019年 09月 20日 星期五 17:33:22 CST

 

 定时任务1,每分钟中步系统时间

ntpdate ntp1.aliyun.com

第一步:命令

[root@manager ~]# date -s '20111111 11:11:11'
Fri Nov 11 11:11:11 CST 2011
[root@manager ~]# date
Fri Nov 11 11:11:13 CST 2011   
[root@manager ~]# ntpdate ntp1.aliyun.com
12 Dec 21:05:43 ntpdate[1362]: step time server 120.25.115.20 offset 255174828.476377 sec
[root@manager ~]# date
Thu Dec 12 21:05:51 CST 2019

第二步:写入定时任务

[root@manager ~]# date -s '20111111 11:11:11'
Fri Nov 11 11:11:11 CST 2011
[root@manager ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@manager ~]# crontab -l
#sync time ntp
* * * * * /usr/sbin/ntpdate ntp1.aliyun.com
[root@manager ~]# tail -f /var/log/cron
Nov 11 11:14:13 manager crontab[1434]: (root) END EDIT (root)
Nov 11 11:15:01 manager crond[537]: (root) RELOAD (/var/spool/cron/root)
Nov 11 11:15:01 manager CROND[1441]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com)
Dec 12 21:19:06 manager CROND[1440]: (root) MAIL (mailed 90 bytes of output but got status 0x004b#012)
Dec 12 21:19:06 manager CROND[1445]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com)
Dec 12 21:19:12 manager CROND[1444]: (root) MAIL (mailed 85 bytes of output but got status 0x004b#012)
Dec 12 21:20:01 manager CROND[1451]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Dec 12 21:20:01 manager CROND[1452]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com)

[root@manager ~]# which ntpdate
/usr/sbin/ntpdate

[root@manager ~]# which ntpdate
/usr/sbin/ntpdate

 

 定时任务  定时任务格式

检查软件是否安装,是否运行,是否开机自启动

 

权限

permission  denied  错误

文件和目录 rwx

Linux 系统默认的权限 umask

通过权限控制让系统安全

隐藏属性

 

posted on 2019-12-11 16:23  Sunjingjing  阅读(114)  评论(0)    收藏  举报