linux基本命令之管理用户和组

来源:岁月联盟 编辑:exp 时间:2012-01-08
用户账号有三类:超级用户、普通用户、程序用户
组账号有:基本组和附加组
用户账户的身份标记是UID:root的UID是0、程序用户是1-499之间、普通500-60000
 
一:用户账号文件
 
1.passwd文件中配置行格式
root : x : 0 : 0 : root : /root : /bin/bash
passwd文件的每一行内容中,包含七个“:”分隔的配置字段
 
第一字段:用户账号的名称
第二字段:经过加密的用户密码,或密码占位符“x”
第三字段:用户账号的UID号
第四字段:所属基本组账号的GID号
第五字段:用户全名
第六字段:宿主目录
第七字段:登陆shell等信息,用户完成登陆后使用的shell
2.shadow文件中的配置行格式
shadow文件又称为“影子文件”,默认只有root能读取文件内容,而不允许编辑
tail -2 /etc/shadow
root : $1kdjfaskdfkadjfaksdjf : 14374 : 0 : 99999 : 7 : : :
bin : * : 14374 : 0 : 99999 : 7 : : :      使用了九个冒号、从左到右分别
 
一:用户账号名称
二:使用MD5加密的密码字串信息,当为“*”和“!!”时不能登录到系统,若该字段为空、不要密码也能登录
三:上次修改密码的时间
四:密码的最短有效天数,默认为0
五:密码最长有效天数,默认99999
六:提前多少天警告用户口令将过期,默认7天
七:在密码过期多少天内禁用此用户
八:账号失效时间,默认为空,即永久可用
九:保留字段
二:管理用户的命令
 
①useradd——添加用户账号  useradd  [选项]  用户名
 
-u:指定用户的UID号,要求未被使用
-d:指定用户的宿主目录位置
-e:指定用户的账户失效时间
-g:指定用户的基本组名(或使用GID号)
-G:指定用户的附加组名(或使用GID号)
-M:不建立使用者目录,即使/etc/login.defs系统档设定要建立使用者目录
-s:指定用户的登陆shell
例:创建一个辅助管理员账号admin,将其基本组指定为wheel、附加组指定为root,宿主目录指定为"/admin"
[root@localhost ~] # useradd -d /admin -g wheel -G root admin
 
②passwd——为用户账号设置密码
 
-d:清空指定用户的密码,仅使用用户名即可登陆系统
-l:锁定用户账户
-S:查看用户账户的状态(是否被锁定)
-u:解锁用户账户
 
③usermod——修改用户账号属性
 
-u:修改用户的UID号
-d:修改用户的宿主目录位置
-e:修改用户的账户失效时间
-g:修改用户的基本组名(或使用GID号)
-G:修改用户的附加组名(或使用GID号)
-M:不为用户建立并初始化宿主目录
-s:指定用户的登陆shell
-l:更改用户账号的登陆名称(login name)
-L:解锁用户账户
-U:解锁用户账户
例:将用户账号的登陆名称admin更改为wycsy,下次登陆时生效
usermod -l wycsy admin
grep "admin" /etc/passwd
 
④userdel——删除用户账号
 
-r:可以将该用户的宿主目录一并删除
 
三:组账号的管理
 
①id——查看有哪些组账号、id mysql查看用户mysql的身份信息
 
②grep "^root" /etc/group查看组账号root中包含有哪些用户账号成员
 
③groupadd——添加组账号、需要指定GID号时、可以使用"-g"选项
 
④gpasswd——添加、删除组成员
 
-a:添加
-d:删除
-M:同时添加多个用户
例:将用户wy、csy同时加入到admin组中
gpasswd -M wy,csy admin
grep "^admin" /etc/group
 
⑤groupdel——删除组账号
 
 四:用户和组账号查询
 
㈠group——查询某个用户账户所属的组
㈡finger——查询用户账号的详细信息
㈢user、w、who——查询当前登录到主机的用户信息
 
finger:列出用户登录名、终端、登录时间及个人信息等
w:列出用户名、终端、执行的命令等各种统计的信息
who:列出用户名、终端、登录时间、来源地点等信息
users:仅列出用户名信息
管理文件/目录的权限和归属
 
一:查看文件、目录的权限和归属
 
ls  -ld /etc /etc/passwd
查询分为八个部分、3和4分别表示文件的属主和属组
1部分drwxr-xr-x这个样式分四小部分、表示文件(目录)的权限
 
第1个字符:表示该文件的类型,可以使d(目录)、b(块设备文件)、c(字符设备文件)、-(普通文件)、l(链接文件)等
第2-4个字符:表示该文件的属主用户对文件的访问权限
第5-7个字符:表示该文件的属组内各成员对该文件的访问权限
第8-10个字符:表示其他任何用户对该文件的访问权限
 
二:设置文件/目录的权限
 
chmod [ugoa…] [+-=] [rwx] 文件或目录…
或chmod nnn 文件或目录…
 
ugoa:表示该权限设置所针对的用户类别、u代表文件属主,g代表文件属组内的用户,o其他任何用户,a代表所有用户
 
+-=:表示设置权限的操作动作,+增加相应权限,-减少相应权限,=设置对应的权限
 
rwx:权限的字符组合形式,也可拆分使用
三:设置文件/目录的归属
 
chown 属主[:[属主]] 文件或目录…
单独设置属主信息,要使用“:组名”
  
例:将mymkdir文件的属组更改为wheel组(调整后wheel组内的其他用户将拥有“r-x”权限)
chown :wheel mymkdir
ls -l mymkdir
例:将/var/ftp/pub目录中的所有子目录、文件的属主改为ftp用户
chown -R ftp /var/ftp/pub
 
四:使用附加权限(可用的附加权限:SET位权限(SUID、SGID)、粘滞位(sticky bit))
 
SET位权限、可以使用“u+s”、“g+s”分别设置SUID、SGID(“u-s”、“g-s”可以去除SUID、SGID)
通过passwd命令可以示范:普通用户默认是不能修改/etc/passwd的、正是因为有了SET位权限才能修改自己的密码、让其拥有管理员的权限、但是这种权限还是仅限于修改自己的密码
 
粘滞位权限、作用是为目录设置特殊的附加权限,当目录被设置了粘滞位后、即便用户对该目录有写入权限、也不能删除该目录中其他用户的文件数据(只能针对自己的目录操作)。/tmp、/var/tmp两个是比较典型的目录
 
本文出自 “天道酬勤-常双阳” 博客