命令替换

把字符串里面的命令先执行再把该字符串输出,与PHP的“”里面的变量被执行一样。

  • $(COMMAND)

  • `COMMAND`

[root@jiakang ~]# echo "The directory is $(pwd)"
The directory is /root
[root@jiakang ~]# touch ./file-$(date +%F-%H-%M-%S).txt
[root@jiakang ~]# ls
a install.log
anaconda-ks.cfg install.log.syslog
file-2017-03-30-19-52-22.txt
[root@jiakang ~]# echo "The directory is `pwd`"
The directory is /root

权限

文件:

  • r:可读,可以用类似cat等命令查看文件内容

  • w:可写,可以编辑或删除此文件

  • x:可执行,可以命令提示符下当作命令提交给内核运行

目录:

  • r:可以对此目录执行ls列出内部所有文件

  • w:可以在此目录创建文件

  • x:可以使用cd切换进此目录,也可以使用ls -l查看详细信息

用数字表示:

  • 0 000 ---:无权限

  • 1 001 --x:执行

  • 2 010 -w-:写

  • 3 011 -wx:写和执行

  • 4 100 r--:读

  • 5 101 r-x:读和执行

  • 6 110 rw-:读和写

  • 7 111 rwx:读写执行

chmod命令

修改文件的权限

修改三类用户的权限

chmod MODE file

  • -R

  • --reference=/path/somefile file 参考修改【修改和前面的somefile的权限一样】

[root@jiakang tmp]# chmod 057 yum.log

修改某类用户或某些类用户的权限

u,g,o,a

chmod 用户类别=MODE file,...

[root@jiakang tmp]# chmod u=rwx /tmp/yum.log
[root@jiakang tmp]# chmod g=r,o=r /tmp/yum.log
[root@jiakang tmp]# chmod go=r /tmp/yum.log
[root@jiakang tmp]# ls -l /tmp/yum.log
-rwxr--r--. 1 tom root 0 3月 25 07:01 /tmp/yum.log

修改某类用户的某位或者某些位的权限

u,g,o,a

chmod 用户类别+|-MODE file

[root@jiakang tmp]# chmod go+w /tmp/yum.log
[root@jiakang tmp]# ls -l /tmp/yum.log
-rwxrw-rw-. 1 tom root 0 3月 25 07:01 /tmp/yum.log
[root@jiakang tmp]# chmod +x /tmp/yum.log
[root@jiakang tmp]# ls -l /tmp/yum.log
-rwxrwxrwx. 1 tom root 0 3月 25 07:01 /tmp/yum.log

特殊权限(难)

SUID:运行某程序时,相应的进程的属主是文件自身的属主,而不是启动者;

  • chmod u+s FILE

  • chmod u-s FILE
    如果该FILE本身原来有执行权限则SUID显示为s,原来没有执行权限显示为S

注意:SUID用于二进制可执行文件,对目录和非二进制可执行文件没什么意义

【现在rm的权限】
[root@jiakang tmp]# ls -l /bin/rm
-rwxr-xr-x. 1 root root 58960 10月 15 2014 /bin/rm
[root@jiakang tmp]# ls -l abc
-rw-r--r--. 1 root root 0 4月 2 19:55 abc 【普通用户删除abc】
[jiakang@jiakang ~]$ rm /tmp/abc
rm:是否删除有写保护的普通空文件 "/tmp/abc"?y
rm: 无法删除"/tmp/abc": 不允许的操作 【给rm添加s权限,注意看我当前操作的用户】
[root@jiakang tmp]# ls -l /bin/rm
-rwsr-xr-x. 1 root root 58960 10月 15 2014 /bin/rm 【再次删除,没有abc文件了】
[jiakang@jiakang ~]$ rm /tmp/abc
[jiakang@jiakang ~]$ ls /tmp
def keyring-V2LdqH rc.d
inittab keyring-ydeVD8 rc.local

SGID:运行某程序时,相应的进程的属组是文件自身的属组,而不是启动者所属的基本组;

用法和上面的一样【g+s , g-s】,现在介绍一种常用的用法【用于目录】:

公司现在多个程序员开发一个网站,每个人都有自己登陆服务器的账号,要求是项目目录下的文件每个人都共享,就是在该目录下可以互相编辑每个文件,不管是谁开发的

解决方法:

  1. 每个用户的基本组都相同,这样创建的文件基本组也都一样【添加一个附加组是不行的,那样每个用户再创建文件时属组是不一样的】

    注意:用户有基本组和附加组usermod进行修改;文件和目录只有一个属组,默认是用户的基本组,chown进行修改,在这容易混淆

  2. 添加一个附加组【developteam】,把该目录【project】的GID加s权限,在该目录下创建的文件的基本组就会是该目录的基本组【developteam】而非用户本身的基本组,这样每个文件的组都相同了,文件可以相互访问

[root@jiakang tmp]# groupadd developteam
[root@jiakang tmp]# mkdir /tmp/project
[root@jiakang tmp]# chown -R :developteam /tmp/project【修改属组】
[root@jiakang tmp]# chmod g+s project【加SGID】
[root@jiakang tmp]# ls -ld project
drwxr-sr-x. 2 root developteam 4096 4月 11 13:04 project
[root@jiakang tmp]# usermod -a -G developteam jiakang【追加附加组developteam】
[root@jiakang tmp]# id jiakang
uid=500(jiakang) gid=500(jiakang) 组=500(jiakang),5001(developteam)
[root@jiakang tmp]# chmod g+w project【组内用户+w权限】
[jiakang@jiakang tmp]$ cd project
[jiakang@jiakang project]$ touch ss.txt
touch: 无法创建"ss.txt": 权限不够
[jiakang@jiakang project]$ exit【需要退出重新登陆才能生效】
logout
[root@jiakang ~]# su - jiakang
[jiakang@jiakang project]$ touch s.txt
[jiakang@jiakang project]$ ls -l s.txt
-rw-rw-r--. 1 jiakang developteam 0 4月 11 13:26 s.txt【属组自动就是developteam】

sticky:在上面创建的那个公共目录里,每个用户都能创建、删除自己的文件,但是不能删除他人的文件

  • chmod o+t DIR

  • chmod o-t DIR

这样权限修改的时候用数字表示就又多了一位:

  • 000

  • 001【o+t】

  • 011【g+s,o+t】
    ...

  • 111【u+s,g+s,o+t】

chmod 5755 /tmp/test【5代表:u+s,o+t】

umask 0022 也是同理

命令替换、权限、chmod、特殊权限的更多相关文章

  1. Ubuntu chmod 命令修改文件chmod读写权限

    Ubuntu chmod 命令可以用来修改文件或文件夹的读写权限 chmod 命令有两种使用方式 一. chmod [u/g/o/a] [+/-/=] [r/w/x] filename [ ]里都代表 ...

  2. /文件和目录权限chmod /更改所有者和所属组chown/umask/隐藏权限lsattr/chattr

    2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown2.16 umask2.17 隐藏权限lsattr/chattr 文件和目录权限chmod 文件权限: r     4     ...

  3. ubuntu 下修改文件访问权限chmod 777 -R *血的教训!没事别乱开权限!用谁开谁的就行。。。最后不要用这个命令,文件操作全部改用终端

    本文转自: 个人建议 Ubuntu下修改目录权限命令如下:chmod 600 name (只有所有者有读和写的权限)chmod 644 name (所有者有读和写的权限,组用户只有读的权限)chmod ...

  4. Ubuntu上使用过的命令,Linux常用命令,mount 硬盘挂载, ls 列表list命令,cp 复制copy命令,mkdir 创建文件夹 ,nano 编辑器,cat 文档合并,chmod 文件权限,ssh win10连接ubuntu服务器的步骤

    man 帮助 > man ls # ubuntu的帮助 tar.gz 压缩解压 > tar -zcvf yzn.tar.gz /home/yzn # 压缩 > tar -zxvf y ...

  5. Linux的文件访问权限及修改权限命令chmod

    http://www.linuxso.com/command/chmod.html Linux的文件访问权限及修改权限命令chmod Mxx000 Mxx000 人赞同了该文章 Linux的文件访问权 ...

  6. Linux命令行–理解Linux文件权限(转)

    6.1.1 /etc/passwd文件 /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 登录用户名 用户密码 用户账户的UID 用户账户 ...

  7. 第3章 Linux常用命令(2)_权限管理命令

    2. 权限管理命令 2.1 改变文件或目录权限:chmod (1)chmod命令 命令名称 chmod(change the permission mode of a file) 命令所在路径 /bi ...

  8. root运行/media可运行文件权限不够,chmod改动权限无效

    http://blog.csdn.net/pipisorry/article/details/39649699 问题: 我想运行media目录下自己写的某个程序,但无法运行? 1. 于是我以root的 ...

  9. [转]linux如何修改文件或目录的权限(chmod)

    linux如何修改文件或目录的权限(chmod) chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符.777,第一个7代表文件所属者的权限,第二个 ...

随机推荐

  1. 使用systemctl工具

                           使用systemctl工具 8.1问题 本例要求掌握systemctl控制工具的基本操作,完成下列任务: 重启httpd.crond.bluetooth服 ...

  2. 配置并验证Split分离解析

                                                             配置并验证Split分离解析 案例1:配置并验证Split分离解析 案例2:查看进程信 ...

  3. Mac通过homebrew 安装mysql

    来源:http://timtang.me/blog/2011/12/07/mac-homebrew-mysql/ 使用MBP有一年了,开始想在工作中使用mac由于各种不习惯最终失败,导致自己使用了一年 ...

  4. 30.6 HashMap的使用

    /* * * 使用HashMap存储数据并遍历(字符串作为key) * *使用HashMap存储数据并遍历(自定义对象作为key) */ 字符串做key和Map的使用一样,重点介绍自定义对象作为key ...

  5. 答好友困惑:Java零基础如何入门,不知道怎么学,迷茫ING

    作者:程序员小跃 几个星期之前,我在知乎上看到一个提问,说是:对于完全没有经验零基础自身的数学底子也很弱学习Java应该怎么学习呢?想着类似的问题我也有过回答,并且反馈还是蛮好的,就参考之前的思路回答 ...

  6. JNDI数据源的配置及使用 (2010-11-21 21:16:43)转载▼

    JNDI数据源的配置及使用 (2010-11-21 21:16:43)转载▼ 标签: 杂谈 分类: 数据库 数据源的作用 JDBC操作的步骤: 1. 加载驱动程序 2. 连接数据库 3. 操作数据库 ...

  7. 化繁为简,弱监督目标定位领域的新SOTA - 伪监督目标定位方法(PSOL) | CVPR 2020

    论文提出伪监督目标定位方法(PSOL)来解决目前弱监督目标定位方法的问题,该方法将定位与分类分开成两个独立的网络,然后在训练集上使用Deep descriptor transformation(DDT ...

  8. work of 1/4/2016

    part 组员                今日工作              工作耗时/h 明日计划 工作耗时/h    UI 冯晓云 修改UI增强显示鲁棒     6 完成UI页面切换部分    ...

  9. Spring Cloud 系列之 Gateway 服务网关(四)

    本篇文章为系列文章,未读第一集的同学请猛戳这里: Spring Cloud 系列之 Gateway 服务网关(一) Spring Cloud 系列之 Gateway 服务网关(二) Spring Cl ...

  10. phpMyAdmin后台文件包含溯源

    先上大佬解释的漏洞原理链接 https://mp.weixin.qq.com/s?__biz=MzIzMTc1MjExOQ==&mid=2247485036&idx=1&sn= ...