5人参与 • 2026-03-19 • 硬盘
centos7安装完系统后如果没有创建用户,默认只有root用户,权限最大可以做任何事,但实际生产环境中我们一般不会使用这个用户,因为权限太大所有命令都能执行,很危险,所以在生产环境中会创建一个或者多个用户账户,分配合适的权限来使用操作.
命令用法:useradd 或 adduser [option] 用户名
一般可以修改默认值的参数有:-b –e –f –g –s)
创建名为jerry的用户,指定home目录:/home/h_jerry,指定uid 1022,不创建同名用户组,指定密码:jerry,指定shell:/bin/sh,指定账户过期时间:2017-08-09,允许密码过期后使用,添加用户描述:first user
useradd -m -d /home/h_jerry -u 1022 -n -p jerry -s /bin/sh -e 2017-08-09 -f -1 -c "first user" jerry
验证用户的uid
[root@master ~]#id jerry uid=1022(jerry) gid=100(users) groups=100(users)
/etc/passwd文件对应的jerry行的信息
[root@master ~]#cat /etc/passwd |grep jerry jerry:x:1022:100:first user:/home/h_jerry:/bin/sh
看一下/etc/shadow文件中的内容jerry的信息
[root@master ~]#cat /etc/shadow |grep jerry jerry:jerry:17386:0:99999:7::17387:
/etc/shadow文件由9个字段组成,用:分隔
看一下jerry的家目录home目录
[root@master ~]#ll /home total 0 drwx------. 2 jerry users 62 aug 8 21:37 h_jerry [root@master ~]# ll -a /home/h_jerry/ total 16 drwx------. 2 jerry users 83 aug 9 18:45 . drwxr-xr-x. 4 root root 33 aug 9 18:39 .. -rw-------. 1 jerry users 11 aug 9 18:45 .bash_history -rw-r--r--. 1 jerry users 18 aug 3 2016 .bash_logout -rw-r--r--. 1 jerry users 193 aug 3 2016 .bash_profile -rw-r--r--. 1 jerry users 231 aug 3 2016 .bashrc
到这里用户创建已经成功,简单梳理一下创建用户时系统做了哪些事
[root@master ~]#passwd jerry changing password for user jerry. new password:
userdel –r 用户名 删除用户及家目录
[root@master ~]#userdel -r tcl [root@master ~]#ll /home total 0 drwx------. 2 jerry users 83 aug 9 18:45 h_jerry drwx------. 2 test test 83 aug 9 18:45 test
选项参数 和useradd命令参数大致相同
举例说明:
将jerry用户改名为natasha,移动家目录的内容到/home/natasha,指定新的uid为1010,登录shell改为/bin/bash,并锁定用户
[root@ha1 ~]# usermod -l natasha -d /home/natasha -m -u 1010 -s /bin/bash jerry [root@ha1 ~]# ll /home total 0 drwx------. 2 natasha users 83 aug 9 18:45 natasha drwx------. 2 test test 83 aug 9 18:45 test [root@ha1 ~]# id natasha uid=1010(natasha) gid=100(users) groups=100(users) [root@ha1 ~]# cat /etc/passwd |grep natasha natasha:x:1010:100:first user:/home/natasha:/bin/bash
选项:
举例说明:
创建一个名为natasha的组,并将用户natasha和test分别加入natasha和test组中
[root@ha1 ~]# groupadd -g 1010 natasha [root@ha1 ~]# usermod -a -g test test [root@ha1 ~]# cat /etc/group |grep -e "natasha|test" test:x:1023:test natasha:x:1010:test,natasha [root@ha1 ~]# usermod -a -g test natasha [root@ha1 ~]# cat /etc/group |grep -e "natasha|test" test:x:1023:test,natasha natasha:x:1010:test,natasha
groupdel 组名
groupmod 选项 组名
选项:
用法和usermod类似
总结一下,创建组后会在/etc/group,/etc/gshadow文件中产生相应的组信息
/etc/group文件格式说明:分为4个字段,用冒号隔开
natasha:x:1010:test,natasha
/etc/gshadow文件格式说明:分为4个字段,用冒号隔开
natasha:!::test,natasha
在linux中设置文件权限非常重要,也是最基本的。
linux文件的权限分为读(r-4)写(w-2)执行(x-1),和windows一样设置权限需要针对用户,用户所属的组,还有其它用户。
只有设置了正确的权限,相应的用户才能根据权限执行相应的操作,很多时候我们配置web服务,ftp服务等都需要对相应的文件或文件夹赋与相应的权限才能正常跑起来,有时遇到问题通过查看错误日志会发现很多情况下是由于权限不当引起的。
文件权限分一般权限和特殊权限
和文件权限有关的工具命令
先来看一下文件权限的查看方式,使用ll命令就可以查看长格式的文件权限等信息
[root@ha1 test]# ll -rw-r--r--. 1 root root 67 mar 29 20:07 readme.md drwxr-xr-x. 3 root root 36 mar 29 20:15 shell [root@ha1 test]# ll /bin/passwd -rwsr-xr-x. 1 root root 27832 jun 10 2014 /bin/passwd
权限有3段组成,rwxrwxrwx代表最高权限,修改权限时也可以用777表示,-表示没有此项权限,本该出现x的位置出现s表示拥有suid权限。
suid对应4,sgid对应2,sbit对应1
suid只对二进制程序有效,执行者对于程序需要有x权限,在程序运行过程中,执行者(普通用户)将临时拥有程序所有者的权限
sgid对于文件来说只对二进制程序有效,普通用户将会临时拥有所属组的权限,对于目录来说,用户对此目录有rx权限可以进入目录,用户进入目录后,有效用户组会变成该目录的用户组,若用户在此目录有w权限,则用户创建的文件用户组与该目录用户组相同。
例:将 a 文件权限修改为:所有者有rwx,所属组:rx,其它用户:无权限
[root@ha1 test]# chmod u+x,g+x,o-r a [root@ha1 test]# ll total 8 -rwxr-x---. 1 root root 0 aug 10 19:01 a
修改文件所有者或所有组 chown chgrp
例:将a文件所属组改为natasha,将b目录的所有者改为natasha
[root@ha1 test]# chgrp natasha a [root@ha1 test]# chown -r natasha:root b [root@ha1 test]# ll total 8 -rwxr-x---. 1 root natasha 0 aug 10 19:01 a drwxr-xr-x. 2 natasha root 6 aug 10 19:05
设置更详细的权限 getfacl setfacl
例:查看a文件的详细权限信息
[root@ha1 test]# getfacl a # file: a # owner: root # group: natasha user::rwx group::r-x other::---
例:将a文件权限设置为,test1用户拥有rw权限,test2用户拥有x权限,其它用户拥有rx权限
[root@ha1 test]# setfacl -m u:test1:rw,u:test2:x,o::rx a [root@ha1 test]# getfacl a # file: a # owner: root # group: natasha user::rwx user:test1:rw- user:test2:--x group::r-x mask::rwx other::r-x
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论