본문 바로가기

개발/unix

solaris 정리 3 - [ Managing Initialization Files,Managing User Accounts ]

Managing Initialization Files

- Intialization Files for the Primary Shells
Shells
System-Wide
Initialization Files
Primary Initialization
Files Read at Login
User Initialization Files Read When a New Shell is Started
Shell Path Name
Bourne
/etc/profile
$HOME/.profile
 
/sbin/sh
Korn
/etc/profile
$HOME/.profile
$HOME/.kshrc
$HOME/.kshrc
/bin/ksh
C
/etc/.login
$HOME/.cshrc
$HOME/.login
$HOME/.cshrc
/bin/csh

- Default User Initialization Files
Shell
Initialization File Templates
User Initialization Files
Bourne
/etc/skel/local.profile
$HOME/.profile
Korn
/etc/skel/local.profile
$HOME/.profile
C
/etc/skel/local.cshrc
/etc/skel/local.login
$HOME/.cshrc
$HOME/.login

- Login Variable
변수명
Set By
Description
LOGNAME
Login
Defines the user's login name.
HOME
Login
Sets the path to the user's home directory. It is the default
argument for the cd command.
SHELL
Login
Sets the path to the default shell.
PATH
Login
Sets the default that the shell searches to find commands.
MAIL
Login
Sets the path to the users's mailbox.
TERM
Login
Defines the terminal.
LPDEST
Not set by default
Sets the user's default printer.
PWD
Shell
Defines the current working directory.
PS1
Shell
Defines the shell prompt for the Bourne or Kornn shell.
prompt
Shell
Defines the shell prompt for the C shell.





Managing User Accounts
1) 파일 관리
/etc/passwd
/etc/shadow
/etc/group

- /etc/passwd 파일
Field in the /etc/passwd File
loginID:x:UID:GID:comment:home_directory:login_shell
Field
loginID
x
UID
GID
comment
home_directory
login_shell
Description
user's login name
user's encrypted password, /etc/shadow에 보존.
100~60000 : 사용 가능.
0~99 : system accounts.
60001 : nobody
60002 : noaccess
100~60000 : 사용 가능.
0~99 : system accounts.
user's full name
user's home directory
user's login shell. ( /sbin/sh or /bin/ksh or /bin/csh )

Default System Account Entries
User Name
root
daemon
bin
sys
adm
lp
uucp
nuucp
smmsp
listen
nobody
noaccess
nobody4
UID
Description
0
root account (access to the entire system)
1
routine(독립적으로 명령을 수행할 수 있는 명령어 집단) system tasks.
2
running system binary files
3
system logging or updating files in temporary directories
4
system logging
71
line printer
5
UNIX-to-UNIX Copy Protocol 기능.
6
remote systems to log in to the host and start file transfers.
25
sendmail message submission
37
network listener
60001
인증되지 않는 root 사용자가 요청시 NFS에 의해 할당 받는다.
software processes that do not need any special permissions.
60002
a user or a process that access to a system through some application instead of through a system login procedure.
65534
SunOSTM 4.0 or 4.1 software version of the nobody account.

- /etc/shadow 파일
loginID:password:lastchg:min:max:warn:inactive:expire
Field
loginID
password
lastchg
min
max
warn
inactive
expire
Description
user's login name
A 13-charactoer encrypted password.
the last password modification date.
이 기간동안 password를 바꾸지 마라.
이 기간내에 password를 바꿔라.
정해진 기간 며칠전에 password 변경 권고창을 띄운다.
일정기간 동안 login을 하지 않으면 lock을 건다.
password 만료. login이 할 수 없다.

- /etc/groups 파일
groupname:group-password:GID:username-list

- /etc/default/passwd 파일
/etc/shadow에 먼저 등록이 되어 있으면 /etc/default/passwd의 내용은 무시된다.
Field
MAXWEEKS
MINWEEKS
PASSLENGTH
WARNWEEKS
Description
이 기간내에 password를 바꿔라.
이 기간동안 password를 바꾸지 마라.
password 길이 = 6 or 7 or 8 사용 가능
password가 만료되기 전에 경고창을 띄워라. default로 이 필드가 존재하지 않으므로 생성해 주어야 한다.


2) Managin User Accounts
- useradd 명령어
# useradd -u 100 -g other -m -d /export/home/blackbat -s /bin/ksh
   -c "blackbat home" blackbat
# passwd blackbat
# passwd -l blackbat  (lock 걸기)
# passwd -d blackbat  (lock 풀기, passwd가 지워지므로 다시 설정해준다.)
# useradd -D  (/usr/sadm/defadduser 파일 생성. 편집기로 default 정의 가능)

/home에 계정 만들기
# vi /etc/auto_master
  #home ...... (home에 ‘#’ 표시 해 준다.)
# automount -v
or
# /etc/init.d/autofs stop

- usermod 명령어
# usermod -m -d /export/home/newblack -l newblack blackbat
  (blackbat에서 newblack으로 login name과 home directory를 변경한다. passwd는 변경    되지 않는다.)

- userdel 명령어
# userdel blackbat
# userdel -r blackbat  (home directory까지 삭제)

- groupadd, groupmod, groupdel 명령어
# groupadd -g 301 class
# groupmod -g 400 class
# groupdel class