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命令查看某个文件时会出现如下:
-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命令:改变文件权限 授权表示法:直接操作一类用户一位或多位权限
赋权表示法:直接操作一类用户的所有权限位rwx;
还有一种数字表示法:
chown命令:改变属主和属组 常用选项: -R, --recursive:递归修改;
用户解析库文件(任何人都可以访问):/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.shchgrp命令:改变属组用法: 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 socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 网易云音乐8亿用户背后的伤疤