Linux文件权限和用户权限

发布网友 发布时间:2022-02-27 03:29

我来回答

3个回答

懂视网 时间:2022-02-27 07:50

产品型号:Thinkpad E15

系统版本:centos8

linux文件权限详解

[root@xuegod63 ~]# ll /etc/passwd

-rw-r--r--. 1 root root 2053 9月  19 2017 /etc/passwd

文件权限基本解释:

-        rw-        r--       r--.     1 root root 2053 9月  19 2017 /etc/passwd

 其中:文件类型,可以为p、d、l、s、c、b和 –

p表示命名管道文件

d表示目录文件

l表示符号连接文件

-表示普通文件

s表示socket套接口文件,比如我们启用mysql时,会产生一个mysql.sock文件

c表示字符设备文件,例: 虚拟控制台 或tty0

b表示块设备文件   例: sda, cdrom

例:

[root@xuegod63 ~]# ll /dev/sda /dev/cdrom  /etc/passwd /dev/tty0

lrwxrwxrwx  1 root root    3 9月  19 2017 /dev/cdrom -> sr0

brw-rw----  1 root disk 8, 0 9月  19 2017 /dev/sda

crw--w----  1 root tty  4, 0 9月  19 2017 /dev/tty0

-rw-r--r--. 1 root root 2053 9月  19 2017 /etc/passwd   如下效果图:

 权限说明

对于文件来说:

r:读 cat

w:写 vim echo

x:执行 运行命名或者脚本

对于目录来说:

r:读(看到目录里面有什么)   ls

w:在目录里面建文件,删除,移动  touch mkdir  rm  mv cp

x:进入 cd 

文件拥有者

UGO:所有者--用户组--其它用户

所有者: 就是创建文件的用户,这个用户拥有对它所创建的文件的一切权限,所有者可以允许其所在的用户组可以访问所有者的文件。

用户组: 用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。这就是用户组。

其它用户:系统内的其他所有者用户就是other用户类

常见几种文件权限组成

- rwx --- ---:文件所有者对文件具有读取、写入和执行的权限。

- rwx r-- r--: 文件所有者具有读、写与执行的权限,用户组里用户及其他用户则具有读取的权限

- rw- rw- r-x:文件所有者与同组用户对文件具有读写的权限,而其他用户仅具有读取和执行的权限。

drwx--x—x: 目录所有者具有读写与进入目录的权限,其他用户近能进入该目录,却无法读取任何数据。

drwx------: 除了目录所有者具有完整的权限之外,其他用户对该目录完全没有任何权限。

举例如下:

每个用户都拥有自己的专属目录,通常放置/home下

[root@xuegod63 home]# ll /home/

总用量 0

drwx------. 3 user1 user1 78 9月  19 2017 user1

注: [rwx------]表示目录所有者本身拥有的权限,其它用户是无法进入的。 root可以。

例2: 你以什么用户身份登录,那么你创建的文件或目录,自动成为该文件的所属主和组

[root@xuegod63 home]# su -user1

上一次登录:二 9月 19 12:57:21 CST 2017:0 上

[user1@xuegod63 ~]$ 

[user1@xuegod63 ~]$ touch a.txt

[user1@xuegod63 ~]$ ll a.txt 

-rw-rw-r-- 1 user1 user1 0 5月   8 20:58 a.txt

总结:

文件权限基本解释:

-        rw-        r--       r--.     1 root root 2053 9月  19 2017 /etc/passwd

 其中:文件类型,可以为p、d、l、s、c、b和 –

p表示命名管道文件

d表示目录文件

l表示符号连接文件

-表示普通文件

s表示socket套接口文件,比如我们启用mysql时,会产生一个mysql.sock文件

c表示字符设备文件,例: 虚拟控制台 或tty0

b表示块设备文件   例: sda, cdrom

热心网友 时间:2022-02-27 04:58

useradd user1  # 添加用户1
useradd user2  # 添加用户2
chmod 0770 /home/user2  #修改user2用户家目录权限,允许user2组可以进入,且user2组具有读写权限
groupmems -a user1 -g user2  # 将user1用户加入到user2组,进而可以进入到/home/user2目录
su - user1  # 切换到用户1
cd /home/user2/ # 用户1进入到用户2家目录
touch test{1..100}.txt # 创建test1-test100.txt文件
echo "I love linux;" > test100.xt
exit  # 退出user1的登陆
su - user2  # 切换到user2用户
mkdir test # 此时test的目录权限是775,而user1在user2组里,因此user1和user2都有读写权限。
任务完成。

在上面的内容中,#号后面都是注释,给你看的内容,执行的时候不要把#号后面的内容复制到命令行里面去。

追问谢谢

追答不客气

热心网友 时间:2022-02-27 06:16

useradd a1
useradd a2
cd /home/a2
touch test{1..100}.txt
echo "I love linux" > test100.txt
su a2
mkdir test
chmod -R 755 test

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com