您的位置:首页 > 运维架构 > Linux

Linux常用命令及操作(二)查看用户组、更改文件(夹)权限、复制、将用户添加到root

2016-07-22 19:02 1701 查看
依旧是整理的最近用到的一些LINUX操作总结,本文技巧总结搜索自互联网,出处繁杂,不一一标注了。

LINUX下查看用户组

/etc/group 文件是用户组的配置文件。

/etc/passwd 文件是用户的配置文件。

使用cat、more、less、head、tail以及vim等命令都可以查看、修改这两个配置文件。



说明:

/etc/passwd的文件内容格式:注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序 。以root用户为例。root是用户注册名,X表示密码保存在/etc/shadow,用户ID为0,所在用户组ID为0,用户名是root,home目录为/root,解释程序/bin/bash。

/etc/group的文件内容格式: 组名:密码保存位置:组ID:组成员。以root用户组为例,即组名是root,密码保存位置为/etc/shadow,root组的GID为0,组下面的用户是root用户。

所有者

一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者

用ls ‐ahl命令可以看到文件的所有者

也可以使用chown 用户名 文件名来修改文件的所有者(需要权限)(changeowner)

文件所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组

用ls ‐ahl命令可以看到文件的所有组

也可以使用chgrp 组名 文件名来修改文件所在的组(需要权限)(changegroup)

其它组

除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

附:ls -al命令查看文件的归属



ls -al


a参数与l参数结合使用,以长列表形式显示所有目录及文件详细信息。包括文件类型、文件权限、硬连接数、文件拥有者、文件所属组、文件大小、更动时间、文件名等。其中

第1列:

   drwxr-xr-x代表文件的类型及权限

   以d开头的为文件夹,以-开头的为文件

   以l开头的为连接文件

第2列:文件的链接数.

第3、4列:拥有文件的用户及组

第5列:文件的大小。

第6列:文件最后的修改时间。

第7列:文件名

复制文件夹

cp -rf /home/wangshiming/Downloads/* /home/wangshiming/tools


   即为将Downloads下面所有的文件都复制到tools文件夹中。

   r表示递归 ,f表示强制

注:不清楚一个命令的用法时,可以使用以下命令来查看命令的具体使用方法

       - -help

       命令 -h

       man 命令

       info 命令

更改文件夹权限

想一次修改某个目录下所有文件的权限,包括子目录中的文件权限也要修改,要使用参数-R表示启动递归处理。

例如:

[root@localhost ~]# chmod 777 /home/user


注:仅把/home/user目录的权限设置为rwxrwxrwx



[root@localhost ~]# chmod -R 777 /home/user


注:表示将整个/home/user目录与其中的文件和子目录的权限都设置为rwxrwxrwx

而我在执行时遇到

user1 is not in the sudoers file.  This incident will be reported.


的问题,这种情况是因为用户user1并没有root的权限,所以需要为其添加权限(方法见下),如果依旧没有root的权限可以为yeqf加权限的话,那么可以尝试cp此文件夹下的文件到自己权限的文件夹下执行的方式来操作(仅对于部分输出文件有权限限制的情况,若输入文件也无读权限,则不行)

将用户添加到root配置文件中的方法:

切换到root用户,运行visudo命令



在打开的配置文件中,找到root ALL=(ALL) ALL,在下面添加一行

xxx ALL=(ALL) ALL 其中xxx是你要加入的用户名称



输入:wq保存并退出配置文件,再次使用sudo命令就不会有上面的提示了。

更改文件权限

(1)文字设定法:

u: user文件属主

g: group 与文件属主同组的用户

o: other 其他用户



r: read 读

w: write 写

x: execute 执行

例一:

   chmod a+x sort


  即设定文件sort的属性为:

  文件属主(u) 增加执行权限

  与文件属主同组用户(g) 增加执行权限

  其他用户(o) 增加执行权限

例2:

$ chmod ug+w,o-x text


  即设定文件text的属性为:

  文件属主(u) 增加写权限

  与文件属主同组用户(g) 增加写权限

  其他用户(o) 删除执行权限

例3:

$ chmod u+s a.out


  假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):

  –rws–x–x 1 inin users 7192 Nov 4 14:22 a.out

  并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw——-”,即该文件只有其属主具有读写权限。

  当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod命令中使用了s选项),所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为其他人不具备任何权限),这就是s的功能。

  因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非必要)这样可以保障系统的安全,避免因为某些程序的bug而使系统遭到入侵。

例4:

$ chmod a–x mm.txt

$ chmod –x mm.txt

$ chmod ugo–x mm.txt


  以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为所有使用者。

(2)数字设定法:

  0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

  例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。

  r: read 读,对应数字为4

  w: write 写, 对应数字为2

  x: execute 执行, 对应数字为1

例1:

$ chmod 644 mm.txt


  $ ls –l

  即设定文件mm.txt的属性为:

  -rw-r–r– 1 inin users 1155 Nov 5 11:22 mm.txt

  文件属主(u)inin 拥有读、写权限

  与文件属主同组人用户(g) 拥有读权限

  其他人(o) 拥有读权限

 例2:

$ chmod 750 wch.txt


  $ ls –l

  -rwxr-x- - - 1 inin users 44137 Nov 12 9:22 wchtxt

  即设定wchtxt这个文件的属性为:

  文件主本人(u)inin 可读/可写/可执行权

  与文件主同组人(g) 可读/可执行权

  其他人(o) 没有任何权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux