Linux 用户管理中UID和GID的研究

linux系统中的用户权限是作用于文件和目录上的,文件的权限涉及三类用户:
1、文件所有者,也称为用户(owner);
2、指派给文件的组(group);
3、在系统上拥有合法的注册但既不是所有者也不属于组的人,称为其他(other)。
一个账户可以属于多个组。
linux系统中主要的用户管理文件有三个:
/etc/passwd —每行一个用户账户信息,用6个冒号分隔为7个字段,登陆系统的用户都可以查看该文件;
/etc/shadow —每行一个用户账户信息,用8个冒号分隔为9个字段,保存passwd文件中相应账户加密后的口令等,只有root用户有权查看;
/etc/group —存放组账户信息。

Linux系统是以passwd文件中的第三个字段UID来识别账户的,这个字段在useradd命令中,如果使用-u后加自定义uid数字,则接下来新增用户如果不指定uid,则新用户的uid在当前uid基础上自动增1,同时,第四个字段,当前用户的组ID如果不指定,也等于当前uid。
假如uid从小到大顺序依次有1000,1001,6719,如果useradd sample,那么sample用户的uid就是6720,删除uid为6719的用户和sample之后,再useradd jack,那么,jack的uid是1002。

增加一个在2011年8月29日过期、初始组为yange同时属于组groupa、groupb、groupc的用户,命令如下:
useradd -c “Jane Doe” -d /home/unixnewbie -e 08/29/11 -f 60 -g yange -G groupa,groupb,groupc -m -s /bin/bash unixnewbie
然后必须运行passwd accountname命令为该账户设置一个口令方能使用。

本质上,useradd命令的工作原理就是修改/etc/passwd、/etc/shadow、/etc/group三个文件并创建一个主目录。

usermod修改账户信息,其参数用法与useradd相同,如果要改用户名,加-l newname 即可,最后一个是要修改的用户登录名。注意,Debian系统中,-d newdirectory -m 改变用户主目录,是把原来的目录改名,而不是新创建,如果不加-m参数则如同useradd命令中创建目录不加-m参数一样。各个参数的顺序无所谓,但建议还是按照可理解的自然顺序来比较好,譬如-d加目录名后紧跟着-m,虽然中间隔着其他参数也能执行,但不建议。

另外:
whoami显示当前作为什么用户登录,而who am i显示最初作为什么用户登录到系统。
命令id显示当前身份用户及其组的相关信息。
groups显示当前用户所属的组,groups加用户名显示该用户名所属的组。

本来答应晚上要给老婆家里打电话的,但是由于仔细研究linux用户管理这一块给忘记了,在此向可爱的老婆致歉:)

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值