歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下不使用useradd創建用戶

Linux下不使用useradd創建用戶

日期:2017/2/28 13:39:14   编辑:Linux教程

Linux下手動創建用戶的全過程:需要管理員權限。

1.在/etc/group中添加用戶所屬組的相關信息。如果用戶還有輔助組則在對應組中加入該用戶作為成員。

2.在/etc/passwd和/etc/shadow中添加用戶相關信息。此時指定的家目錄還不存在,密碼不存在,所以/etc/shadow的密碼位使用“!!”代替。

3.創建家目錄。cp -r /etc/skel /home/user_name。

4.修改家目錄及子目錄的所有者和屬組。

chown -R user_name:user_name /home/user_name

5.修改家目錄及子目錄的權限。例如設置組和其他用戶無任何權限但所有者有:chmod -R go= /home/user_name

到此為止,用戶已經創建完成了,只是沒有密碼,所以只能su,不能登錄。

6.生成密碼。使用openssl passwd -1 -salt '12345678'生成使用md5算法的密碼,此時要求輸入密碼,然後將生成的密碼復制到/etc/shadow對應用戶的密碼位。

其中-1是指md5,-salt '12345678'是使用8位的字符創建密碼的雜項,8位字符任意指定。雖然新版本的passwd文件中的算法是SHA512(6),但也支持md5(1)。

這裡也可以使用passwd命令直接修改密碼。

7.測試手動創建的用戶是否可以正確登錄。

以下為步驟:請千萬記得備份這些相關文件。

mkdir /tmp/12;cp /etc/group /etc/passwd /etc/shadow /tmp/12/ /*備份這幾個文件*/
echo "userX:x:666" >> /etc/group
echo "userX:x:666:666::/home/userX:/bin/bash" >> /etc/passwd
echo 'userX:!!:17121:0:99999::::' >> /etc/shadow
cp -r /etc/skel /home/userX
chown -R userX:userX /home/userX
chmod -R go= /home/userX
passwd --stdin userX <<< '123456'

測試使用userX是否可以登錄。

如果是使用openssl passwd創建的密碼。那麼使用下面的方法將這部分密碼替換到/etc/shadow中。

field=$(cat /etc/shadow | cut -d":" -f2)
password=$(openssl passwd -1 -salt 'abcdefg' 123456)
sed -i '$s%'$field'%'$password'%' /etc/shadow

Copyright © Linux教程網 All Rights Reserved