linux基础总结之三

linux基础总结之三

文件管理,用户管理,组用户,权限管理相关的命令

一、文件管理

文件相关命令: 【touch/rm/rmdir/cat/head/less/more】

#touch命令可以用来创建空文件或刷新文件的时间
#touch命令创建空文件
[root@rocky8 ~]# touch 1.txt
[root@rocky8 ~]# ls -l
total 4
-rw-r--r--  1 root root    0 Oct 24 15:38 1.txt
-rw-------. 1 root root 1109 Oct  9 10:34 anaconda-ks.cfg
#touch命令刷新文件的时间
[root@rocky8 ~]# touch anaconda-ks.cfg 
[root@rocky8 ~]# ls -l
total 4
-rw-r--r--  1 root root    0 Oct 24 15:38 1.txt
-rw-------. 1 root root 1109 Oct 24 15:41 anaconda-ks.cfg

#rm命令删除文件或目录(-f 强制删除,-r 递归)
[root@rocky8 ~]# rm -rf ~/1.txt

#rmdir命令删除空目录(注意该命令无法删除非空目录)
[root@rocky8 ~]# mkdir test1 test2
[root@rocky8 ~]# echo 111111  > test2/1.txt
#可以看到rmdir命令可以删除空目录,而无法删除非空目录
[root@rocky8 ~]# rmdir test1
[root@rocky8 ~]# rmdir test2
rmdir: failed to remove 'test2': Directory not empty

#cat命令查看文件内容
#普通输出
[root@rocky8 ~]# cat test        
1111111111
2222222222

3333333333
#开头显示行号
[root@rocky8 ~]# cat -n test     
1  1111111111
2  2222222222
3
4  3333333333

#head命令将每个指定文件的头10行显示到标准输出。#head -10 /etc/passwd
[root@rocky8 ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
##显示开头前2行
[root@rocky8 ~]#  head  -2 /etc/passwd  
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
##除最后2行外,显示剩余全部内容
[root@rocky8 ~]#  head -n -2 /etc/passwd 
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin

#less 与more命令类似,可以通过翻页键查看上下页的内容 或者more /etc/passwd
命令内部操作

按键功能如下:
b 向前翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一页
回车键 滚动一行 
[root@rocky8 ~]# less /etc/passwd  
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
sssd:x:996:993:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

二、用户、用户组和其他用户概念

因为Linux是多用户多任务为特色,所以用户、用户组和其他用户的概念很重要。

用户及组:user/group 【useradd/userdel/usermode; groupadd/groupdel/groupmod; chsh/…】

用户: Linux是多用户多任务的系统,每个用户都有自己的个人隐私,这就是用户的作用。

用户组: Linux是多用户多任务的系统,你想和你团队合作者一起分享某些文件,非团队的用户不能看你分享的文件,这就是用户组的作用。(一个用户可以有多个用户组)

其他用户: Linux是多用户多任务的系统,例如一个人陌生人(其他用户)想要进入你家(用户组),你(用户)肯定不会让他进来,也肯定不会把你的隐私(用户拥有的文件)给他看。

注:root身份是超级管理员,拥有超级权限,不管你的文件或目录有没有设置权限,root身份的用户都可以进行各种操作。此时建议创建一个普通用户进行操作。

如何查看普通文件所拥有的用户,用户组,其他用户权限呢?

[root@rocky8 ~]# ls -ld /etc
drwxr-xr-x. 82 root root 8192 Oct 24 10:18 /etc
#可以看出这个/etc目录归属用户是root,归属用户组也是root,归属用户可以进行读、写、执行操作,归属用户组可读、不可写、可执行,其他用户可读、不可写、可执行。

#useradd 命令可以创建新的Linux用户
#创建新用户test
[root@rocky8 ~]# useradd test
#创建新用户test1并指定其家目录为/home/test1
[root@rocky8 ~]# useradd -d /home/test1 test1
#创建新用户test2,指定用户组为mytest,并指定用户家目录为/home/test2
[root@rocky8 ~]# useradd -g mytest -d /home/test2 test2

#usermod 命令可以修改用户属性
#更改test1用户的家目录为/home/test3
[root@rocky8 ~]# usermod -d /home/test3 test1

#userdel 可删除Linux 用户
[root@rocky8 ~]# userdel test

#groupadd 命令创建新的用户组
#添加一个用户组mytest
[root@rocky8 ~]# groupadd  mytest
#添加一个用户组test,并指定GID
[root@rocky8 ~]# groupadd -g 456 test

#groupmod 命令修改用户组的属性
#将test1组名换成test2
[root@rocky8 ~]# groupmod test1 -n test2
#将test2的gid换成234
[root@rocky8 ~]# groupmod -g 234 test

#groupdel 命令删除用户组
[root@rocky8 ~]# groupdel test

#chsh 命令用于改变用户的登录 shell. 如果没有在命令行上指定 shell, chsh能够做出提示.
#改变当前用户shell,设置为 /bin/csh
[root@rocky8 ~]# chsh -s /bin/sh  
Changing shell for root.
Shell changed.


三、文件和目录权限概念和设置命令详解

1、文件和目录权限概念: 从上面的例子可以看出用户(这里我就只用用户来讲,用户组和其他用户同理)对文件和目录有读、写和执行三个类型权限。对用户进行可否读、可否写以及可否执行的限制。文件和目录权限有所不同所以我分开讲一下。

2、文件权限:
(1)读( r ): 可否对文件内容的查看。

(2)写( w ): 可否对文件进行修改。(但不能删除该文件。这点很重要!!!)

(3)执行( x ): 可否该文件可以被系统执行。(可执行和执行成功有区别,例如一个文档如果有可执行权限,就可以执行这个文件,但是能否执行成功得看有没有可执行代码)

3、目录权限:
(1)读( r ): 可否查看此目录下的文件名和目录。

(2)写( w ): 写对目录来说有很大的权利

  • 权利1:在该目录下创建新的文件或目录;

  • 权利2:在该目录下删除文件或目录(不管该文件目录的权限);

  • 权利3:将该目录下文件或目录进行更名或移动。

(3)执行( x ): 能否进入目录

注:一般给任何人看你的目录要同时开放r和x(w权限不要随便给!),但自己进行操作时,你确实知道目录下确实有这个文件,有x权限就够了。

四、权限管理 chown、chgrp和chmod区分和用法详解

权限 【chmod/chown/setfacl】

一、权限设置命令
以下操作切换为root身份不然有可能受到权限的限制

**1、chown:**修改文件所属用户 (如果你想连目录下的所有文件目录的所属用户都改了就用-R,例如 “chown -R root 文件或目录” )

2、chgrp: 修改文件所属用户组;(如果你想连目录下的所有文件目录的所属用户都改了就用-R,例如 “ chgrp -R root 文件或目录 ” )

3、chmod: 修改文件的权限。

(1)、数字类型修改文件权限:**r:4 w:2 x:1(2)、符号类型修改文件权限:
**u:用户
g:用户组
o:其他用户
a:所有身份(用户、用户组和其他用户)

(2)、符号类型修改文件权限:**+:加入 -: 移除 =:设置 ** r:读 w:写 x:执行

#chown命令更改每个文件的所有者和/或所属组  注意chown -R 可以递归处理所有的文件及子目录
[root@rocky8 ~]# ls -l
-rw-r--r--  1 root root    0 Oct 24 16:37 2.txt
[root@rocky8 ~]# chown test1:test1 2.txt 
[root@rocky8 ~]# ls -l
-rw-r--r--  1 test1 test1    0 Oct 24 16:37 2.txt

#chgrp命令改变文件的组所有权
[root@rocky8 ~]# ls -l
-rw-r--r--  1 test1 test1    0 Oct 24 16:37 2.txt
[root@rocky8 ~]# chgrp test2 2.txt 
[root@rocky8 ~]# ls -l
-rw-r--r--  1 test1 test2    0 Oct 24 16:37 2.txt

#chmod命令 将每个文件的模式更改为指定值
[root@rocky8 ~]# ls -l
-rw-r--r--  1 root root    0 Oct 24 16:43 3.txt
[root@rocky8 ~]# chmod 655 3.txt 
[root@rocky8 ~]# ls -l
-rw-r-xr-x  1 root root    0 Oct 24 16:43 3.txt
[root@rocky8 ~]# chmod go-x 3.txt 
[root@rocky8 ~]# ls -l
-rw-r--r--  1 root root    0 Oct 24 16:43 3.txt

#setfacl命令 设定文件访问控制列表
#getfacl命令 获取文件访问控制列表
[root@rocky8 ~]# getfacl test
# file: test
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
##修改文件的acl权限,修改test目录的用户组权限为只读
[root@rocky8 ~]# setfacl -m g:test1:r-- test
[root@rocky8 ~]# getfacl  test
# file: test
# owner: root
# group: root
user::rwx
group::r-x
group:test1:r--
mask::r-x
other::r-x
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fqssl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值