依旧是整理的最近用到的一些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) 没有任何权限