关于Linux

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Linux相关的知识,希望对你有一定的参考价值。

1 在当前目录中新建文件text,并设置文件的属性为:文件所有者增加执行权限,同组用户增加写权限,其他用户删除读权限。
2 在当前目录创建文件a.txt,b.txt,c.txt,并将上述三个文件合成一个文件abc.txt。
3 查看当前目录下所有的文件或目录(含.开头的),把查看结果生成文件ls.txt。
4 建立文件file3和文件file4。
5 在当前目录下建立文件exam1.c,将文件exam1.c拷贝到/usr 这个目录下,并改名为 shiyan1.c。
6 用长格式列出/home目录下所有的文件包括隐藏文件。
7 在当前目录中创建目录aaa,并把该目录的权限设置为只有文件主有读、写和执行权限。
8 在当前目录下新建文件file.txt , 更改文件的权限 增加文件所有者的读写执行权限.
9 建立文件ff.txt 并用数字的形式(绝对权限)把文件的权限改为rw-rw-rw-
10 用vi建立文件bbbb.txt 并将用户名加入其中保存退出。
11 在/root文件下建立一个文件夹AAA, 然后进入AAA文件夹,创建普通文件bbb。
12 在/root下面,新建newfile 文件,将该文件移动到/home下。
13 查看ex1.txt是不是在当前目录下存在,如果不存在,建立ex1.txt ;如果存在,查看文件的权限,修改其权限使得其他用户无读权限
14 关机命令
15 重启命令。
16 john用户在家目录中建立文件exam.c,将文件exam.c拷贝到/tmp 这个目录下,并改名为 shiyan.c。
17 显示当前工作目录的路径。
18 john用户在家目录中建立文件 file1.txt 并更名为 file2.txt。
19 root用户以用长格式列出/home目录下所有的文件包括隐藏文件。
20 创建/ book/english目录,将/book目录拷贝到/root目录下,然后再将/book及子目录删除。
21 在任何目录下回到当前用户主目录。
22 john用户在家目录中创建目录aaa,并把该目录的权限设置为只有文件拥有者有读、写和执行权限,组内用户和其他用户无任何权限。
23 创建用户xu和liu并将/home/xu目录中的所有文件拷贝到目录/home/liu中。
24 新建一个组group1 ,将root用户添加到该组,并查看是否添加成功。
25 新建用户john,用john登录,用cat创建文件ex1.txt,使其内容为Hello!
26 建立一个新用户user2并把它加入到root组中,设置user2的密码为:123qwer4
27 统计一下/etc/passwd中共有多少个用户(包含系统用户)。
28 创建用户hello,并将其密码设置为world,使用hello用户登陆系统。
29 查看自己登录时用的什么Shell。
30 查看自己的uid和gid。
31 新建一个组team, 在team组下面新建用户bruce.
32 添加用户john,并且查看用户的信息

2:cat *.txt > abc.txt
3: ls -a > ls.txt
4:touch file3 file4
___________--
太T.M.多了伤不起啊
参考技术A 27 统计一下/etc/passwd中共有多少个用户(包含系统用户)。
cat /etc/passwd | wc -l
参考技术B 1:mkdir text
chmod <000-777权限位> text
........有点多,伤不起!
参考技术C 好多哦,要写答案呀

Linux关于权限

文章目录


Linux安全系统的核心就是用户账户。
不同的用户对系统的访问权限是不同的。
用户权限通过用户创建时的UID来追踪。


Linux有专门的文件来用户信息(包括UID),就是 /etc/passwd 文件。

/etc/passwd

kylin@kylin-thinkpadx390:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync

...
kylin:x:1000:1000:kylin:/home/kylin:/bin/bash
sshd:x:121:65534::/run/sshd:/usr/sbin/nologin
test:x:1001:1001::/home/test1:/bin/sh

其中:

  1. 分段意义:登录用户名:密码:UID:GID:用户账户的文本描述:HOME目录的位置:用户的默认shell
  2. root用户是系统的管理员,通常给它分配的UID是0;
  3. 所有运行你是的服务都需要一个系统用户账户登录在系统上;
  4. Linux为系统用户预留了500以下的UID
  5. /etc/passwd 是标准的文本文件,任何人都可以修改 /etc/passwd 的内容,比如添加、修改或删除用户账户,但是不推荐这样做。如果该文件损坏,系统就无法读取该文件的内容,用户就不能正常登录了。

为解决上述问题,/etc/shadow出现啦。

只有root用户才可访问 /etc/shadow

/etc/shadow

root@kylin-thinkpadx390:/home/kylin# cat /etc/shadow
root:*:19201:0:99999:7:::
daemon:*:19201:0:99999:7:::
bin:*:19201:0:99999:7:::
...
kylin:$6$BjTYGcblhb54H0su$D.GERK4yTsRdkFPCFpEnJW9FvfCvJkIBKm7H4BUB6UblqzG5UYHXRS5oIyOdPwlaJvaKPXppffp3yxv.LIcn80:19219:0:99999:7:::

其中:

  1. 分段意义:登录名:加密后的密码:1970.1.1到当天的天数:多少天后可修改密码:过期前多少天提示修改密码:密码过期后多少天禁用用户:用户被禁用的日期:预留字段
  2. 使用shadow密码系统后,Linux系统可以更好的控制用户密码了。

用户操作

添加新用户

useradd

root@kylin-thinkpadx390:/home/kylin# useradd test2
参数描述
-c comment给新用户添加备注
-d home_dir为主目录指定一个名字(如果不想用登录名作为主目录名的话)
-m创建用户的HOME目录
-M不创建用户的HOME目录
-r创建系统用户
-u uid为用户指定UID
-g intiial_group指定用户登录组的GID或组名

删除用户

第一种:userdel test
默认情况下,userdel只会删除/etc/passwd 文件中的用户信息,而不会删除系统中属于该账户的任何文件。

第二种:userdel -r test
加上-r参数,用户之前的/home/test目录不会存在了

修改用户信息

命令描述
usermod 修改用户账户
passwd修改用户密码
chpasswd从文件中读取登录名密码对,并更新密码
chage修改密码过期时间
chfn修改备注信息
chsh修改默认登录shell
  • 其中,usermod使用最多,最强大
#关于usermod的参数:
-l	#修改用户账户的登录名
-L	#锁定账户
-p	#修改密码
-U	#解除用户锁定
  • 关于密码修改的问题
    用户可以改变自己的密码,root可以改变其他用户的密码。
    1.passwd user
    可以加 -e 参数,来强制用户下次登录的时候修改密码。
    2.chpasswd < users.txt:批量修改密码

关于组

组权限允许多个用户共享一组共同的权限来访问系统上的兑现,比如文件、目录等。

  • 有的Linux发行版会创建一个组,所有的用户都是这个组的成员。(不安全)
  • 有些发行版,每个用户都是一个单独的组

/etc/group

常见的组信息:

cyq@WIN-055RJ0QN2GS:/$ cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,cyq

解析: 组名:组密码:GID:属组用户列表

创建组

groupadd shared

修改组

groupmod

groupmod -n sharing shared # -n  修改组名

groupmod -g NewUID OldUID  # -n 修改组id

权限解析

cyq@WIN-055RJ0QN2GS:/$ ls -l
total 620
lrwxrwxrwx  1 root root      7 Mar 25 05:40 bin -> usr/bin
drwxr-xr-x  1 root root   4096 Mar 25 05:47 boot
drwxr-xr-x  1 root root   4096 Aug 26 22:02 dev
drwxr-xr-x  1 root root   4096 Aug 26 22:02 etc
drwxr-xr-x  1 root root   4096 Aug 26 22:02 home
-rwxr-xr-x  1 root root 632096 Feb 12  2022 init
lrwxrwxrwx  1 root root      7 Mar 25 05:40 lib -> usr/lib
lrwxrwxrwx  1 root root      9 Mar 25 05:40 lib32 -> usr/lib32
lrwxrwxrwx  1 root root      9 Mar 25 05:40 lib64 -> usr/lib64
lrwxrwxrwx  1 root root     10 Mar 25 05:40 libx32 -> usr/libx32
drwxr-xr-x  1 root root   4096 Mar 25 05:40 media
drwxr-xr-x  1 root root   4096 Aug 26 22:01 mnt
drwxr-xr-x  1 root root   4096 Mar 25 05:40 opt
dr-xr-xr-x  9 root root      0 Aug 26 22:02 proc
drwx------  1 root root   4096 Mar 25 05:42 root
drwxr-xr-x  1 root root   4096 Aug 26 22:02 run
符号描述
-文件
d目录
l链接
c字符型设备
b块设备
n网络设备
r可读
w可写
x可执行

以上是关于关于Linux的主要内容,如果未能解决你的问题,请参考以下文章

第一章 关于linux历史

关于Linux下DD测试磁盘的坑!!

关于linux教程问题

关于Linux下的段错误

《00001》关于Linux的历史

关于Linux命令的用法