Linux 文件系统用户与权限

https://www.cnblogs.com/tan-y-q/p/10879133.html

linux中每个文件(目录)都设有访问许可权限,利用这种机制来决定某个用户通过某种方式对文件(目录)进行读、写、执行等操作


➜  test # ls -lah                           
total 36
drwxr-xr-x   4 root root  190 Feb 24 10:47 .
drwxr-xr-x. 31 root root 4096 Jan 10 19:13 ..
-rw-r--r--   1 root root  121 Feb 24 10:46 clean.sh
-rw-r--r--   1 root root  220 Feb 18 14:59 docker-compose.yml
-rw-r--r--   1 root root 1529 Feb 21 13:56 Dockerfile
drwxr-xr-x   4 root root   74 Feb 19 14:15 tmp

ls命令执行结果的第1列为文件(目录)的权限标识
drwxrwxrwx => d rwx rwx rwx

- 10个字符确定不同用户能对文件干什么
- 第一个字符代表文件(-)、目录(d),链接(l)
- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
- 第一组rwx:文件所有者的权限是读、写和执行
- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
- 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行

rwx rwx rwx组合依次为"文件所有者、群组用户、其他用户"读写执行权限

100  4  r 读权限
10   2  w 写权限
1    1  x 执行权限

-rw-r--r--   1 root root  121 Feb 24 10:46 clean.sh

- 1标识文件链接数,文件为1,目录为该目录下除.目录的目录+文件的个数
- 第1个root 为文件所有者用户
- 第2个root 为文件所在的组
- 121标识文件大小(字节)

chmod 命令可以修改文件的用户权限
1、用rwx字母参数为全部用户添加该权限
chmod +x clean.sh  # 为该文件所有用户(文件所有者、群组用户、其他用户)添加执行权限
chmod +xr clean.sh # 为该文件所有用户添加读和写权限

chmod -w clean.sh # 为该文件所有用户去掉写权限

赋予指定用户类型文件操作权限
chmod u=rwx,g=rx,o=rx clean.sh # 同上u=用户权限,g=组权限,o=不同组其他用户权限
chmod u-x,g+w clean.sh         # 给clean.sh去除用户执行的权限,增加组写的权限

chmod a+r  clean.sh            # 给所有用户添加读的权限
chmod +r clean.sh              # 同上

2、用124数字参数为指定用户添加该权限;位置用户如下:
[文件所有者权限,群组用户权限,其他用户权限]

chmod 142 clean.sh # 为该文件的文件所有者添加执行权限,文件群组用户添加读权限,其他用户添加写权限
chmod 201 clean.sh # 为该文件的文件所有者添加写权限,文件群组用户添加无权限,其他用户添加执行权限

chmod 22 clean.sh  # 为该文件的文件所有者无权限,文件群组用户添加写权限2,其他用户添加写权限2;
chmod 022 clean.sh # 同上

同样 chmod 003 clean.sh 与 chmod 3 clean.sh 相同,只为其他用户添加写权限和执行权限;

数字权限参数可组合得到:
chmod 744 clean.sh # 为该文件的文件所有者添加读权限4+写权限2+执行权限1,文件群组用户添加读权限4,其他用户添加读权限4;
chmod 506 clean.sh # 为该文件的文件所有者添加读权限4+执行权限1,文件群组用户无权限,其他用户添加读权限4+写权限2;

3、改变文件的所有者(chown)和用户组(chgrp)命令

chown xiaoming clean.sh  # 改变clean.sh的所有者为xiaoming

chgrp root clean.sh      # 改变clean.sh所属的组为root

chown root ./tmp         # 改变tmp这个目录的所有者是root
chown ‐R root ./tmp     # 改变tmp这个目录及其下面所有的文件和目录的所有者是root


4、用户及所在组操作(需要root权限)

Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
Linux 的每个用户需要至少要属于一个组,一个组可以有多个用户
a. 添加组添加用户
groupadd 组名    # 添加组
useradd 用户名   # 添加用户

useradd -g group1 user1 # 添加user1到group1组
useradd user2           # 创建user2用户和user2组,系统自动创建和用户名相同的用户组,并将其设定

userdel -r user2  # 彻底删除用户包括/home/user2目录

userdel user2   # 只删除相关注册信息  /home/user2目录保留

b. 为创建用户的主组,同时创建同名/home/user2目录
cat /etc/group          # 查看组信息

passwd user1            # 给用户添加登录密码
cat /etc/passwd         # 查看用户信息

c. 修改用户组 在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组
usermod -g 组名 用户名  # 改变用户所在的组
usermod -g root user1

usermod -d 目录名 用户名 # 改变该用户登录的初始目录
usermod -d /root user1

groupadd 组名    添加用户组
useradd -g 组名 用户名    创建指定组的用户
usermod -g 组名 用户名    修改用户组

用户和组的相关文件
/etc/passwd文件------------ 用户信息
/etc/group文件------------- 组信息
/etc/shadow文件------------ 密码和登入信息(加密的)
 

Linux入门_words8的博客-CSDN博客

初识 linux ——— Linux的常用命令(1)_没钱怎么去旅行的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值