济南建站都选企汇优先做后付,浙江城乡建设网站,wordpress和ucenter,求职seo服务一#xff0c;ACL权限
1.1#xff0c;什么是acl权限#xff1f;
ACL是Access Control List的缩写#xff0c;即访问控制列表。可以通过下列的实例来理解ACL的作用#xff1a;
思考如何实现如下的权限控制#xff1a;
每个项目成员在有一个自己的项目目录#xff0c;…一ACL权限
1.1什么是acl权限
ACL是Access Control List的缩写即访问控制列表。可以通过下列的实例来理解ACL的作用
思考如何实现如下的权限控制
每个项目成员在有一个自己的项目目录对自己的目录有完全权限项目组中的成员对项目目录也有完全权限其他人对项目目录没有任何权限对于被分配进入项目的临时人员只有读和执行权限不能修改
如何实现
初步思路
创建一个临时组例如temp并将临时组的权限设置位 r-w将临时组也作为项目目录的所属组对于临时用户作为临时组的成员即可
问题
Linux基本权限中文件和目录同时只能有一个分组使用ACL来解决上面的问题
1.2 操作步骤
操作流程
#1添加测试目录用户组并将用户添加到组
#创建一个目录
[rootlocalhost ~]# mkdir /project
#创建一个用户
[rootlocalhost ~]# useradd swt
[rootlocalhost ~]# useradd dhy
#创建一个组
[rootlocalhost ~]# groupadd tgroup
#将swt加入到组中
[rootlocalhost ~]# gpasswd -a swt tgroup
正在将用户“swt”加入到“tgroup”组中
#将dhy加入到组中
[rootlocalhost ~]# gpasswd -a dhy tgroup
正在将用户“dhy”加入到“tgroup”组中
#可以查看组是否建立成功
[rootlocalhost ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
input:x:999:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:998:
libstoragemgmt:x:997:
ssh_keys:x:996:
abrt:x:173:
rpc:x:32:
sshd:x:74:
slocate:x:21:
postdrop:x:90:
postfix:x:89:
chrony:x:995:
ntp:x:38:
tcpdump:x:72:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
swt:x:1000:
dhy:x:1001:
tgroup:x:1002:swt,dhy
#2修改目录的所有者和所属组
[rootlocalhost ~]# chown root:tgroup /project
[rootlocalhost ~]# ll -d /project
drwxr-xr-x. 2 root tgroup 6 3月 15 11:57 /project
#3设定权限
[rootlocalhost ~]# chmod 770 /project
[rootlocalhost ~]# ll -d /project
drwxrwx---. 2 root tgroup 6 3月 15 11:57 /project
#4此时需要为临时用户进行分配权限r-x
# 添加临时用户
[rootlocalhost ~]# useradd tempuser
[rootlocalhost ~]# passwd tempuser
更改用户 tempuser 的密码 。
新的 密码
无效的密码 密码少于 8 个字符
重新输入新的 密码
抱歉密码不匹配。
新的 密码
无效的密码 密码少于 8 个字符
重新输入新的 密码
passwd所有的身份验证令牌已经成功更新。
# 为临时用户分配权限
[rootlocalhost ~]# setfacl -m u:tempuser:rx /project
[rootlocalhost ~]# getfacl /project
getfacl: Removing leading / from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx
user:tempuser:r-x
group::rwx
mask::rwx
other::---
# 查看目录权限注意表示文件或目录由acl权限
[rootlocalhost ~]# ll -d /project
drwxrwx--- 2 root tgroup 6 3月 15 11:57 /project
#5验证acl权限
#切换到tempuser用户
[rootlocalhost ~]# su tempuser
# 进入到tempuser目录
[tempuserlocalhost root]$ cd /project
# 创建一个test.txt文件明显权限不够
[tempuserlocalhost project]$ touch test.txt
touch: 无法创建test.txt: 权限不够
#切换到管理员
[tempuserlocalhost project]$ su root
密码
#6控制组acl权限
# 创建一个temp组
[rootlocalhost project]# groupadd temp
# 设置组的acl权限
[rootlocalhost project]# setfacl -m g:temp:rx /project
# 查看设置后的acl
[rootlocalhost project]# getfacl /project
getfacl: Removing leading / from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx
user:tempuser:r-x
group::rwx
group:temp:r-x
mask::rwx
other::---
# 创建一个用户并将该用户设置为temp组
[rootlocalhost project]# useradd tempu02
[rootlocalhost project]# passwd tempu02
更改用户 tempu02 的密码 。
新的 密码
无效的密码 密码少于 8 个字符
重新输入新的 密码
passwd所有的身份验证令牌已经成功更新。
# 将用户添加到temp组中
[rootlocalhost project]# gpasswd -a tempu02 temp
正在将用户“tempu02”加入到“temp”组中
# 验证
[rootlocalhost project]# su tempu02
# 可以进入目录
[tempu02localhost project]$ cd /project
[tempu02localhost project]$ ls
# 不能创建文件
[tempu02localhost project]$ touch aa.txt
touch: 无法创建aa.txt: 权限不够
1.3 acl中的mask修改最大权限
看下面的信息
[rootlocalhost ~]# getfacl /project
getfacl: Removing leading / from absolute path names
# file: project
# owner: root
# group: tgroup
user::rwx# 所属用户权限
user:tempuser:r-x# 临时用户权限
group::rwx# 所属组权限 文件创建时的所属组
group:temp:r-x# 一般组的权限 创建的临时组
mask::rwx# 权限掩码用来控制最大权限 ✨
other::---
最大权限是什么 如果给用户赋予了ACL权限则用户所获取的权限并不是ACL时所附的权限而是赋予的ACL权限 与 mask权限 进行 与 操作 之后的权限。例如user:tempuser:r-x 第一位是r mask的第一位也是r 则与操作后用户则有 r 的权限 user:tempuser:r-x 第二位是 - mask的第二位是 w则与操作后用户则没有 w 的权限。
最大权限的作用
mask的默认值为rwx即最大权限任何其他的权限值和mask相“与”都会得到其自身 可以通过调整mask的方式来控制分配给用户的最大权限例如 mask值调整为 r-x 则不管是否给用户分配”w”权限用户都没有“w”的权限。mask可以用来避免权限分配不当而给系统带来的风险。
注意mask不会影响文件所有者的权限
实验
#设置mask
[rootlocalhost ~]# setfacl -m:rx /project
# 查看mask
[rootlocalhost ~]# getfacl /project
getfacl: Removing leading / from absolute path names
# file: project
# owner: root
# group: tgroup
user::r-x
user:tempuser:r-x
group::rwx
# 所属组虽然设置的权限为rwx但实际的权限r-x
group:temp:r-x
# 修改之后的mask
mask::rwx
other::---1.4ac权限的删除
# 删除指定acl其权限
[rootlocalhost ~]# setfacl -x u:tempuser /project
# 查看acl权限
[rootlocalhost ~]# getfacl /project
getfacl: Removing leading / from absolute path names
# file: project
# owner: root
# group: tgroup
user::r-x
group::rwx
group:temp:r-x
mask::rwx
other::---# 删除所有acl权限
[rootlocalhost ~]# setfacl -b /project
[rootlocalhost ~]# getfacl /project
getfacl: Removing leading / from absolute path names
# file: project
# owner: root
# group: tgroup
user::r-x
group::rwx
other::---# 注意 权限没有
[rootlocalhost ~]# ll -d /project
dr-xrwx---. 2 root tgroup 6 3月 15 11:57 /project1.5acl权限的递归及默认值
所属递归指定目录下的所有文件及其子目录都具体指定的ACL权限属性
注意ACL权限只对已有的文件或目录起作用对新加的不起作用
acl的默认值如果希望新加的文件或目录都具有父目录所拥有的ACL权限属性则需要设置默认值
# 切换到project目录
[rootlocalhost ~]# cd /project
# 设置acl权限
[rootlocalhost project]# setfacl -m u:tempuser:rx /project
[rootlocalhost project]# ll -d
dr-xrwx--- 2 root tgroup 6 3月 15 11:57 .
# project目录已经设置好了ACL权限在该目录中添加一个文件文件并不具有ACL权限因为在设置ACL权限时并没有指定递归属性
[rootlocalhost project]# touch abc.txt
[rootlocalhost project]# ll
总用量 0
-rw-r--r--. 1 root root 0 3月 15 18:35 abc.txt
# 设置ACL权限可以递归注意R参数的位置在此处是固定的这算是Linux中命令的一个特例Linux中命令参数的位置一般是不敏感的
[rootlocalhost project]# setfacl -m u:tempuser:rx -R /project
[rootlocalhost project]# ll /project
总用量 0
-rw-r-xr-- 1 root root 0 3月 15 18:35 abc.txt
# 在设置了project目录递归ACL权限属性后再在该目录中创建一个新的文件此时发现新的文件并没有ACL权限这说明ACL权限只对已有的文件或目录起作用对新加的不起作用
[rootlocalhost project]# touch def.txt
[rootlocalhost project]# ll
总用量 0
-rw-r-xr-- 1 root root 0 3月 15 18:35 abc.txt
-rw-r--r--. 1 root root 0 3月 15 18:36 def.txt
# 设置acl默认值默认值的参数是d可以和-R一起使用
[rootlocalhost project]# setfacl -m d:u:tempuser:rx -R /project[rootlocalhost project]# getfacl /project
getfacl: Removing leading / from absolute path names
# file: project
# owner: root
# group: tgroup
user::r-x
user:tempuser:r-x
group::rwx
mask::rwx
other::---
default:user::r-x
default:user:tempuser:r-x
default:group::rwx
default:mask::rwx
default:other::---[rootlocalhost project]# touch www.txt
[rootlocalhost project]# ll
总用量 0
-rw-r-xr-- 1 root root 0 3月 15 18:35 abc.txt
-rw-r--r--. 1 root root 0 3月 15 18:36 def.txt
# 该文件在设置规则之后默认值之前创建两头都不管所以没有ACL权限属性
-r--rw---- 1 root root 0 3月 15 18:37 www.txt二特殊位
2.1 SUID
什么是SUID
SUID是对二进制可执行的文件才有效 普通文件设置之后是没有意义的执行者对该程序有x权限当程序具有suid时程序执行者在执行程序期间会暂时获得该程序所有者的身份程序执行者所获取的属主身份只在程序运行过程中有效
为什么需要SUID
Linux中具有suid权限的文件如passwd
[rootlocalhost ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
[rootlocalhost ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd
[rootlocalhost ~]#
注意passwd的权限中在文件所有者的权限中有一个“s”这说明
passwd执行程序具有suid权限在passwd执行期间会获取root权限同时所属组和其他用户是用户r和x权限
为什么需要这么设置权限
passwd修改的实际上是/etc/shadow的内容但该文件只有root超级管理员才能修改一般用户不可以但一般用户应该可以修改自己的账户密码这是正当的需求在passwd执行期间让普遍用户暂时获取root用户的权限以便于修改shadow文件执行完成临时赋予的权限消失这即满足了用户可以修改自己密码的需求也照顾到了系统安全性。
怎么设置suid
字母方式 chmod us 文件名u代表设置的是suid数字方式 chmod 4755 文件名最前方的4表示设置的是suid后面的755分别代码 所有者所属组其他人的权限
怎样移除suid
设置设置权限 chmod 755 文件名字符方式 chmod u-s 文件名
2.2BIT粘着位权限
SBIT权限的特点
SBIT权限只能针对目录有效普通用户对目录拥有w和x权限即普通用户对目录有写入权限若没有SBIT则普通用户可以删除目录下的所有文件包括其他用户创建的文件若目录有SBIT权限则只用root用户可以删除所有文件普通用户就算拥有w权限也只能删除自己建立的文件对于其他用户创建的文件则无权删除。SBIT权限的设置只能是root用户其他用户不可以 # Linux中的tmp目录是使用SBIT权限的典型目录注意权限部分最后的t字母
[rootlocalhost ~]# ll -d /tmp
drwxrwxrwt. 10 root root 218 10月 2 16:05 /tmp
# 创建一个新用户并设置密码
[rootlocalhost ~]# useradd test
[rootlocalhost ~]# passwd test
# 切换到lisen用户在/tmp目录下创建文件
[lisenlocalhost root]$ touch /tmp/abcd.txt
# 切换到test用户删除/tmp/目录下的abcd.txt文件因为tmp目录具有SBIT权限且abcd.txt
# 文件不是当前用户创建所以无权删除。
[testlocalhost root]$ cd /tmp
[testlocalhost tmp]$ ls
abcd.txt
abc.txt
systemd-private-a092fa5008e44207b2cdbcae85170c80-chronyd.service-WocDs1
test
vmware-root_665-3988687359
[testlocalhost tmp]$ rm abcd.txt
rm是否删除有写保护的普通空文件 abcd.txty
rm: 无法删除abcd.txt: 不允许的操作
# ---- 设置SBIT权限 ----
[rootlocalhost /]# mkdir /test
# 创建的目录默认的权限是755
[rootlocalhost /]# ll -d /test
drwxr-xr-x. 2 root root 6 10月 2 17:33 /test
# 设置SBIT权限
[rootlocalhost /]# chmod 1755 /test
[rootlocalhost /]# ll -d /test
drwxr-xr-t. 2 root root 6 10月 2 17:33 /test
# 上面的设置test的其他用户没有写入的权限所以SBIT权限的没有什么含义
[rootlocalhost ~]# chmod 1777 /test
[rootlocalhost ~]# ll -d /test
drwxrwxrwt. 2 root root 6 10月 2 17:33 /test 2.3SGID 相对于SUID只能设置可执行的文件SGID可以设置可执行文件也可以设置目录SGID有如下特征 如果设置的对象是文件则只能是可执行的二进制文件且命令的执行者需要对文件有 x 权限命令执行过程中组身份升级为该文件的所属组只有在程序执行的过程中才有效
使用案例
# 到根目录去
[rootlocalhost /]# cd ~
# centos7 默认没有安装locate 先执行安装
[rootlocalhost ~]# yum install mlocate
已加载插件fastestmirror, langpacks
There are no enabled repos.Run yum repolist all to see the repos you have.To enable Red Hat Subscription Management repositories:subscription-manager repos --enable repoTo enable custom repositories:yum-config-manager --enable repo
[rootlocalhost ~]# updatedb
[rootlocalhost ~]# locate inittab
/etc/inittab
/usr/share/augeas/lenses/dist/inittab.aug
/usr/share/man/zh_CN/man5/inittab.5.gz
/usr/share/vim/vim74/syntax/inittab.vim
# 查看locate命令注意权限 所属组部分的s这个s即表示开启了SGID在执行该
# 命令时会在执行期间临时将组身份升级为该文件的所属组
[rootlocalhost ~]# ll /usr/bin/locate
-rwx--s--x. 1 root slocate 40520 4月 11 2018 /usr/bin/locate
# locate命令需要使用mlocate.db文件但该文件默认情况下普通用户是没有权限读的当用户
# 运行locate命令时临时获取了SGID属性组身份升级为了该文件的所属组所以具有了对
# mlocate文件的读权限。
[rootlocalhost ~]# ll /var/lib/mlocate/mlocate.db
-rw-r-----. 1 root slocate 855084 3月 15 18:51 /var/lib/mlocate/mlocate.db# ---- 为目录设置SGID的示例 -----
# 查看当前目录
[rootlocalhost ~]# pwd
/root
# 在tmp目录下创建一个目录
[rootlocalhost ~]# mkdir /tmp/test
# 给test赋予SGID的权限第一2表示SGID如果需要清除SGID则可以使用 777
# 也可以使用 chmod gs 文件或目录名
[rootlocalhost ~]# chmod 2777 /tmp/test
# 权限所属组部分的s表示拥有SGID权限
[rootlocalhost ~]# ll -d /tmp/test
drwxrwsrwx. 2 root root 6 10月 2 14:58 /tmp/test
# 切换用户
[rootlocalhost ~]# su lisen
[lisenlocalhost root]$ pwd
/root
# 普通用户无权在root目录下创建文件
[lisenlocalhost root]$ touch abc.txt
touch: 无法创建abc.txt: 权限不够
# 在home目录下创建一个文件文件的默认的所属组为当前用户的所属组
[lisenlocalhost root]$ cd /home/lisen
[lisenlocalhost ~]$ touch abc.txt
[lisenlocalhost ~]$ ll
总用量 0
-rw-rw-r--. 1 lisen lisen 0 10月 2 15:01 abc.txt
# 在设置了SGID的目录中创建文件默认的所属组变成了目录的所属组这是SGID的作用
[lisenlocalhost ~]$ cd /tmp/test
[lisenlocalhost test]$ touch bcd.txt
[lisenlocalhost test]$ ll
总用量 0
-rw-rw-r--. 1 lisen root 0 10月 2 15:01 bcd.txt
[lisenlocalhost test]$
三文件系统属性chattr权限
命令格式 chattr [-] [权限选项] 文件或目录 增加权限 -删除权限 赋予权限
权限选项
i 如果文件被设置i属性则不允许文件进行删除改名文件内容也不允许改动 如果目录被设置了i选项则只能修改目录下的文件数据但不允许建立和删除文件。需要注意的是该属性对root用户也同样有效a 如果对文件设置了a属性则只能在文件中增加数据但不能修改也不能删除数据 如果对目录设置了a属性那么只能在目录中建立或修改文件但不能删除
使用示例
# 文件chattr属性示例
# 文件的i属性
# 创建一个文件先不为其设置i属性此时可以正常写入内容
[rootlocalhost ~]# touch abc
[rootlocalhost ~]# ll
总用量 4
-rw-r--r--. 1 root root 0 3月 15 19:11 abc
-rw-------. 1 root root 1284 3月 9 20:16 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 3月 11 16:06 a.txt
drwxr-xr-x. 2 root root 6 3月 11 16:05 sa
[rootlocalhost ~]# echo 12345 abc
[rootlocalhost ~]# cat abc
12345
# 为abc文件设置i属性
[rootlocalhost ~]# chattr i abc
# 一般ls命令不能显示文件的i属性需要使用lsattr命令
[rootlocalhost ~]# lsattr -a abc
----i----------- abc
# 设置了abc文件的i属性后测试修改其内容无权修改删除也不行
[rootlocalhost ~]# echo swt abc
-bash: abc: 权限不够
[rootlocalhost ~]# rm abc
rm是否删除普通文件 abcy
rm: 无法删除abc: 不允许的操作
# 目录的i属性示例
[rootlocalhost ~]# mkdir /test
mkdir: 无法创建目录/test: 文件已存在
[rootlocalhost ~]# cd /test
[rootlocalhost test]# ll
总用量 0
# 没有设置chattr属性之前可以添加文件
[rootlocalhost test]# touch a.txt
[rootlocalhost test]# ls
a.txt
# 设置chattr属性之后可以对原来的目录中有的文件进行修改但不能在目录中
# 添加或删除文件报权限不够
[rootlocalhost test]# chattr i /test
[rootlocalhost test]# lsattr -a /test/
----i----------- /test/.
---------------- /test/..
---------------- /test/a.txt
[rootlocalhost test]# echo asas /test/a.txt
[rootlocalhost test]# touch /test/b.txt
touch: 无法创建/test/b.txt: 权限不够
[rootlocalhost test]# touch a.txt
[rootlocalhost test]# chattr a a.txt
# 将内容写入文件
[rootlocalhost test]# echo 123 a.txt
-bash: a.txt: 不允许的操作
# 将内容追加到文件
[rootlocalhost test]# echo sad a.txt
[rootlocalhost test]# cat a.txt
asas
sad
[rootlocalhost test]# cd /
#目录的a属性
[rootlocalhost /]# mkdir swt
[rootlocalhost /]# chattr a swt
[rootlocalhost /]# cd /swt
[rootlocalhost swt]# touch a.txt
[rootlocalhost swt]# rm a.txt
rm是否删除普通空文件 a.txty
rm: 无法删除a.txt: 不允许的操作
[rootlocalhost swt]# mv a.txt b.txt
mv: 无法将a.txt 移动至b.txt: 不允许的操作四sudo
作用:
root把本来只能由超级用户使用的命令赋予普通用户使用sudo的操作对象是系统命令
使用场景
在需要将超级管理员的某些功能权限临时下方与普通用户时可以使用使用尚方宝剑
修改sudo的配置/etc/sudoers
修改格式 root ALL(ALL) ALL用户名 被管理主机IP(可使用的身份) 授权命令绝对路径%wheel ALL(ALL) ALL组名 被管理主机IP(可使用的身份) 授权命令 (绝对路径)
# 查看或修改sudo的配置也可以直接编辑/etc/sudoers文件
[rootlocalhost ~]# visudo
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL(ALL) ALL
## 增加lisen用户可以执行服务器重启命令
lisen ALL/sbin/shutdown -r now
## 切换到到lisen用户后可以使用上面的命令但是需要注意两个地方1. 和sudo一起用2. 使用命令
## 的绝对路径
如果要退出的话就ctrlz
注意事项
主要不要将vim等编辑工具配置到sudo中去如果在sudo的配置文件中配置了vim则普通用户在运行vim中就拥有了超级用户的身份这是很危险的使用普通用户有权修改任何文件。
用户用户组其他人 五拥有者user拥有组group其他人other 由于Linux是一个多人多任务的系统因此经常会出现同一台机器同时有多个人进行操作为了考虑每个人的隐私权以及每个人喜好的工作环境所以文件的权限归属就至关重要。 为了保障系统的安全性和文件的隐私性一个文件针对不同权限的账户有着不同的权限如下图 如图所示文件权限是由一个字符串所表示其所代表的含义为 其中文档类型有如下表示方法 d - 目录例如上表档名为『.gconf』的那一行 - - 文档例如上表档名为『install.log』那一行 l - 连结档(link file) b - 装置文件里面的可供储存的接口设备(可随机存取装置) c - 装置文件里面的串行端口设备例如键盘、鼠标(一次性读取装置)。 权限由rwx三个字幕表示分别表示为可读、可写、可执行如果没有该权限则用“ - ”表示对于目录来说必须有x权限否则无法读取目录内容 如果文件名前面有“ . ”,则表示这个文档或目录是隐藏的
用户和用户组 /etc/group 存储当前系统中的用户组信息 注意 1.当该组内只有一个用户并且用户名和组名相同时在组列表中包含用户一列可以为空 2.系统中root分组的组编号一定为0 3.组号1~499为系统预留的组编号一般是预留给系统安装的软件或者服务的编号越早安装的软件或者服务的组编号约早。用户手动创建的用户组编号从500开始 4.组密码占位符无一例外全部用x表示 /etc/gshadow 存储当前系统中用户组的密码信息 注意 1.如果组密码处为“*” “”或者为空时候则该组没有密码 2.如果组管理者为空则表示该组内所有成员都可以管理该组 /ect/passwd 存储当前系统中所有的用户信息 注意 在linux中超级管理员root的用户编号一定为0 /ect/shadow 存储当前系统中所有用户的密码信息 注意 密码是一个单向加密过的字符串 创建用户
useradd xxx //创建一个名为xxx的用户 该命令执行后 1.会在/etc/passwd文件中添加xxx用户的信息 2.会在/etc/group文件中添加一个名为xxx的用户组信息
passwd xxx //为xxx用户设置密码 useradd可以使用的参数包含
-d 设置该用户的home目录例如useradd -d /home/helloworld hello //新建hello用户并且将其home目录设置为/home/helloworld-u 设置其userid例如useradd -u 668 hello //新建一个hello用户将他的id设置为668-g 设置其主组例如useradd -g root hello //新建一个hello用户并将其假如root组-m 生成home目录的文件夹例如useradd -m hello //新建一个hello用户并且在默认位置申城一个hello文件夹/home/hello,并且将/etc/skel下的文件复制到该目录下修改用户信息
usermod 参数 用户名 该命令可以使用的参数包括
-l //修改新用户名例如usermod -l helloworld hello 将hello用户名改为helloworld但其home目录不改变-u //修改用户的userid例如usermod -u 888 hello 将hello的userid改为888-d //修改用户的home目录-g //修改用户的主用户组-L //锁定用户使其不能登录-U //解除锁定删除用户
userdel 参数 用户名 可使用参数
-r 删除用户的同时将其home目录也删掉 创建用户组
groupadd 组名 修改用户组
groupmod -n 新组名 旧组名 //修改组名groupmod -g 新组id 旧组id 修改组ID 删除用户组
groupdel 组名 改变文档目录的所有者所有组 改变文档所有者 - chown命令change owner可使用参数 -R使得其子目录也同时修改 改编文档所有组 - chgrp命令 change group可使用参数 -R使得其子目录也同时修改 也可以使用
chown username:group 文件名
来同时修改文档或目录的拥有者和所在组
修改文档的执行权限
chmod命令
chmod 参数 文件名可以使用如下方法直接设置文件的权限
1.直接设置代表权限的数字
chmod 777对应权限的数字 文件名
2.给文件添加或减去某些权限chmod uw 文件名 给user用户加上w权限chmod g-r 文件名 将group中的r权限去掉chmod ax 文件名 给user、group、other全部加上x权限