[root@master ~]# useradd maple
[root@master ~]# ll /home
total 0
drwx------ 2 maple maple 62 Feb 7 20:47 maple
drwx------ 2 www www 62 Jan 17 21:05 www
[root@master ~]# passwd maple
Changing password for user maple.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@master ~]# id maple
uid=1002(maple) gid=1002(maple) groups=1002(maple)
[root@master ~]# cat /etc/passwd
[root@master ~]# su maple
[maple@master root]$
(1) 刚创建的用户权限受到极大限制,比如无法创建文件:
[maple@master opt]$ cd software/
[maple@master software]$ touch 1.txt
touch: cannot touch '1.txt': Permission denied
(2)一种解决方式是命令前面加sudo,本质是调用root用户的权限去执行命令,不过要使`用户`支持sudo本身需要进行设置, 需要修改的配置文件如下:
[root@master ~]# vim /etc/sudoers
>>添加如下内容:
(3) 重新创建文件
[maple@master software]$ sudo touch 1.txt
[maple@master root]$ exit
exit
[root@master ~]#
(1)userdel 用户名 (功能描述:删除用户但保存用户主目录)
(2)userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
[root@master ~]# groupadd wives
[root@master ~]# cat /etc/group
[root@master ~]# usermod -g wives gakki
2. 查看用户gakki所属的组
[gakki@master root]$ groups gakki
gakki : wives
[root@master ~]# groupdel -f wives
比如如下文件1.txt,'-'表示其为文件类型,'rw-'表示root用户拥有读写权限,第一个'r--'表示root组的用户拥有读权限,第二个'r--'表示其它组的用户拥有读权限, 1表示文件硬连接数量,第一个root表示用户,第二个root表示用户组, 0表示文件大小。
(1)作用到文件
[r] 代表可读(read): 可以读取,查看
[w] 代表可写(write): 可以修改,但是不能删除该文件,对该文件所在的目录有写权限,才能删除.
[x]代表可执行(execute):可以被系统执行
(2)作用到目录
[r] 代表可读(read): 可以读取,ls查看目录内容
[w] 代表可写(write): 可以修改,目录内创建+删除+重命名目录
[x] 代表可执行(execute):可以进入该目录
问题引入:
除了通过前面提到的sudo方式解决权限不足的问题,还可以直接通过开放`文件权限`的方式。
如下所示,并结合以上关于文件信息的基本解读,1.txt文件当前的用户和用户组均为root, 此时maple用户只有r(读)权限,因此要想maple用户具备(w)写的权限,有两种思路:
(1)直接将1.txt `其它用户拥有的权限`设置为`rw-`
(2)修改1.txt的用户组为maple,并且赋予该用户组(w)写的权限
[root@master software]# chmod o+w 1.txt
[root@master software]# ll
total 201464
-rw-r--rw- 1 root root 0 Feb 7 20:52 1.txt
如下所示,其它用户已经拥有对`1.txt`写的权限
修改文件(夹)权限的通用命令:
第一种方式:
chmod [{ugoa}{+-=}{rwx}] 文件或目录
说明:u表示修改用户,g表示修改用户组,o表示修改其它用户,a表示修改所有
+ 表示增加权限, -表示减少权限, =表示权限修改为
第二种方式
chmod [mode=421 ] [文件或目录]
说明: 三个`数字位`分别表示用户、用户组和其它用户
修改文件(夹)权限的其它案例:
# 为文件所属`主用户`添加执行权限
[root@master software] # chmod u+x houge.txt
# 为文件所属`主用户`添加执行权限
[root@master software]# chmod g+x houge.txt
# 为文件所属`主用户`减少执行权限,文件所属`其它用户`添加执行权限
[root@master software]# chmod u-x,o+x houge.txt
# 为文件所属`主用户`,`用户组`和`其它用户`开放所有权限
[root@master software]# chmod 777 houge.txt
# 为文件夹里面所有子文件夹和文件 所属`主用户`,`用户组`和`其它用户`开放所有权限(-R表示递归所有子文件夹和文件)
[root@master software]# chmod -R 777 xiyou/
# 修改1.txt所属的用户组为maple
[root@master software]# chgrp maple 1.txt
接下来开放maple用户组的写权限即可:
[root@master software]# chmod g+w 1.txt
如下所示:1.txt的所属用户组已经具备`写权限`
改变文件(夹)所属用户组的通用命令:
chgrp [最终用户组] [文件或目录]
改变文件(夹)所属`主用户`的通用命令:
chown [选项] [最终用户] [文件或目录]
示例: 修改1.txt的主用户为maple
[root@master software]# chown maple 1.txt