用户和组
- 用户创建,删除,修改
- 密码及密码文件
- 组创建,删除,修改
- 组密码及组配置文件
- 相关文件
linux用户分类
超级管理员: UID为0 root用户拥有至高无上的命令,root用户不能改名
系统用户:UID小于1000,用于管理服务,一般不允许登陆
普通用户:UID大于或等于1000,权限较小,允许登陆,只能使用bin下命令
1.用户创建,删除,修改
useradd命令
1 useradd - create a new user or update default new user information 2 -c, --comment 描述 3 -d, --home HOME_DIR 家目录 4 -e, --expiredate EXPIRE_DATE 过期时间 5 -f, --inactive INACTIVE 是否启用过期机制 6 -g, --gid GROUP 指定组ID号 7 -G, --groups GROUP1[,GROUP2,...[,GROUPN]]] 附加组 8 -m, --create-home 建立家目录 9 -M 不建立家目录 10 Do not create the user′s home directory, even if the system wide 11 setting from /etc/login.defs (CREATE_HOME) is set to yes. 12 -N, --no-user-group 不指定用户同名组 13 -r, --system 指定该帐号是系统帐号 14 -s, --shell SHELL 指定登录shell 15 -u, --uid UID 指定用户ID号 16 -U, --user-group 指定用户创建用户同名组 17 -o 创建用户是可以uid重复 18 注意:用户名不能超过 32 个字符
usermod命令
1 usermod - modify a user account 2 -a, --append 3 -L, --lock 4 -U, --unlock 5 -m, --move-home with -d
userdel命令
1 userdel - delete a user account and related files 2 -f, --force 3 -r, --remove 删除主目录及邮箱
change命令
1 chage 2 -h, --help display this help message and exit 3 -m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。 4 -M 密码保持有效的最大天数。 5 -W 用户密码到期前,提前收到警告信息的天数。 6 -E 帐号到期的日期。过了这天,此帐号将不可用。 7 -d 上一次更改的日期 如果设置为0 用户下次登录必须改密码 8 -i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用 9 -l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
2.密码设置及密码文件
passwd命令
1 passwd - set user password 2 -l lock 3 -u unlock 4 -d delete a passwd for an account 5 -S This will output a short information about the status of the password for a given account. 6 --stdin 7 echo linux |passwd --stdin vfast 1 > 0
密码文件
1 /etc/passwd 2 User account information. 3 [用户名]:[密码]:[UID]:[GID]:[身份描述]:[主目录]:[登录shell] 4 /etc/shadow 5 Secure user account information. 6 用户名:这是用户登录系统时使用的用户名,它在系统中是惟一的 7 口令:此字段存放加密的口令 8 最后一次修改的时间:标识从某一时刻起到用户最后一次修改口令的天数 9 最小时间间隔:两次修改口令之间的最小天数 10 最大时间间隔:口令保持有效的最多天数,即多少天后必须修改口令 11 警告时间:从系统开始警告到口令正式失效的天数 12 不活动时间:口令过期多少天后,该账号被禁用 13 失效时间:指示口令失效的绝对天数(从1970年1月1日开始计算) 14 标志:未使用
3.组的管理
groupadd
1 groupadd - create a new group 2 命令语法 3 groupadd [选项] 组名 4 命令选项 5 -g, --gid GID 指定GID 6 -r, --system 创建一个系统组 7 -o, --non-unique 此选项允许添加一个使用非唯一 GID 的组 8 注意:组名最长为 32 个字符
groupmod命令
1 groupmod - modify a group definition on the system 2 命令语法 3 groupmod [选项] 组名 4 命令选项 5 -g, --gid GID 6 -n, --new-name NEW_GROUP 给组改名 7 -o, --non-unique 8 例子 9 1、将组名为test3的名字改为baism 10 groupmod test3 -n baism
groupdel命令
1 groupdel - delete a group
4.组密码及组配置文件
gpasswd命令
1 gpasswd newgrp 2 gpasswd - administer /etc/group and /etc/gshadow 3 -a, --add USER add USER to GROUP 4 -d, --delete USER remove USER from GROUP 5 -r, --remove-password remove the GROUP's password 6 -R, --restrict restrict access to GROUP to its members 限制用户登录该组,除了组成员。 7 -M, --members USER,... set the list of members of GROUP 8 -A, --administrators ADMIN,... 9 set the list of administrators for GROUP 10 案例: 11 设置组root密码 #gpasswd root 12 用户组身份切换为root $newgrp root 13 组管理员设置 #gpasswd test -A user3 14 限制陌生用户切换到组 #gpasswd -R test 15 指定组的成员列表 # gpasswd test -M user3,user2
1 /etc/group 2 Group account information. 3 [组名]:[密码域]:[GID]:[组员列表] 4 /etc/gshadow 5 Secure group account information.
5.相关文件
1 /etc/passwd 2 用户账户信息。 3 /etc/shadow 4 安全用户账户信息。 5 /etc/group 6 组账户信息。 7 /etc/gshadow 8 安全组账户信息。 9 /etc/default/useradd 10 账户创建的默认值。 11 /etc/skel/ 12 包含默认文件的目录。 13 /etc/login.defs 14 Shadow 密码套件配置。
6.问题:
1 当一个用户同时属于多个组,如何切换组身份 newgrp 命令 2 su - user1 3 newgrp test 切换到test组 4 如何临时切换到某个外组【用户本身不属于这个组】 5 1)首先给外组设置一个组密码 6 gpasswd root 7 正在修改 root 组的密码 8 新密码: 9 请重新输入新密码 10 su - user1 11 newgrp root
7、作业
1 要求创建用户harry tom natasha 2 要求harry tom 附件到admin组 3 natasha不允许交互登陆 4 修改默认创建用户环境 5 要求用户家目录为/rhome 6 uid,gid从1000开始 7 登陆shell为/bin/csh 8 要求: 9 例如:使用useradd a 10 创建a的家目录为/rhome/a uid 1000 gid 1000 shell:/bin/csh