Linux用户、用户组、文件权限
一、文件或目录权限说明:
切换到工作目录【/home/star/Documents】下:
[star@localhost Documents]$ ls -l total 24 -rw-rw-r--. 1 star star 9368 Aug 9 03:52 account_main.js -rw-rw-r--. 1 star star 1424 Sep 19 07:01 collection.txt -rw-rw-r--. 1 star star 718 Aug 5 08:28 linux command.txt drwxrwxr-x. 2 star star 6 Sep 19 06:44 temp -rw-rw-r--. 1 star star 50 Sep 19 07:03 today.txt
总共10个字符(比如-rw-rw-r--),共同确定用户能对文件做什么操作
- 第一个字符代表文件(-)、目录(d),链接(l)
- 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)
- 第一组rw-:文件所有者的权限是读、写但不能执行
- 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行
- 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行
即文件主权限是可读、可写;同组用户权限是可读、可写;其他用户权限是只可读。
在linux终端先输入ll,可以看到如: -rwx-r--r-- (一共10个参数) 表示文件所属组和用户的对应权限。 第一个跟参数属于管理员,跟chmod无关,先不管. 2-4参数:属于user 5-7参数:属于group 8-10参数:属于others 接下来就简单了:r==>可读 w==>可写 x==>可执行 r=4 w=2 x=1 所以755代表 rwxr-xr-x 777 代表 rwxrwxrwx 所有用户都可读可写可执行。
3个字符分组(除去第一个字符),也可用数字表示,具体为:r=4,w=2,x=1,比如rwxr-xr-x表示为755,777 表示 rwxrwxrwx
-rw-rw-r--. 1 star star 1424 Sep 19 07:01 collection.txt
其中,1 表示连接的文件数,star表示用户,star表示用户所在的组,1424表示文件大小(字节),Sep 19 07:01表示最后修改日期,account_main.js表示文件名
二、改变权限的命令:
chmod 改变文件或目录的权限
chmod 755 account_main.js:赋予account_main.js权限rwxr-xr-x
chmod 777 account_main.js:赋予account_main.js权限rwxrwxrwx
chmod u=rwx,g=rx,o=rx collection.txt:同上u=用户权限,g=组权限,o=不同组其他用户权限
chmod u-x,g+w collection.txt:给collection.txt去除用户执行的权限,增加组写的权限
chmod a+r collection.txt:给所有用户添加读的权限
三、改变所有者(chown)和用户组(chgrp)命令
chown sam collection.txt:改变collection.txt的所有者为sam
chgrp root collection.txt:改变collection.txt所属的组为root
chown root ./collection.txt:改变collection.txt这个目录的所有者是root
chown ‐R root ./collection.txt:改变collection.txt这个目录及其下面所有的文件和目录的所有者是root
把当前目录下的文件及目录的属主改为mysql用户
chown -R mysql .
把当前目录下的文件及目录所属的组改为mysql
chgrp -R mysql .
改变用户所在组:
在添加用户时,可以指定将该用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组
- usermod ‐g 组名 用户名
你可以用
- usermod ‐d 目录名 用户名,改变该用户登录的初始目录
四、创建用户和用户组
创建mysql用户组和mysql用户
groupadd mysql
useradd -g mysql mysql