您的位置:首页 > 运维架构 > Linux

Linux中用户、组、权限管理

2016-03-10 12:16 281 查看
众所周知,Linux是一个多用户、多任务的系统。而当很多用户同时登录时,系统是怎样管理用户,并给他们赋予相应的权限呢?Linux中有三类用户 超级用户(UID为0) 系统用户(伪用户、非登录) 仅运行服务程序 centos6.x中UID为1-499centos7.x中UID为1-999 登录用户(普通用户)centos6.x中UID:500-65535centos7.x中UID:1000-65535

用户解析库文件(任何人都可以访问):/etc/passwd name:password:UID:GID:GECOS:directory:shell 第一列(name):用户名 第二列(password):密码,用X占位,而真正的密码存放 在/etc/shadow中 第三列(UID):用户的UID 第四列(GID):用户的基本组GID 第五列(GECOS):用户的描述信息 第六列(directory):用户的家目录 第七列(shell):用户的登录shell

用户口令文件shadow(只有root可以访问):/etc/passwdcat /etc/shadow用户名:加密密码:上次更改密码的时间:最小更改密码间隔:密码有效期限:密码过期提示时间:密码锁定期:账户有效期:保留字段 用户名:口令:存放加密口令,如果第一个字符是!,表示该用户不能登录最后一次修改时间:最大时间间隔:0 可以随时改变最小时间间隔:99999 表示永远不过期警告时间:1周不活动时间:失效时间:

用户管理: 添加用户:useradduseradd [options] LOGIN 常用选项: -c: 注释信息-d: 家目录路径-g:用户的基本组组名或GID;-G: 用户所属的附加组列表-m: 强制创建家目录; -M:不创建用户主目录-r:创建一个系统账户-s: 用户的登录 shell 名-u: 用户的 UID 。 删除用户:userdeluserdel [options] LOGIN常用选项: -r:删除用户时连同该用户家目录一起删除

修改账号信息:usermod -c: 注释信息 -d: 修改家目录为新的位置,应该同时使用-m选项让原家目录中的文件移动到新目录中; -g:指定基本组 -G:修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加新的附加组; -l:修改当前用户的用户名; -s:更改登录shell -u:更改UID -L:锁定用户的密码。 -U:解锁用户的密码。

用户组管理: 用户组的管理文件:group /etc/group group_name/password/GID/user_list 分为四个部分: 组名:用户登录时所在的组名 组密码:切换到一个新组时用到的密码 组标识码(GID):组ID 组内用户列表:属于改组的所有用户列表

添加用户组useradd username (默认建立username用户组)groupadd 组帐号名称 修改组名groupmod -n newName groupName 删除组帐号

groupdel 组帐号名称注意:删除的帐号必须存在,且不能是某个用户的私有组 添加用户到组

gpasswd -a userName groupName

从组中删除用户gpasswd -d userName groupName

查看某个用户属于哪个组groups userName

查看某个组有哪些用户grep "组名" /etc/group

权限管理(chmod): 当使用ll命令查看某个文件时会出现如下:
[root@localhost ~]#
lltotal 4
-rw-------. 1 root root 2639 Mar  4 16:53 anaconda-ks.cfg
-rw-r--r--  1 root root    0 Mar  8 12:43 test.sh

-rwxr--r--第一个字符-:表示为普通文件第2-4个字符:表示属主的权限为rwx第5-7个字符:表示属组的权限为r第8-10个字符:表示其他人的权限为r r(4):可读的 w(2):可写的 x(1):可执行的

文件: r:可获取文件的数据; w:可修改文件的数据; x:可将此文件运行为进程; 三类用户: 属主:owner, u 属组:group, g 其它:other, o

chmod命令:改变文件权限 授权表示法:直接操作一类用户一位或多位权限
[root@localhost test]# chmod u+x,g+w fstab
[root@localhost test]#
lltotal 36
-rw-r--r-- 1 root root  261 Mar  9 16:07 adduser
-rwxr--r-- 1 root root  251 Mar  8 09:49 adduser.sh
-rwxrw-r-- 1 root root  595 Mar  9 15:06 fstab
-rw-r--r-- 1 root root 4179 Mar  9 16:25 grub.cfg
-rw-r--r-- 1 root root 2255 Mar  9 15:09 passwd
-rw-r--r-- 1 root root  102 Mar  9 12:26 rmlog.sh
-rwxr-xr-x 1 root root  366 Mar  8 16:33 sum.sh
-rwxr--r-- 1 root root   67 Mar  8 16:25 test.sh

赋权表示法:直接操作一类用户的所有权限位rwx;
[root@localhost test]# chmod ug=rwx,o=rw ./passwd
[root@localhost test]#
lltotal 36
-rw-r--r-- 1 root root  261 Mar  9 16:07 adduser
-rwxr--r-- 1 root root  251 Mar  8 09:49 adduser.sh
-rwxrw-r-- 1 root root  595 Mar  9 15:06 fstab
-rw-r--r-- 1 root root 4179 Mar  9 16:25 grub.cfg
-rwxrwxrw- 1 root root 2255 Mar  9 15:09 passwd
-rw-r--r-- 1 root root  102 Mar  9 12:26 rmlog.sh
-rwxr-xr-x 1 root root  366 Mar  8 16:33 sum.sh
-rwxr--r-- 1 root root   67 Mar  8 16:25 test.sh

还有一种数字表示法:
[root@localhost test]# chmod 755 ./grub.cfg
[root@localhost test]#
lltotal 36
-rw-r--r-- 1 root root  261 Mar  9 16:07 adduser
-rwxr--r-- 1 root root  251 Mar  8 09:49 adduser.sh
-rwxrw-r-- 1 root root  595 Mar  9 15:06 fstab
-rwxr-xr-x 1 root root 4179 Mar  9 16:25 grub.cfg
-rwxrwxrw- 1 root root 2255 Mar  9 15:09 passwd
-rw-r--r-- 1 root root  102 Mar  9 12:26 rmlog.sh
-rwxr-xr-x 1 root root  366 Mar  8 16:33 sum.sh
-rwxr--r-- 1 root root   67 Mar  8 16:25 test.sh

chown命令:改变属主和属组 常用选项: -R, --recursive:递归修改;
[root@localhost tao]# chown root:tao first.sh
[root@localhost tao]#
lltotal 8
-rwxrwxr-x 1 tao  tao 80 Mar  7 12:02 adduser.sh
-rwxrwxr-x 1 root tao 64 Mar  7 11:03 first.sh
chgrp命令:改变属组用法: chgrp [OPTION]... GROUP FILE...or: chgrp [OPTION]... --reference=RFILE FILE...
[root@localhost tao]# chgrp root ./adduser.sh
[root@localhost tao]#
lltotal 8
-rwxrwxr-x 1 tao  root 80 Mar  7 12:02 adduser.sh
-rwxrwxr-x 1 root tao  64 Mar  7 11:03 first.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 用户