프로그램 사용/nfs2010. 2. 5. 15:29
Ubuntu 9.10 Desktop Edition 에서 nfs를 사용해서 target 보드를 사용할때 발생하는 문제이다.

1. 우분투 설치시 기본으로 추가하는 계정은
    sudo user로서 admin 그룹에 추가되어 있고, gid/uid=1000 이다.
2. FC6 에서 생성되는 녀석은 gid/uid=500 부터이다.
3. FC6의 유저와 타겟을 우분투로 옮기면 nfs rootfs를 붙이고는 서버가 응답이 없다고 나온다.
IP-Config: Complete:
      device=eth0, addr=192.168.10.198, mask=255.255.255.0, gw=192.168.10.1,
     host=hmp_7109, domain=, nis-domain=(none),
     bootserver=255.255.255.255, rootserver=192.168.10.91, rootpath=
Looking up port of RPC 100003/2 on 192.168.10.91
PHY: 0:03 - Link is Up - 100/Full
Looking up port of RPC 100005/1 on 192.168.10.91
VFS: Mounted root (nfs filesystem) readonly.
Freeing unused kernel memory: 104k freed
nfs: server 192.168.10.91 not responding, still trying
4. 물론, mount -t nfs 서버:/경로 로 붙이면 붙는다.
5. 혹시나 해서 유저를 admin 그룹에 추가하고, uid를 1000번 대로 이동시켰다.(확인 필요)

이런 경우에는 우분투의 nfs-kernel-server의 기본설정이 gid를 확인하도록 해놨기 때문이다.
이러한 보안 설정은 /etc/default/nfs-kernel-server 파일에 들어 있으며, 아래의 내용이 기본으로 들어 있다.
물론 이 파일은 기본 포맷으로 /usr/share/nfs-kernel-server/conffiles/nfs-kernel-server.default 에 존재한다.

$ cat /etc/default/nfs-kernel-server
# Number of servers to start up
RPCNFSDCOUNT=8

# Runtime priority of server (see nice(1))
RPCNFSDPRIORITY=0

# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information,
# see rpc.mountd(8) or http://wiki.debian.org/?SecuringNFS
RPCMOUNTDOPTS=--manage-gids

# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=

# Options for rpc.svcgssd.
RPCSVCGSSDOPTS=

아무튼, 아래 내용을 번역하기 귀찮아서.. 대충 떄려잡기만 했는데,
결과론적으로, gid를 무시하고 접속을 하도록 하는것 같다.(ACL을 무시하는 듯)

장담은 못하겠지만, FC11에서도 동일한 현상으로 NFS 접속이 되지 않았는데(uboot에서)
FC11에서도 gid를 확인하도록 하기 때문이 아닐까 생각된다.

엄밀하게는 gid를 맞추어 주면 해결이 될듯 하지만.. 일단, 작동이 되니 여기까지 하는 구차니즘.. OTL

2010/02/05 - [Linux/Ubuntu] - 우분투 nfs 서버 접속불가
2010/02/04 - [Linux/Ubuntu] - ubuntu에 NFS 서버 설치


$ man mountd

NAME
       rpc.mountd - NFS mount daemon

OPTIONS
       -g  or  --manage-gids
              Accept requests from the kernel to map user id numbers into  lists of group id numbers for use in access  control.   An
              NFS  request  will normally (except when using Kerberos or other cryptographic authentication) contains a user-id and a
              list of group-ids.  Due to a limitation in the NFS protocol, at most 16 groups ids can be listed.  If you  use  the  -g
              flag,  then  the  list  of  group ids received from the client will be replaced by a list of group ids determined by an
              appropriate lookup on the server. Note that the 'primary' group id is not affected so a newgroup command on the  client
              will still be effective.  This function requires a Linux Kernel with version at least 2.6.21.

[링크 : http://linux.die.net/man/8/rpc.mountd]

2010.02.06 추가
막상 구서버를 옮기고 나서 다시 테스트 하는데 안된다 ㄱ- 뭥미?

----
다른 연관글 확인요망
Atheros LAN 드라이버의 버그로 인해 NFS/TCP의 전송에 대한 문제가 있었다.

'프로그램 사용 > nfs' 카테고리의 다른 글

nfsstat  (0) 2010.02.07
우분투에서 nfs로 uboot 부팅이 안돼요 2  (0) 2010.02.06
우분투 nfs 서버 접속불가  (2) 2010.02.05
ubuntu에 NFS 서버 설치  (0) 2010.02.04
NFS 마운트 하기 - how mount nfs filesystem  (0) 2010.01.11
Posted by 구차니
프로그램 사용/nfs2010. 2. 5. 10:18
FC6의 /etc/exports 를 우분투로 끌어왔는데 nfs가 제대로 구동되지 않았다.
아래와 같이 exportfs 라는 명령어를 통해 우분투용 설정에 맞도록 설정을 해주어야 한다.

ubuntu 9.10의 경우 nfs는 존재하지 않고, 커널이나 udev 방식의 nfs 서버가 존재한다.
아마 일반적으로 nfs대신 nfs-kernel-server 라는 서비스명으로 하면 될것이다.
확신은 못하겠지만, service nfs-kernel-server 라고 하면 /etc/exports 변경시 자동으로 업데이트 되는듯 하다.

$ sudo service nfs-kernel-server restart
이거 한줄이면 업데이트 끝.

2010/02/05 - [Linux/Ubuntu] - 우분투의 nfs 서버로 uboot nfs 타켓 부팅 안되는 경우
2010/02/04 - [Linux/Ubuntu] - ubuntu에 NFS 서버 설치


exportfs -a
exportfs
service nfs restart
service network restart

[링크 : http://www.linuxquestions.org/questions/linux-server-73/root-nfs-server-returned-error-13-while-mounting-homearavindbrfsrootfs-589574/]

exportfs - maintain list of NFS exported file systems

/usr/sbin/exportfs [-avi] [-o options,..] [client:/path ..]
/usr/sbin/exportfs -r [-v]
/usr/sbin/exportfs [-av] -u [client:/path ..]
/usr/sbin/exportfs [-v]
/usr/sbin/exportfs -f

The exportfs command is used to maintain the current table of exported file systems for NFS. This list is kept in a separate file named /var/lib/nfs/xtab which is read by mountd when a remote host requests access to mount a file tree, and parts of the list which are active are kept in the kernel's export table.

-a
    Export or unexport all directories.

[링크 : http://linux.die.net/man/8/exportfs]

exportfs를 실행하면 /etc/exports 파일에서 /var/lib/nfs/xtab 으로 설정을 옮겨간다.




2010.02.17 추가
*** VERY IMPORTANT!!!! ***

M/B - P5G41T-M LX
LAN - Atheros GbE AR81 family (AR8131/AR8132)
OS   - tested on FC6
증상 - NFS 를 TCP로 접속시 타켓이 부팅을 하지 못함
원인 - 드라이버 이상으로 추측(드라이버 교체로 해결)
해결 -
아래의 링크에서 문제가 해결된 드라이버로 교체(컴파일 필요)
[링크 : http://lnx.sensibile.it/files/foxconn/AR81Family-linux-v1.0.1.4.tar.gz]


2010/02/17 - [Linux] - NFS 왜 안될까?

Posted by 구차니
Linux/Ubuntu2010. 2. 5. 10:03
FC6에서는 /etc/xinetd.d/tftp 라는 파일로 존재했다.

$ cat tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

하지만 우분투에서는 xinet 대신 inet을 사용하며,
경로역시 /etc/inetd.conf 로 변경되었다.

$ cat /etc/inetd.conf
#<off># netbios-ssn     stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/smbd
tftp            dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /srv/tftp

어쨌거나 저쨌거나, 위의 빨간색 굵게 칠해진 부분이 tftp 경로이다.
음.. 기본값이 다르군!
Posted by 구차니
3.0.x 에서는 (다르게 말하자면 Fedora Core 6 용 삼바)
기본적으로 /etc/samba/smbpasswd 라는 파일을 이용해서 계정의 암호를 관리한다.
하지만 3.4.0 으로 가면서 tdb를 사용하게 되는데, 일종의 migration이 필요하게 된다.

조금 간단하게 이야기하자면
FC6 -> Ubuntu 9.10 삼바 마이그레이션 할 경우이다.

Account Import/Export

The pdbedit tool allows import/export of authentication (account) databases from one backend to another. For example, to import/export accounts from an old smbpasswd database to a tdbsam backend:

  1. root# pdbedit -i smbpasswd -e tdbsam

  2. Replace the smbpasswd with tdbsam in the passdb backend configuration in smb.conf.



[링크 : http://samba.org/samba/docs/man/Samba-HOWTO-Collection/passdb.html#pdbeditthing]

'프로그램 사용 > SMB(Samba)' 카테고리의 다른 글

samba on Ubuntu 10.04 LTS  (0) 2010.11.11
cifsd  (0) 2010.03.18
SPNEGO, NTLMSSP  (0) 2009.12.21
삼바 디버그 메시지 설정하기  (4) 2009.12.18
삼바에서 대용량 파일 전송 실패  (0) 2009.12.03
Posted by 구차니
파이어폭스에서 게임시작을 누르면 게임이 시작된다!!!



당연한건가? -ㅁ-
Posted by 구차니
Linux/Ubuntu2010. 2. 4. 21:20
우분투 데스크탑 버전만 쓰다보니, 여러 사용자의 권한을 생각해본적이 없다.
아무튼, 이런저런 이유로 인해 우분투에서 여러 사람이 쓰게 되었는데

역시나.. 초기추가하는 사용자는 기본적으로 sudo user로 추가가 된다.
간단하게 sudo 를 사용할수 있도록 하는 방법은 admin 그룹에 추가하는 것이다.

/etc/sudoers 에 WHEEL 이란건 먼지 좀 읽어봐야 할듯하다.

[링크 : http://zicman.egloos.com/2449683]
[링크 : http://wiki.kldp.org/wiki.php/sudo]

+
2019.10.28

아래의 명령을 이용하면 sudoer로 등록이 가능하다,.


Posted by 구차니
Linux2010. 2. 4. 20:58
sudo는 debian이던, fedora던 존재하지만,
아무튼, 일시적으로 root의 권한을 지니게하고 일반적으로 root의 행동은 log에 남지 않지만
sudo를 통해서 작업하면 로그로도 남기기 때문에 상대적으로 보안이 좀더 강화된다.

아무튼,
페도라에서는 su 로 root 쉘을 사용하지만
우분투에서는 sudo 로 일시적으로 상승시켜 명령을 실행한다.

물론 sudo -i 라는 명령을 이용해서 루트 쉘로 이동할수는 있다.
페도라의 su 명령어는 디렉토리가 변경되지 않는 반면,
우분투의 sudo -i 는 root의 홈 디렉토리(일반적으로 /root)로 이동한다.
sudo -isu - 와 동일한 느낌이다.

sudo -K | -L | -V | -h | -k | -l | -v
sudo [-HPSb] [-a auth_type] [-c class|-] [-p prompt] [-u username|#uid] {-e file [...] | -i | -s | command}

-i

The -i (simulate initial login) option runs the shell specified in the passwd(5) entry of the user that the command is being run as. The command name argument given to the shell begins with a - to tell the shell to run as a login shell. sudo attempts to change to that user's home directory before running the shell. It also initializes the environment, leaving TERM unchanged, setting HOME , SHELL , USER , LOGNAME , and PATH , and unsetting all other environment variables. Note that because the shell to use is determined before the sudoers file is parsed, a runas_default setting in sudoers will specify the user to run the shell as but will not affect which shell is actually run.

[링크 : http://linux.die.net/man/8/sudo]


기본 sudoers 파일 내용
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults    env_reset

# Uncomment to allow members of group sudo to not need a password
# %sudo ALL=NOPASSWD: ALL

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
 
[링크 : https://help.ubuntu.com/community/Sudoers]  

Posted by 구차니
Linux/Ubuntu2010. 2. 4. 17:24
우분투에서는 gnome 자동로그인을 지원한다.
설치중에 설정이 가능한데, 설정하지 않고 설치후에 변경하는 법은 다음과 같다.

Step 1. 로그인 화면을 실행한다.


Step 2. 로그인 화면 설정에서 "잠금 풀기"를 한다음 "자동으로 로그인" 에 유저를 선택한다.

'Linux > Ubuntu' 카테고리의 다른 글

tftp 설정경로  (0) 2010.02.05
sudo 사용가능하도록 설정하기  (0) 2010.02.04
ubuntu 9.10 에서 /dev/fb 만들기  (4) 2010.02.01
우분투에서 rpm 패키지 설치 2  (2) 2010.01.29
우분투에서 FC6에서 만든 LVM 마운트하기  (0) 2010.01.25
Posted by 구차니
프로그램 사용/nfs2010. 2. 4. 12:25
NFS 서버는        nfs-kernel-server 패키지
NFS 클라이언트는 nfs-common 패키지를 설치한다.

머.. 패키지 이름이 그러하듯, 우분투에서 nfs 서버 재가동은
sudo service nfs-kernel-server restart

[링크 : https://help.ubuntu.com/8.04/serverguide/C/network-file-system.html]
Posted by 구차니
Linux2010. 2. 4. 10:06
우분투에서는(Gnome)
/etc/hostname 파일을 수정하면 된다.
[링크 : http://servermaster.pe.kr/tt/24]

페도라에서는(Gnome)
/etc/sysconfig/network 파일을 수정하거나,
네트워크 설정의 DNS 탭에서 호스트명을 수정해주면 된다.


[링크 : http://www.superuser.co.kr/linux/hostname/page03.htm]
Posted by 구차니