Linux-新建用户/群组以及修改文件权限

Linux 基础

操作系统
操作系统 Operating System 简称 OS ,是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁。

操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序。

什么是 Linux
Linux 系统内核与 Linux 发行套件的区别

  • Linux 系统内核指的是由 Linus Torvalds 负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。
  • Linux 发行套件系统是我们常说的 Linux 操作系统,也即是由 Linux 内核与各种常用软件的集合产品。

总结:真正的 Linux 指的是系统内核,而我们常说的 Linux 指的是“发行版完整的包含一些基础软件的操作系统”。

用户与权限

用户

Linux 是一个多用户的操作系统。在 Linux 中,理论上来说,我们可以创建无数个用户,但是这些用户是被划分到不同的群组里面的,有一个用户,名叫 root ,是一个很特殊的用户,它是超级用户,拥有最高权限。

  • useradd 添加新用户
    添加新用户之后,会在/home目录下新建一个用户名命名的文件夹
[root@localhost home]# useradd admin
[root@localhost ~]# ls /home
admin
  • passwd 修改用户密码
    出现了一点小插曲,密码长度第一次不符合要求,又重新输入一次
[root@localhost home]# passwd admin
Changing password for user admin.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
Sorry, passwords do not match.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.

  • su - 用户名 切换登录用户
    root切换admin不要密码 但是admin切换到root需要输入密码,因为两者权限不一样,root权限最高。
[root@localhost home]# su - admin
[admin@localhost ~]$ su - root
Password: 
Last login: Sat Dec  3 19:06:43 EST 2022 from 192.168.92.1 on pts/0
[root@localhost ~]# 

  • userdel 可以用来删除用户
    删除用户但是home下文件夹不会删除
[root@localhost ~]# userdel admin
[root@localhost ~]# su - admin
su: user admin does not exist
[root@localhost ~]# ls /home
admin


群组的管理

Linux 中每个用户都属于一个特定的群组,如果你不设置用户的群组,默认会创建一个和它的用户名一样的群组,并且把用户划归到这个群组。

  • groupadd 创建群组和useradd一样 见名知意
[root@localhost ~]# groupadd test

  • groupdel 删除一个已存在的群组
[root@localhost ~]# groupdel test

  • groups 查看用户所在群组
[root@localhost ~]# groups root
root : root
[root@localhost ~]# 

  • usermod 用于修改用户的账户。

【常用参数】

-l 对用户重命名。需要注意的是 /home 中的用户家目录的名字不会改变,需要手动修改。
-g 修改用户所在的群组,例如 usermod -g luck look修改look 用户的群组为 luck。

[root@localhost home]# groupadd luck
[root@localhost home]# usermod -g luck look
[root@localhost home]# groups look
look : luck
[root@localhost home]# 

-G 一次性让用户添加多个群组,例如 usermod -G all,both,apple look

[root@localhost home]#  groupadd all
[root@localhost home]#  groupadd both
[root@localhost home]#  groupadd apple
[root@localhost home]# usermod -G all,both,apple look
[root@localhost home]# groups look
look : luck all both apple
[root@localhost home]# 

-a -G 会让你离开原先的群组,如果你不想这样做的话,就得再添加 -a 参数,意味着append 追加的意思。

  • chgrp 用于修改文件的群组。
    chgrp all a.txt 将a.txt群组改为了 all
[root@localhost home]# touch a.txt
[root@localhost home]# ls
a.txt  look
[root@localhost home]# ll -s
total 0
0 -rw-r--r--. 1 root root  0 Dec  3 19:44 a.txt
0 drwx------. 2 look luck 62 Dec  3 19:37 look
[root@localhost home]# chgrp all a.txt
[root@localhost home]# ll -s
total 0
0 -rw-r--r--. 1 root all   0 Dec  3 19:44 a.txt
0 drwx------. 2 look luck 62 Dec  3 19:37 look
[root@localhost home]# 

  • chown 改变文件的所有者,需要 root 身份才能运行。
    将look用户创建的look.txt 转让给one用户
[root@localhost look]# ll -s
total 0
0 -rw-r--r--. 1 look luck 0 Dec  3 19:48 look.txt
[root@localhost look]# useradd one
[root@localhost look]# chown one look.txt 
[root@localhost look]# ll -s
total 0
0 -rw-r--r--. 1 one luck 0 Dec  3 19:48 look.txt
[root@localhost look]# 

look.txt 转让给one用户 并且所属群组改为all

[root@localhost look]# groups one
one : one
[root@localhost look]# chown one:all look.txt 
[root@localhost look]# ll -s
total 0
0 -rw-r--r--. 1 one all 0 Dec  3 19:48 look.txt
[root@localhost look]# 
  • -R 递归设置子目录和子文件
    chown -R one:all 20221203/
[look@localhost ~]$ ll -s
total 0
0 drwxr-xr-x. 2 look luck 6 Dec  3 19:54 20221203
0 -rw-r--r--. 1 one  all  0 Dec  3 19:48 look.txt
[look@localhost ~]$ 
[root@localhost look]# chown -R one:all 20221203/
[root@localhost look]# ll -s
total 0
0 drwxr-xr-x. 2 one all 6 Dec  3 19:54 20221203
0 -rw-r--r--. 1 one all 0 Dec  3 19:48 look.txt
[root@localhost look]# 

文件权限管理

chmod 修改访问权限
先系统的学习一下Linux的文件权限

[root@localhost home]# ll -s
total 0
0 -rw-r--r--. 1 root all   0 Dec  3 19:44 a.txt
0 drwxr-xr-x. 3 look luck 94 Dec  3 19:54 look
0 drwxr-xr-x. 2 one  one  62 Dec  3 19:49 one

drwxr-xr-x 表示文件或目录的权限

d :表示目录,就是说这是一个目录,普通文件是 - ,链接是 l 。
r :read 表示文件可读。
w :write 表示文件可写,一般有写的权限,就有删除的权限。
x :execute 表示文件可执行。
- :表示没有相应权限。
权限的整体是按用户来划分的,
d                  rwx           r-x                r-x
文件属性            所有者         群组用户           其他用户

现在再来理解这句权限 drwxr-xr-x 的意思:

它是一个文件夹;
它的所有者具有:读、写、执行权限;
它的群组用户具有:读、执行的权限,没有写的权限;
它的其它用户具有:读、执行的权限,没有写的权限。

用 chmod 来尝试修改权限。chmod 它不需要是 root 用户才能运行的,只要你是此文件所有者,就可以用 chmod 来修改文件的访问权限。

数字分配权限

权限	数字
r	4
w	2
x	1

要改变权限,只要做一些简单的加法就行:

chmod 640 look.txt # 
分析6 = 4 + 2 + 0 表示所有者具有 rw 权限
4 = 4 + 0 + 0 表示群组用户具有 r 权限
0 = 0 + 0 + 0 表示其它用户没有权限对应文字权限为:-rw-r-----

用字母来分配权限

u :user 的缩写,用户的意思,表示所有者。
g :group 的缩写,群组的意思,表示群组用户。
o :other 的缩写,其它的意思,表示其它用户。
a :all 的缩写,所有的意思,表示所有用户。
+ :加号,表示添加权限。
- :减号,表示去除权限。
= :等于号,表示分配权限。
chmod u+rx file --> 文件file的所有者增加读和运行的权限
chmod g+r file --> 文件file的群组用户增加读的权限
chmod o-r file --> 文件file的其它用户移除读的权限
chmod g+r o-r file --> 文件file的群组用户增加读的权限,其它用户移除读的权限
chmod go-r file --> 文件file的群组和其他用户移除读的权限
chmod +x file --> 文件file的所有用户增加运行的权限
chmod u=rwx,g=r,o=- file --> 文件file的所有者分配读写和执行的权限,群组其它用户分配读的权限,其他用户没有任何权限

你可能感兴趣的:(Linux,Linux系统教程,linux,服务器,运维)