Linux基础知识

Linux的相关指令

  1. Linux文件属性
    1) 以root的身份登入Linux之后,命令ls -al 查看
    在这里插入图片描述
    2)- r w x r w x- - -
    -:表示档案类型;
    r:可读;
    w:可写;
    x:可执行
    以上rwx总体表示档案拥有者的权限。
    后面的rwx表示档案所属群组的权限;- - -表示其他人的权限。
    接下来的字符中,以三个为一组,且均为rwx的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

例如:[-] [rwx] [r-x] [r- -]

[-] [rwx] [r-x] [r- -]
1 234 567 890

1 234 567 890

1 为:代表这个文件名为目录或文件,本例中为文件(-);

234为:拥有者的权限,本例中为可读、可写、可执行(rwx);

567为:同群组用户权力,本例中为可读可执行(rx);

890为:其他用户权力,本例中为可读®

例1:假设test1, test2, test3同属于testgroup这个群组,如果有下面的两个文件,请说明两个文件的拥有者与其相关的权限为何?-rw-r–r-- 1 root root 238 Jun 18 17:22 test.txt
-rwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 ping_tsai

文件test.txt的拥有者为root,所属群组为root。至于权限方面则只有root这个账号可以存取此文件,其他人则仅能读此文件;

另一个文件ping_tsai的拥有者为test1,而所属群组为testgroup。其中:test1 可以针对此文件具有可读可写可执行的权力;而同群组的test2, test3两个人与test1同样是testgroup的群组账号,则仅可读可执行但不能写(亦即不能修改);至于非testgroup这一个群组的人则仅可以读,不能写也不能执行!

例2:如果我的目录为如下的样式,请问testgroup这个群组的成员与其他人(others)是否可以进入本目录?

drwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 groups/

文件拥有者test1[rwx]可以在本目录中进行任何工作;而testgroup这个群组[r-x]的账号,例如test2, test3亦可以进入本目录进行工作,但是不能在本目录下进行写入的动作;至于other的权限中[r–]虽然有r ,但是由于没有x的权限,因此others的使用者,并不能进入此目录!(拥有w或x才可进入目录)

3)改变文件属性及权限
常用的群组、拥有者、各种身份权限的修改的指令:
chgrp(change group的缩写):改变文件所属群组;
chown :改变文件拥有者;
chmod :改变文件的权限, SUID, SGID, SBIT等等的特性。

  • chgrp:改变所属群组
    被改变的组名必须要在/etc/group文件内存在才行,否则就会显示错误。
    例3:假设你是以root的身份登入Linux系统的,那么在你的家目录内有一个install.log的文件, 如何将该文件的群组改变一下呢?假设你已经知道在/etc/group里面已经存在一个名为users的群组, 但是testing这个群组名字就不存在/etc/group当中。这时候就会出现以下情况:
    [root@www ~]# chgrp users install.log
    [root@www ~]# ls -l
    -rw-r–r-- 1 root users 68495 Jun 25 08:53 install.log
    [root@www ~]# chgrp testing install.log
    chgrp: invalid group name `testing’ <== 发生错误~找不到这个群组名。
    文件的群组被改成users了,但是要改成testing的时候, 就会发生错误。
  • chown :改变文件拥有者
    chown这个指令要求用户必须是已经存在系统中的账号,也就是在/etc/passwd 这个文件中有纪录的用户名称才能改变。
    如果要连目录下的所有次目录或文件同时更改文件拥有者的话,直接加上 -R的选项即可。

例4:[root@www ~]# chown [-R] 账号名称 文件或目录
[root@www ~]# chown [-R] 账号名称:组名 文件或目录
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都变更

例:将install.log的拥有者改为bin这个账号:
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r–r-- 1 bin users 68495 Jun 25 08:53 install.log

例:将install.log的拥有者与群组改回为root:
[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r–r-- 1 root root 68495 Jun 25 08:53 install.log
有时候需要变更文件的拥有者,最常见的方法就是用cp指令复制文件给你之外的其他人,由于复制行为(cp)会复制执行者的属性与权限,所以.bashrc_test还是属于root所拥有, 如此一来,即使你将文件拿给bin这个使用者了,那他仍然无法修改的(看属性/权限), 所以你就必须要将这个文件的拥有者与群组修改一下。

  • chmod:改变权限
    文件权限的改变使用的是chmod这个指令。权限的设定方法有两种:使用数字或者是符号来进行权限的变更。

1)数字类型改变文件权限
Linux文件的基本权限只有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限, 先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4
w:2
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0

例5:如果要将.bashrc这个文件所有的权限都设定启用,那么操作如下:
[root@www ~]# ls -al .bashrc
-rw-r–r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
那如果要将权限变成『 -rwxr-xr-- 』,那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754,所以你需要下达『chmod 754 filename』。

2) 符号类型改变文件权限
前面的介绍中我们可以知道九个权限分别是(1)user (2)group (3)others三种身份,分别用u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x!可以用以下表格表示:

chmodu
g
o
a
+(加入)
-(除去)
=(设定)
r
w
x
文件或目录

例6:一个文件的权限成为『-rwxr-xr-x』时,user (u):具有可读、可写、可执行的权限;group 与 others (g/o):具有可读与执行的权限。
[root@www ~]# chmod u=rwx,go=rx .bashrc
注意u=rwx,go=rx 是连在一起的,中间并没有任何空格!
[root@www ~]# ls -al .bashrc
-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc

那么如果是『 -rwxr-xr-- 』这样的权限则可以使用『 chmod u=rwx,g=rx,o=r filename 』来设定。此外,如果我不知道原先的文件属性,而想要增加.bashrc这个文件的每个人均可写入的权限, 那么就可以使用:
[root@www ~]# ls -al .bashrc
-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod a+w .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
而如果是要将权限去掉而不更动其他已存在的权限,例如要拿掉全部人的可执行权限,则:
[root@www ~]# chmod a-x .bashrc
[root@www ~]# ls -al .bashrc
-rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值